Enum midi_msg::ChannelVoiceMsg
source · [−]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
control: ControlChange
Generally used for modifying the tones being played. Frequently shortened to ‘CC’
HighResNoteOn
A note on with a preceding HighResVelocity CC per CA-031
HighResNoteOff
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
sourceimpl Clone for ChannelVoiceMsg
impl Clone for ChannelVoiceMsg
sourcefn clone(&self) -> ChannelVoiceMsg
fn clone(&self) -> ChannelVoiceMsg
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more