midir crates.io Travis Build Status AppVeyor Build status

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.

Example

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