[][src]Struct reaper_medium::MidiInput

pub struct MidiInput(_);

Pointer to a MIDI input device.

Implementations

impl MidiInput[src]

pub fn get_read_buf(&self) -> MidiEventList[src]

Returns the list of MIDI events which are currently in the buffer.

This must only be called in the real-time audio thread! See get_midi_input().

Design

In the past this function was unsafe and expected a closure which let the consumer do something with the event list. All of that is not necessary anymore since we ensure in get_midi_input() that we only ever publish valid MidiInput instances, and those only by a very short-lived reference that's not possible to cache anywhere. That makes it possible to bind the lifetime of the event list to the one of the MidiInput and everything is fine!

Returning an owned event list would be wasteful because we would need to copy all events first. That would be especially bad because this code is supposed to run in the audio thread and therefore has real-time requirements.

Trait Implementations

impl Debug for MidiInput[src]

impl Eq for MidiInput[src]

impl Hash for MidiInput[src]

impl PartialEq<MidiInput> for MidiInput[src]

impl StructuralEq for MidiInput[src]

impl StructuralPartialEq for MidiInput[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.