use coremidi::{Client, EventList, Properties, Protocol};
fn main() {
let client = Client::new("Example Client").unwrap();
let callback = |event_list: &EventList| {
println!("{:?}", event_list);
};
let destination = client
.virtual_destination_with_protocol("Example Destination", Protocol::Midi20, callback)
.unwrap();
println!("Created Virtual Destination:");
println!(" Display Name: {}", destination.display_name().unwrap());
println!(
" Protocol ID: {}",
destination
.get_property::<i32>(&Properties::protocol_id())
.unwrap()
);
destination
.set_property(&Properties::private(), true)
.unwrap();
println!(
" Private: {}",
destination
.get_property::<bool>(&Properties::private())
.unwrap()
);
destination
.set_property_string("my-own-string-property", "my-value")
.unwrap();
println!(
" My own string property: {}",
destination
.get_property_string("my-own-string-property")
.unwrap()
)
}