fune/third_party/rust/coremidi/examples/endpoints.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

24 lines
657 B
Rust

extern crate coremidi;
fn main() {
println!("System destinations:");
for (i, destination) in coremidi::Destinations.into_iter().enumerate() {
let display_name = get_display_name(&destination);
println!("[{}] {}", i, display_name);
}
println!();
println!("System sources:");
for (i, source) in coremidi::Sources.into_iter().enumerate() {
let display_name = get_display_name(&source);
println!("[{}] {}", i, display_name);
}
}
fn get_display_name(endpoint: &coremidi::Endpoint) -> String {
endpoint
.display_name()
.unwrap_or_else(|| "[Unknown Display Name]".to_string())
}