midir
Cross-platform, realtime MIDI processing in Rust.
Features
midir is inspired by RtMidi and supports the same features*, including virtual ports (except on Windows) and full SysEx support β but with a rust-y API!
* With the exception of message queues, but these can be implemented on top of callbacks using e.g. Rust's channels.
midir currently supports the following platforms/backends:
- ALSA (Linux)
- WinMM (Windows)
- CoreMIDI (macOS, iOS (untested))
- WinRT (Windows 8+), enable the
winrt
feature - Jack (Linux, macOS), enable the
jack
feature - Web MIDI (Chrome, Opera, perhaps others browsers)
A higher-level API for parsing and assembling MIDI messages might be added in the future.
Documentation & Example
API docs can be found at docs.rs. You can find some examples in the examples
directory. Or simply run cargo run --example test_play
after cloning this repository.