pub enum MidiMessage {
    Invalid,
    NoteOn(Channel, KeyEvent),
    NoteOff(Channel, KeyEvent),
    PolyKeyPressure(Channel, KeyEvent),
    ControlChange(Channel, ControlEvent),
    ProgramChange(Channel, u8),
    ChannelPressure(Channel, u8),
    PitchBend(Channel, u8, u8),
    SysEx(SysExEvent),
}
Expand description

MIDI messages are what is being sent or received on the MIDI system

Variants§

§

Invalid

We don’t know that message.

§

NoteOn(Channel, KeyEvent)

Note on.

§

NoteOff(Channel, KeyEvent)

Note off.

§

PolyKeyPressure(Channel, KeyEvent)

Pressure for notes (aftertouch).

§

ControlChange(Channel, ControlEvent)

Control value changed.

§

ProgramChange(Channel, u8)

Program change.

§

ChannelPressure(Channel, u8)

Channel pressure.

§

PitchBend(Channel, u8, u8)

Pitch bending. LSB and MSB of the change.

§

SysEx(SysExEvent)

System extension event.

Implementations§

source§

impl MidiMessage

source

pub fn get_channel(&self) -> Channel

Return the channel of the MIDI command This is a convenience helper to avoid having to destructure. Note: a SysEx message doesn’t have a channel.

Trait Implementations§

source§

impl Debug for MidiMessage

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<&[u8]> for MidiMessage

source§

fn from(data: &[u8]) -> MidiMessage

Create a MidiMessage from raw data as received from the MIDI driver.

source§

impl From<MidiMessage> for Vec<u8>

source§

fn from(message: MidiMessage) -> Vec<u8>

Convert the MidiMessage into a raw buffer suited to be sent, to the MIDI device. An empty vector mean nothing could be made.

source§

impl PartialEq<MidiMessage> for MidiMessage

source§

fn eq(&self, other: &MidiMessage) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for MidiMessage

source§

impl StructuralEq for MidiMessage

source§

impl StructuralPartialEq for MidiMessage

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.