forked from mirrors/gecko-dev
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
25 lines
732 B
Rust
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();
|
|
}
|