[−][src]Struct reaper_medium::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]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl PartialEq<MidiInput> for MidiInput
[src]
impl StructuralEq for MidiInput
[src]
impl StructuralPartialEq for MidiInput
[src]
Auto Trait Implementations
impl RefUnwindSafe for MidiInput
impl !Send for MidiInput
impl !Sync for MidiInput
impl Unpin for MidiInput
impl UnwindSafe for MidiInput
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,
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, 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.
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>,