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,
    },
}
Expand description

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

Variants§

§

NoteOn

Fields

§note: u8

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

§velocity: u8

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

Turn on a note

§

NoteOff

Fields

§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

Turn off a note

§

ControlChange

Fields

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

§

HighResNoteOn

Fields

§note: u8
§velocity: u16

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

§

HighResNoteOff

Fields

§note: u8
§velocity: u16

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

§

PolyPressure

Fields

§note: u8

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

§pressure: u8

The amount of pressure to apply, 0-127

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”.

§

ChannelPressure

Fields

§pressure: u8

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

§

ProgramChange

Fields

§program: u8

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

§

PitchBend

Fields

§bend: u16

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

Trait Implementations§

source§

impl Clone for ChannelVoiceMsg

source§

fn clone(&self) -> ChannelVoiceMsg

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ChannelVoiceMsg

source§

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

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

impl PartialEq for ChannelVoiceMsg

source§

fn eq(&self, other: &ChannelVoiceMsg) -> 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 Copy for ChannelVoiceMsg

source§

impl Eq for ChannelVoiceMsg

source§

impl StructuralPartialEq for ChannelVoiceMsg

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

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> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

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

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
source§

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

Performs the conversion.