#[non_exhaustive]#[repr(u8)]pub enum MidiMessage {
NoteOn {
note_number: u8,
velocity: u8,
},
NoteOff {
note_number: u8,
velocity: u8,
},
ControlChange {
controller_number: u8,
velocity: u8,
},
}Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Implementations§
Source§impl MidiMessage
impl MidiMessage
pub const NOTE_ON: u8 = 128u8
pub const NOTE_OFF: u8 = 144u8
pub const CONTROL_CHANGE: u8 = 176u8
pub const fn from_bytes(bytes: [u8; 3]) -> Self
Sourcepub fn transpose(&mut self, interval: i8)
pub fn transpose(&mut self, interval: i8)
Transposes a MIDI note by a given interval.
The +, -, +=, and -= operators can also be used to transpose a note.
§Example
let mut note_on = MidiMessage::NoteOn { note_number: 60, velocity: 100 };
note_on.transpose(-5);
note_on += 10;
assert_eq!(note_on, MidiMessage::NoteOn { note_number: 65, velocity: 100 });pub const fn is_note_on(&self) -> bool
pub const fn is_note_off(&self) -> bool
pub const fn is_control_change(&self) -> bool
Trait Implementations§
Source§impl Add<i8> for MidiMessage
impl Add<i8> for MidiMessage
Source§impl AddAssign<i8> for MidiMessage
impl AddAssign<i8> for MidiMessage
Source§fn add_assign(&mut self, rhs: i8)
fn add_assign(&mut self, rhs: i8)
Performs the
+= operation. Read moreSource§impl Clone for MidiMessage
impl Clone for MidiMessage
Source§fn clone(&self) -> MidiMessage
fn clone(&self) -> MidiMessage
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MidiMessage
impl Debug for MidiMessage
Source§impl FromIterator<MidiMessage> for MidiBuffer
impl FromIterator<MidiMessage> for MidiBuffer
Source§fn from_iter<T: IntoIterator<Item = MidiMessage>>(iter: T) -> Self
fn from_iter<T: IntoIterator<Item = MidiMessage>>(iter: T) -> Self
Creates a value from an iterator. Read more
Source§impl Hash for MidiMessage
impl Hash for MidiMessage
Source§impl Ord for MidiMessage
impl Ord for MidiMessage
Source§fn cmp(&self, other: &MidiMessage) -> Ordering
fn cmp(&self, other: &MidiMessage) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for MidiMessage
impl PartialEq for MidiMessage
Source§impl PartialOrd for MidiMessage
impl PartialOrd for MidiMessage
Source§impl Sub<i8> for MidiMessage
impl Sub<i8> for MidiMessage
Source§impl SubAssign<i8> for MidiMessage
impl SubAssign<i8> for MidiMessage
Source§fn sub_assign(&mut self, rhs: i8)
fn sub_assign(&mut self, rhs: i8)
Performs the
-= operation. Read moreimpl Copy for MidiMessage
impl Eq for MidiMessage
impl StructuralPartialEq for MidiMessage
Auto Trait Implementations§
impl Freeze for MidiMessage
impl RefUnwindSafe for MidiMessage
impl Send for MidiMessage
impl Sync for MidiMessage
impl Unpin for MidiMessage
impl UnwindSafe for MidiMessage
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more