Crates.io | portmidi |
lib.rs | portmidi |
version | 0.3.0 |
source | src |
created_at | 2015-01-04 20:19:42.371955 |
updated_at | 2023-07-13 09:56:06.175542 |
description | High-level PortMidi bindings for Rust |
homepage | https://github.com/musitdev/portmidi-rs |
repository | https://github.com/musitdev/portmidi-rs |
max_upload_size | |
id | 707 |
size | 61,607 |
High-level PortMidi bindings for Rust.
PortMidi website: http://portmedia.sourceforge.net/portmidi/
Add this to your Cargo.toml
.
[dependencies]
portmidi = "^0.2"
You need to make sure you have the PortMidi library installed.
On Ubuntu / Debian:
apt-get install libportmidi-dev
Arch Linux:
pacman -S portmidi
On OSX (Homebrew):
brew install portmidi
On OSX, if you get a linker error ld: library not found for -lportmidi
, either,
make sure you have the Xcode Command Line Tools installed, not just Xcode, or
make sure you have the PortMidi library in your $LIBRARY_PATH
, e.g. for Homebrew:
export LIBRARY_PATH="$LIBRARY_PATH:/usr/local/lib"
Examples can be run by cloning the repository and running cargo run --example <example name>
.
play
: demonstrates midi output by playing Twinkle Twinkle Little Star (forever...)monitor
: demonstrate midi inputmonitor-all
: listens on all-input devices and uses threads and channelsExample: cargo run --example play -- 1 --verbose
Both play
and monitor
need a device number supplied, run them without an argument to get a list of the connected devices, e.g.
Licensed under either of
Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.