Crate midi_control

source ·
Expand description

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

Modules

  • Constants for dealing with midi events. Currently, only channel events are supported.
  • MIDI messages
  • Utilities to handle MIDI notes.
  • System Exclusive specific
  • Transport for MIDI
  • Vendor specific MIDI support.

Functions