[−][src]Struct helgoboss_midi::ParameterNumberMessage
A MIDI Parameter Number message, either registered (RPN) or non-registered (NRPN).
MIDI systems emit those by sending up to 4 short Control Change messages in a row. The
ParameterNumberMessageScanner
can be used to extract such messages from a stream of
ShortMessage
s.
Example
use helgoboss_midi::{ controller_numbers, Channel, ParameterNumberMessage, RawShortMessage, U14, }; let msg = ParameterNumberMessage::registered_14_bit(Channel::new(0), U14::new(420), U14::new(15000)); assert_eq!(msg.channel().get(), 0); assert_eq!(msg.number().get(), 420); assert_eq!(msg.value().get(), 15000); assert!(msg.is_registered()); assert!(msg.is_14_bit()); let short_messages: [Option<RawShortMessage>; 4] = msg.to_short_messages(); use helgoboss_midi::test_util::control_change; assert_eq!( short_messages, [ Some(control_change(0, 101, 3)), Some(control_change(0, 100, 36)), Some(control_change(0, 38, 24)), Some(control_change(0, 6, 117)), ] );
Implementations
impl ParameterNumberMessage
[src]
pub fn non_registered_7_bit(
channel: Channel,
number: U14,
value: U7
) -> ParameterNumberMessage
[src]
channel: Channel,
number: U14,
value: U7
) -> ParameterNumberMessage
Creates an NRPN message with a 7-bit value.
pub fn non_registered_14_bit(
channel: Channel,
number: U14,
value: U14
) -> ParameterNumberMessage
[src]
channel: Channel,
number: U14,
value: U14
) -> ParameterNumberMessage
Creates an NRPN message with a 14-bit value.
pub fn registered_7_bit(
channel: Channel,
number: U14,
value: U7
) -> ParameterNumberMessage
[src]
channel: Channel,
number: U14,
value: U7
) -> ParameterNumberMessage
Creates an RPN message with a 7-bit value.
pub fn registered_14_bit(
channel: Channel,
number: U14,
value: U14
) -> ParameterNumberMessage
[src]
channel: Channel,
number: U14,
value: U14
) -> ParameterNumberMessage
Creates an RPN message with a 14-bit value.
pub fn channel(&self) -> Channel
[src]
Returns the channel of this message.
pub fn number(&self) -> U14
[src]
Returns the parameter number of this message.
pub fn value(&self) -> U14
[src]
Returns the value of this message.
If it's just a 7-bit message, the value is <= 127.
pub fn is_14_bit(&self) -> bool
[src]
Returns true
if this message has a 14-bit value and false
if only a 7-bit value.
pub fn is_registered(&self) -> bool
[src]
Returns whether this message uses a registered parameter number.
pub fn to_short_messages<T: ShortMessageFactory>(&self) -> [Option<T>; 4]
[src]
Translates this message into up to 4 short Control Change messages, which need to be sent in a row in order to encode this (N)RPN message.
If this message has a 14-bit value, all returned messages are Some
. If it has a 7-bit
value only, the last one is None
.
Trait Implementations
impl Clone for ParameterNumberMessage
[src]
pub fn clone(&self) -> ParameterNumberMessage
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for ParameterNumberMessage
[src]
impl Debug for ParameterNumberMessage
[src]
impl Eq for ParameterNumberMessage
[src]
impl<T: ShortMessageFactory> From<ParameterNumberMessage> for [Option<T>; 4]
[src]
pub fn from(msg: ParameterNumberMessage) -> Self
[src]
impl Hash for ParameterNumberMessage
[src]
pub fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl PartialEq<ParameterNumberMessage> for ParameterNumberMessage
[src]
pub fn eq(&self, other: &ParameterNumberMessage) -> bool
[src]
pub fn ne(&self, other: &ParameterNumberMessage) -> bool
[src]
impl StructuralEq for ParameterNumberMessage
[src]
impl StructuralPartialEq for ParameterNumberMessage
[src]
Auto Trait Implementations
impl RefUnwindSafe for ParameterNumberMessage
impl Send for ParameterNumberMessage
impl Sync for ParameterNumberMessage
impl Unpin for ParameterNumberMessage
impl UnwindSafe for ParameterNumberMessage
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,