Enum midi_msg::MidiMsg[][src]

pub enum MidiMsg {
    ChannelVoice {
        channel: Channel,
        msg: ChannelVoiceMsg,
    },
    RunningChannelVoice {
        channel: Channel,
        msg: ChannelVoiceMsg,
    },
    ChannelMode {
        channel: Channel,
        msg: ChannelModeMsg,
    },
    RunningChannelMode {
        channel: Channel,
        msg: ChannelModeMsg,
    },
    SystemCommon {
        msg: SystemCommonMsg,
    },
    SystemRealTime {
        msg: SystemRealTimeMsg,
    },
    SystemExclusive {
        msg: SystemExclusiveMsg,
    },
}

The primary interface of this library. Used to encode MIDI messages.

Variants

ChannelVoice

Channel-level messages that act on a voice.

Fields of ChannelVoice

channel: Channelmsg: ChannelVoiceMsg
RunningChannelVoice

Like ChannelVoice, but with the first “status” byte of the message omitted. When these “running status” messages are sent, the receiver must treat them as implicitly referring to the previous “status” received.

For instance, if a ChannelVoiceMsg::NoteOn message is received, and then the next message does not contain a status byte, it implicitly refers to a ChannelVoiceMsg::NoteOn.

Fields of RunningChannelVoice

channel: Channelmsg: ChannelVoiceMsg
ChannelMode

Channel-level messages that should alter the mode of the receiver.

Fields of ChannelMode

channel: Channelmsg: ChannelModeMsg
RunningChannelMode

Like RunningChannelVoice but for ChannelMode

Fields of RunningChannelMode

channel: Channelmsg: ChannelModeMsg
SystemCommon

A fairly limited set of messages, generally for device synchronization.

Fields of SystemCommon

msg: SystemCommonMsg
SystemRealTime

Another limited set of messages used for device synchronization.

Fields of SystemRealTime

msg: SystemRealTimeMsg
SystemExclusive

The bulk of the MIDI spec lives here, in “Universal System Exclusive” messages. Also the home of manufacturer-specific messages.

Fields of SystemExclusive

msg: SystemExclusiveMsg

Implementations

impl MidiMsg[src]

pub fn to_midi(&self) -> Vec<u8>[src]

Turn a MidiMsg into a series of bytes.

pub fn messages_to_midi(msgs: &[Self]) -> Vec<u8>[src]

Turn a set of MidiMsgs into a series of bytes, with fewer allocations than repeatedly concatenating the results of to_midi.

pub fn extend_midi(&self, v: &mut Vec<u8>)[src]

Given a Vec<u8>, append this MidiMsg to it.

Trait Implementations

impl Clone for MidiMsg[src]

impl Debug for MidiMsg[src]

impl PartialEq<MidiMsg> for MidiMsg[src]

impl StructuralPartialEq for MidiMsg[src]

Auto Trait Implementations

impl RefUnwindSafe for MidiMsg

impl Send for MidiMsg

impl Sync for MidiMsg

impl Unpin for MidiMsg

impl UnwindSafe for MidiMsg

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.