pub struct MidiInput(/* private fields */);
Expand description
Pointer to a MIDI input device.
Implementations§
Source§impl MidiInput
impl MidiInput
Sourcepub fn get_read_buf(&self) -> MidiEventList<'_>
pub fn get_read_buf(&self) -> MidiEventList<'_>
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.