fune/third_party/rust/coremidi/examples/properties.rs
Gabriele Svelto ee6325f662 Bug 1728436 - Vendor the midir crate r=padenot
This is as close to usptream as currently possibly. Only a few changes were
done to the dependencies: the wasm target was removed and the coremidi
dependency was updated to pick up a more recent version so that we don't need
to vendor separate versions of the core-foundation and core-foundation-sys
crates.

This vendors the following crates:
* alsa-sys
* alsa
* coremidi
* coremidi-sys
* memalloc
* midir

Overall this adds ~30K lines of code, over half of which is in the alsa
bindings alone.

Differential Revision: https://phabricator.services.mozilla.com/D124640
2021-12-21 11:34:51 +00:00

25 lines
732 B
Rust

extern crate coremidi;
use coremidi::{Client, PacketList, Properties, PropertyGetter, PropertySetter};
fn main() {
let client = Client::new("Example Client").unwrap();
let callback = |packet_list: &PacketList| {
println!("{}", packet_list);
};
// Creates a virtual destination, then gets its properties
let destination = client
.virtual_destination("Example Destination", callback)
.unwrap();
println!("Created Virtual Destination...");
// How to get a property
let name: String = Properties::name().value_from(&destination).unwrap();
println!("With Name: {}", name);
// How to set a property
Properties::private().set_value(&destination, true).unwrap();
}