Struct helgoboss_midi::RawShortMessage
source · [−]pub struct RawShortMessage(_);
Expand description
A short message implemented as a tuple of bytes.
The struct’s size in memory is currently 3 bytes.
Example
use helgoboss_midi::{
Channel, KeyNumber, MessageMainCategory, MessageSuperType, RawShortMessage, ShortMessage,
ShortMessageFactory, ShortMessageType, U7,
};
let msg = RawShortMessage::note_on(Channel::new(5), KeyNumber::new(64), U7::new(123));
assert_eq!(core::mem::size_of_val(&msg), 3);
assert_eq!(msg.status_byte(), 149);
assert_eq!(msg.data_byte_1().get(), 64);
assert_eq!(msg.data_byte_2().get(), 123);
assert_eq!(msg.r#type(), ShortMessageType::NoteOn);
assert_eq!(msg.super_type(), MessageSuperType::ChannelVoice);
assert_eq!(msg.main_category(), MessageMainCategory::Channel);
assert_eq!(msg.channel(), Some(Channel::new(5)));
assert_eq!(msg.key_number(), Some(KeyNumber::new(64)));
assert_eq!(msg.velocity(), Some(U7::new(123)));
assert_eq!(msg.controller_number(), None);
assert_eq!(msg.control_value(), None);
Trait Implementations
sourceimpl Clone for RawShortMessage
impl Clone for RawShortMessage
sourcefn clone(&self) -> RawShortMessage
fn clone(&self) -> RawShortMessage
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for RawShortMessage
impl Debug for RawShortMessage
sourceimpl From<RawShortMessage> for (u8, U7, U7)
impl From<RawShortMessage> for (u8, U7, U7)
sourcefn from(original: RawShortMessage) -> Self
fn from(original: RawShortMessage) -> Self
Converts to this type from the input type.
sourceimpl Hash for RawShortMessage
impl Hash for RawShortMessage
sourceimpl PartialEq<RawShortMessage> for RawShortMessage
impl PartialEq<RawShortMessage> for RawShortMessage
sourcefn eq(&self, other: &RawShortMessage) -> bool
fn eq(&self, other: &RawShortMessage) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &RawShortMessage) -> bool
fn ne(&self, other: &RawShortMessage) -> bool
This method tests for !=
.
sourceimpl ShortMessage for RawShortMessage
impl ShortMessage for RawShortMessage
sourcefn status_byte(&self) -> u8
fn status_byte(&self) -> u8
Returns the status byte.
sourcefn data_byte_1(&self) -> U7
fn data_byte_1(&self) -> U7
Returns the first data byte.
sourcefn data_byte_2(&self) -> U7
fn data_byte_2(&self) -> U7
Returns the second data byte.
sourcefn to_bytes(&self) -> (u8, U7, U7)
fn to_bytes(&self) -> (u8, U7, U7)
Returns the status byte and the two data bytes as a tuple. Read more
sourcefn to_other<O: ShortMessageFactory>(&self) -> O
fn to_other<O: ShortMessageFactory>(&self) -> O
Converts this message to a short message of another type.
sourcefn to_structured(&self) -> StructuredShortMessage
fn to_structured(&self) -> StructuredShortMessage
Converts this message to a StructuredShortMessage
, which is ideal for matching.
sourcefn type(&self) -> ShortMessageType
fn type(&self) -> ShortMessageType
Returns the type of this message.
sourcefn super_type(&self) -> MessageSuperType
fn super_type(&self) -> MessageSuperType
Returns the super type of this message.
sourcefn main_category(&self) -> MessageMainCategory
fn main_category(&self) -> MessageMainCategory
Returns the main category of this message.
sourcefn is_note_on(&self) -> bool
fn is_note_on(&self) -> bool
sourcefn is_note_off(&self) -> bool
fn is_note_off(&self) -> bool
sourcefn key_number(&self) -> Option<KeyNumber>
fn key_number(&self) -> Option<KeyNumber>
Returns the key number of this message if applicable.
sourcefn controller_number(&self) -> Option<ControllerNumber>
fn controller_number(&self) -> Option<ControllerNumber>
Returns the controller number of this message if applicable.
sourcefn control_value(&self) -> Option<U7>
fn control_value(&self) -> Option<U7>
Returns the control value of this message if applicable.
sourcefn program_number(&self) -> Option<U7>
fn program_number(&self) -> Option<U7>
Returns the program number of this message if applicable.
sourcefn pressure_amount(&self) -> Option<U7>
fn pressure_amount(&self) -> Option<U7>
Returns the pressure amount of this message if applicable.
sourcefn pitch_bend_value(&self) -> Option<U14>
fn pitch_bend_value(&self) -> Option<U14>
Returns the pitch bend value of this message if applicable.
sourceimpl ShortMessageFactory for RawShortMessage
impl ShortMessageFactory for RawShortMessage
sourceunsafe fn from_bytes_unchecked(bytes: (u8, U7, U7)) -> Self
unsafe fn from_bytes_unchecked(bytes: (u8, U7, U7)) -> Self
Creates a MIDI message from the given bytes without checking the status byte. The tuple consists of the status byte, data byte 1 and data byte 2 in exactly this order. Read more
sourcefn from_bytes(bytes: (u8, U7, U7)) -> Result<Self, FromBytesError>
fn from_bytes(bytes: (u8, U7, U7)) -> Result<Self, FromBytesError>
Creates a MIDI message from the given bytes. The tuple consists of the status byte, data byte 1 and data byte 2 in exactly this order. Read more
sourcefn from_other(msg: &impl ShortMessage) -> Self
fn from_other(msg: &impl ShortMessage) -> Self
Creates this message from a MIDI message of another type.
sourcefn channel_message(
type: ShortMessageType,
channel: Channel,
data_1: U7,
data_2: U7
) -> Self
fn channel_message(
type: ShortMessageType,
channel: Channel,
data_1: U7,
data_2: U7
) -> Self
Creates a Channel message. Read more
sourcefn system_common_message(type: ShortMessageType, data_1: U7, data_2: U7) -> Self
fn system_common_message(type: ShortMessageType, data_1: U7, data_2: U7) -> Self
Creates a System Common message. Read more
sourcefn system_real_time_message(type: ShortMessageType) -> Self
fn system_real_time_message(type: ShortMessageType) -> Self
Creates a System Real Time message. Read more
sourcefn note_on(channel: Channel, key_number: KeyNumber, velocity: U7) -> Self
fn note_on(channel: Channel, key_number: KeyNumber, velocity: U7) -> Self
Creates a Note On message.
sourcefn note_off(channel: Channel, key_number: KeyNumber, velocity: U7) -> Self
fn note_off(channel: Channel, key_number: KeyNumber, velocity: U7) -> Self
Creates a Note Off message.
sourcefn control_change(
channel: Channel,
controller_number: ControllerNumber,
control_value: U7
) -> Self
fn control_change(
channel: Channel,
controller_number: ControllerNumber,
control_value: U7
) -> Self
Creates a Control Change message.
sourcefn program_change(channel: Channel, program_number: U7) -> Self
fn program_change(channel: Channel, program_number: U7) -> Self
Creates a Program Change message.
sourcefn polyphonic_key_pressure(
channel: Channel,
key_number: KeyNumber,
pressure_amount: U7
) -> Self
fn polyphonic_key_pressure(
channel: Channel,
key_number: KeyNumber,
pressure_amount: U7
) -> Self
Creates a Polyphonic Key Pressure message.
sourcefn channel_pressure(channel: Channel, pressure_amount: U7) -> Self
fn channel_pressure(channel: Channel, pressure_amount: U7) -> Self
Creates a Channel Pressure message.
sourcefn pitch_bend_change(channel: Channel, pitch_bend_value: U14) -> Self
fn pitch_bend_change(channel: Channel, pitch_bend_value: U14) -> Self
Creates a Pitch Bend Change message.
sourcefn system_exclusive_start() -> Self
fn system_exclusive_start() -> Self
Creates the start of a System Exclusive message.
sourcefn time_code_quarter_frame(frame: TimeCodeQuarterFrame) -> Self
fn time_code_quarter_frame(frame: TimeCodeQuarterFrame) -> Self
Creates a MIDI Time Code Quarter Frame message.
sourcefn song_position_pointer(position: U14) -> Self
fn song_position_pointer(position: U14) -> Self
Creates a Song Position Pointer message.
sourcefn song_select(song_number: U7) -> Self
fn song_select(song_number: U7) -> Self
Creates a Song Select message.
sourcefn tune_request() -> Self
fn tune_request() -> Self
Creates a Tune Request message.
sourcefn system_exclusive_end() -> Self
fn system_exclusive_end() -> Self
Creates the end of a System Exclusive message.
sourcefn timing_clock() -> Self
fn timing_clock() -> Self
Creates a Timing Clock message.
sourcefn active_sensing() -> Self
fn active_sensing() -> Self
Creates an Active Sensing message.
sourcefn system_reset() -> Self
fn system_reset() -> Self
Creates a System Reset message.
impl Copy for RawShortMessage
impl Eq for RawShortMessage
impl StructuralEq for RawShortMessage
impl StructuralPartialEq for RawShortMessage
Auto Trait Implementations
impl RefUnwindSafe for RawShortMessage
impl Send for RawShortMessage
impl Sync for RawShortMessage
impl Unpin for RawShortMessage
impl UnwindSafe for RawShortMessage
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more