{"repo":"Boddlnagg/midir","free":true,"listed":false,"github":"https://github.com/Boddlnagg/midir","clone":"git clone https://github.com/Boddlnagg/midir.git","description":"Cross-platform realtime MIDI processing in Rust.","language":"Rust","stars":821,"topics":["rust","cross-platform","midi","rust-bindings","audio","library"],"license":"MIT","category":"media-processing","readme_excerpt":"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: - [x] ALSA (Linux) - [x] WinMM (Windows) - [x] CoreMIDI (macOS, iOS) - [x] WinRT (Windows 8+), enable the winrt feature - [x] Jack (Linux, macOS), enable the jack feature - [x] Web MIDI (Chrome, Opera, perhaps others browsers) - [x] Android (API 29+, NDK AMidi + JNI) 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. Android - Requires Android API 29+ and the Android NDK (r20b+). - Build (example, to remove before merging): - Install: cargo install cargo-ndk - Targets: rustup target add aarch64-linux-android - Build: cargo ndk -t arm64-v8a -o ./app/src/main/jniLibs build --release - Permissions/features: - Manifest should declare (not needed for USB/BLE MIDI).","default_branch":null,"files":null,"tree":[],"storefront":"/r/Boddlnagg","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Boddlnagg/midir/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}