1use std::time::Duration;
5
6use libmapper_rs::{constants::{mpr_prop, mpr_type}, graph::Graph, object::MapperObject};
7
8fn main() {
11 let graph = Graph::create();
12 let mut count = 0;
13
14 graph.subscribe(None, &[mpr_type::MPR_DEV, mpr_type::MPR_SIG]);
16
17 loop {
18
19 graph.poll_and_block(Duration::from_millis(100));
20 let list = graph.get_devices();
21
22 if list.len() != 0 {
23 for dev in list {
24 println!("Device: {}", dev.get_property_str(mpr_prop::MPR_PROP_NAME).unwrap());
25 let signals = dev.get_signals(libmapper_rs::constants::mpr_dir::MPR_DIR_ANY);
26 for sig in signals {
27 println!("\tSignal: {}", sig.get_property_str(mpr_prop::MPR_PROP_NAME).unwrap());
28 println!("\t\tType: {:?}", sig.get_property::<mpr_type>(mpr_prop::MPR_PROP_TYPE).unwrap());
29 println!("\t\tVector Length: {:?}", sig.get_vector_length());
30 println!("\t\tMin: {:?}", sig.get_property::<f32>(mpr_prop::MPR_PROP_MIN));
31 println!("\t\tMax: {:?}", sig.get_property::<f32>(mpr_prop::MPR_PROP_MAX));
32 println!("\t\tUnit: {:?}", sig.get_property_str(mpr_prop::MPR_PROP_UNIT));
33 println!("\t\tNum instances: {:?}", sig.get_property::<i32>(mpr_prop::MPR_PROP_NUM_INST).unwrap());
34 println!("");
35 }
36 }
37 break;
38 }
39
40 println!("Loop {}", count);
41 count += 1;
42 }
43
44}