[−][src]Crate midi_control
MIDI control is a crate to allow creating MIDI message to control MIDI messages.
Example
To simply prepare a Note On message for note 60 (Middle C) at maximum velocity:
use midi_control::*; let message = midi_control::note_on(Channel::Ch1, 60, 127); let buffer: Vec<u8> = message.into(); /* send the buffer to your MIDI device */
If you have the transport
feature enabled, you can use midir directly
to send the same message.
use midi_control::*; use midi_control::transport::MidiMessageSend; // to use the trait let message = midi_control::note_on(Channel::Ch1, 60, 127); // midi_out is a midir::MidiOutputConnection midi_out.send_message(message);
Re-exports
pub use crate::message::Channel; |
pub use crate::message::ControlEvent; |
pub use crate::message::KeyEvent; |
pub use crate::message::MidiMessage; |
pub use crate::message::SysExEvent; |
pub use crate::note::MidiNote; |
pub use crate::transport::MidiMessageSend; |
Modules
consts | Constants for dealing with midi events. Currently, only channel events are supported. |
message | MIDI messages |
note | Utilities to handle MIDI notes. |
sysex | System Exclusive specific |
transport | Transport for MIDI |
vendor | Vendor specific MIDI support. |
Functions
channel_pressure | Create a Channel Pressure message |
control_change | Create a Control Change message |
non_rt_usysex | |
note_off | Create a Note Off message |
note_on | Create a Note On message |
pitch_bend | Create a Pitch Bend message |
poly_key_pressure | Create a Poly Key Pressure message |
program_change | Create a Program Change message |