[−][src]Struct helgoboss_midi::ParameterNumberMessageScanner
Scanner for detecting (N)RPN messages in a stream of short messages.
Example
use helgoboss_midi::test_util::control_change; use helgoboss_midi::{ Channel, ControllerNumber, ParameterNumberMessage, ParameterNumberMessageScanner, U14, }; let mut scanner = ParameterNumberMessageScanner::new(); let result_1 = scanner.feed(&control_change(0, 101, 3)); let result_2 = scanner.feed(&control_change(0, 100, 36)); let result_3 = scanner.feed(&control_change(0, 38, 24)); let result_4 = scanner.feed(&control_change(0, 6, 117)); assert_eq!(result_1, None); assert_eq!(result_2, None); assert_eq!(result_3, None); assert_eq!( result_4, Some(ParameterNumberMessage::registered_14_bit( Channel::new(0), U14::new(420), U14::new(15000) )) );
Implementations
impl ParameterNumberMessageScanner
[src]
pub fn new() -> ParameterNumberMessageScanner
[src]
Creates a new scanner.
pub fn feed(
&mut self,
msg: &impl ShortMessage
) -> Option<ParameterNumberMessage>
[src]
&mut self,
msg: &impl ShortMessage
) -> Option<ParameterNumberMessage>
Feeds the scanner a single short message.
Returns the (N)RPN message if one has been detected.
pub fn reset(&mut self)
[src]
Resets the scanner discarding all intermediate scanning progress.
Trait Implementations
impl Clone for ParameterNumberMessageScanner
[src]
pub fn clone(&self) -> ParameterNumberMessageScanner
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for ParameterNumberMessageScanner
[src]
impl Debug for ParameterNumberMessageScanner
[src]
impl Default for ParameterNumberMessageScanner
[src]
pub fn default() -> ParameterNumberMessageScanner
[src]
impl Eq for ParameterNumberMessageScanner
[src]
impl PartialEq<ParameterNumberMessageScanner> for ParameterNumberMessageScanner
[src]
pub fn eq(&self, other: &ParameterNumberMessageScanner) -> bool
[src]
pub fn ne(&self, other: &ParameterNumberMessageScanner) -> bool
[src]
impl StructuralEq for ParameterNumberMessageScanner
[src]
impl StructuralPartialEq for ParameterNumberMessageScanner
[src]
Auto Trait Implementations
impl RefUnwindSafe for ParameterNumberMessageScanner
impl Send for ParameterNumberMessageScanner
impl Sync for ParameterNumberMessageScanner
impl Unpin for ParameterNumberMessageScanner
impl UnwindSafe for ParameterNumberMessageScanner
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>,