Enum midi_msg::ChannelVoiceMsg[][src]

pub enum ChannelVoiceMsg {
    NoteOn {
        note: u8,
        velocity: u8,
    },
    NoteOff {
        note: u8,
        velocity: u8,
    },
    ControlChange {
        control: ControlChange,
    },
    HighResNoteOn {
        note: u8,
        velocity: u16,
    },
    HighResNoteOff {
        note: u8,
        velocity: u16,
    },
    PolyPressure {
        note: u8,
        pressure: u8,
    },
    ChannelPressure {
        pressure: u8,
    },
    ProgramChange {
        program: u8,
    },
    PitchBend {
        bend: u16,
    },
}

Channel-level messages that act on a voice. For instance, turning notes on off, or modifying sounding notes. Used in MidiMsg.

Variants

NoteOn

Turn on a note

Fields of NoteOn

note: u8

A MIDI note number 0-127. Per GM1, 69 = A440

velocity: u8

The velocity the note should be played at, 0-127

NoteOff

Turn off a note

Fields of NoteOff

note: u8

Stop playing the given MIDI note at this channel, 0-127

velocity: u8

The velocity the note should stop being played at, 0-127

ControlChange

Generally used for modifying the tones being played. Frequently shortened to ‘CC’

Fields of ControlChange

control: ControlChange
HighResNoteOn

A note on with a preceding HighResVelocity CC per CA-031

Fields of HighResNoteOn

note: u8velocity: u16
HighResNoteOff

A note off with a preceding HighResVelocity CC per CA-031

Fields of HighResNoteOff

note: u8velocity: u16
PolyPressure

The amount of pressure being applied to a given note, which is a signal some controllers after an initial NoteOn. Can act on multiple notes at a time, thus it is “polyphonic”.

Fields of PolyPressure

note: u8

The note to apply this pressure signal to, 0-127

pressure: u8

The amount of pressure to apply, 0-127

ChannelPressure

Similar to PolyPressure, but only applies at the channel-level.

Fields of ChannelPressure

pressure: u8
ProgramChange

Which “program”, “patch” or “sound” to use when playing any preceding notes, 0-127. Use GMSoundSet when targeting General MIDI

Fields of ProgramChange

program: u8
PitchBend

Apply a pitch bend to all sounding notes. 0-8191 represent negative bends, 8192 is no bend and8193-16383 are positive bends, with the standard bend rang being +/-2 semitones per GM2. See Parameter::PitchBendSensitivity

Fields of PitchBend

bend: u16

Trait Implementations

impl Clone for ChannelVoiceMsg[src]

impl Copy for ChannelVoiceMsg[src]

impl Debug for ChannelVoiceMsg[src]

impl PartialEq<ChannelVoiceMsg> for ChannelVoiceMsg[src]

impl StructuralPartialEq for ChannelVoiceMsg[src]

Auto Trait Implementations

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.