midir crates.io

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: - [x] ALSA (Linux) - [x] WinMM (Windows) - [ ] CoreMIDI (OS X, iOS), see this issue - [x] Jack (Linux, OS X), use the jack feature

A higher-level API for parsing and assembling MIDI messages might be added in the future.

Does it work on stable Rust? Currently not, but it shouldn't be too hard to change that. (Note: Unstable features are only used on Windows right now.)

Example

Have a look at examples/test.rs and run it directly using cargo run --example test.