#midi #audio #music #sound

midir

A cross-platform, realtime MIDI processing library, inspired by RtMidi

9 unstable releases (4 breaking)

0.5.0 Dec 9, 2017
0.4.0 Sep 27, 2017
0.3.2 Apr 6, 2017
0.3.1 Mar 21, 2017
0.1.1 Aug 11, 2015

#107 in Audio

Download history 27/week @ 2019-12-02 78/week @ 2019-12-09 10/week @ 2019-12-16 20/week @ 2019-12-23 7/week @ 2019-12-30 7/week @ 2020-01-06 116/week @ 2020-01-13 24/week @ 2020-01-20 24/week @ 2020-01-27 24/week @ 2020-02-03 20/week @ 2020-02-10 27/week @ 2020-02-17 52/week @ 2020-02-24 24/week @ 2020-03-02 31/week @ 2020-03-09 31/week @ 2020-03-16

140 downloads per month
Used in 4 crates

MIT license

94KB
2K SLoC

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:

  • ALSA (Linux)
  • WinMM (Windows)
  • CoreMIDI (macOS, iOS (untested))
  • Jack (Linux, macOS), use the jack feature

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.

Dependencies

~52–580KB
~12K SLoC