LibremidiFlutterBindings class

Bindings for src/libremidi_flutter.h.

Regenerate bindings with dart run ffigen --config ffigen.yaml.

Constructors

LibremidiFlutterBindings(DynamicLibrary dynamicLibrary)
The symbols are looked up in dynamicLibrary.
LibremidiFlutterBindings.fromLookup(Pointer<T> lookup<T extends NativeType>(String symbolName))
The symbols are looked up with lookup.

Properties

hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

lrm_find_closest_port(Pointer<LrmObserver> observer, Pointer<LrmPortInfo> saved, bool is_input) → int
Find the closest matching port using heuristic fuzzy matching. Takes a saved LrmPortInfo and searches current ports for the best match. Returns the port index (>= 0) on success, or -1 if no match found.
lrm_free(Pointer<Void> ptr) → void
Free a heap buffer that the library handed to the caller (e.g. the MIDI message data delivered to LrmMidiCallback). Safe to call with NULL.
lrm_get_last_error() → Pointer<Char>
Why the last lrm_midi_in_open*/lrm_midi_out_open* call on this thread returned NULL, or "" if there is no reason to give. Currently only Android reports reasons. The string stays valid until the next open on this thread.
lrm_get_version() → Pointer<Char>
Get library version string
lrm_midi_in_close(Pointer<LrmMidiIn> midi_in) → void
Close and free a MIDI input
lrm_midi_in_close_deferred(Pointer<LrmMidiIn> midi_in) → void
lrm_midi_in_is_connected(Pointer<LrmMidiIn> midi_in) → bool
Check if input is connected
lrm_midi_in_open(Pointer<LrmObserver> observer, int port_index, LrmMidiCallback callback, Pointer<Void> context, bool receive_sysex, bool receive_timing, bool receive_sensing) → Pointer<LrmMidiIn>
Open a MIDI input port by index The callback will be called on a background thread when messages arrive receive_sysex: if true, SysEx messages (F0..F7) are passed to callback receive_timing: if true, MIDI clock messages (F8) are passed to callback receive_sensing: if true, active sensing messages (FE) are passed to callback
lrm_midi_in_open_by_id(Pointer<LrmObserver> observer, int port_id, LrmMidiCallback callback, Pointer<Void> context, bool receive_sysex, bool receive_timing, bool receive_sensing) → Pointer<LrmMidiIn>
Open a MIDI input port by port_id (stable across hotplug)
lrm_midi_in_open_by_id_async(Pointer<LrmObserver> observer, int port_id, LrmPostCObject post, int message_port, int done_port, bool receive_sysex, bool receive_timing, bool receive_sensing) → Pointer<LrmOpenTicket>
lrm_midi_in_open_by_id_with_port(Pointer<LrmObserver> observer, int port_id, LrmPostCObject post, int port, bool receive_sysex, bool receive_timing, bool receive_sensing) → Pointer<LrmMidiIn>
Open a MIDI input port by port_id, posting each message to a Dart native port as a two-element array: Uint8List bytes, int timestamp. The bytes are copied into the Dart heap by the post, so nothing has to be freed. See lrm_observer_new_with_port for why this is preferable to a callback.
lrm_midi_out_close(Pointer<LrmMidiOut> midi_out) → void
Close and free a MIDI output
lrm_midi_out_close_deferred(Pointer<LrmMidiOut> midi_out) → void
lrm_midi_out_is_connected(Pointer<LrmMidiOut> midi_out) → bool
Check if output is connected
lrm_midi_out_open(Pointer<LrmObserver> observer, int port_index) → Pointer<LrmMidiOut>
Open a MIDI output port by index
lrm_midi_out_open_by_id(Pointer<LrmObserver> observer, int port_id) → Pointer<LrmMidiOut>
Open a MIDI output port by port_id (stable across hotplug)
lrm_midi_out_open_by_id_async(Pointer<LrmObserver> observer, int port_id, LrmPostCObject post, int done_port) → Pointer<LrmOpenTicket>
lrm_midi_out_send(Pointer<LrmMidiOut> midi_out, Pointer<Uint8> data, int length) → int
Send a MIDI message
lrm_observer_free(Pointer<LrmObserver> observer) → void
Free the observer
lrm_observer_free_deferred(Pointer<LrmObserver> observer) → void
lrm_observer_get_input(Pointer<LrmObserver> observer, int index, Pointer<LrmPortInfo> info) → int
Get input port info by index (returns 0 on success, fills info struct)
lrm_observer_get_input_count(Pointer<LrmObserver> observer) → int
Get count of available input ports
lrm_observer_get_output(Pointer<LrmObserver> observer, int index, Pointer<LrmPortInfo> info) → int
Get output port info by index (returns 0 on success, fills info struct)
lrm_observer_get_output_count(Pointer<LrmObserver> observer) → int
Get count of available output ports
lrm_observer_hotplug_available(Pointer<LrmObserver> observer) → bool
Whether this observer can actually deliver hotplug events right now.
lrm_observer_new() → Pointer<LrmObserver>
Create a new observer for enumerating MIDI ports
lrm_observer_new_with_callbacks(LrmHotplugCallback callback, Pointer<Void> context) → Pointer<LrmObserver>
Create a new observer with hotplug callback
lrm_observer_new_with_port(LrmPostCObject post, int port) → Pointer<LrmObserver>
Create a new observer that posts hotplug events to a Dart native port (a ReceivePort's sendPort.nativePort) as an int (the event_type above).
lrm_observer_refresh(Pointer<LrmObserver> observer) → void
Refresh port list
lrm_open_ticket_error(Pointer<LrmOpenTicket> ticket) → Pointer<Char>
After the done message: why the open failed, or "". Valid until release.
lrm_open_ticket_release(Pointer<LrmOpenTicket> ticket) → void
Gives up the caller's share of the ticket.
lrm_open_ticket_release_deferred(Pointer<LrmOpenTicket> ticket) → void
lrm_open_ticket_take(Pointer<LrmOpenTicket> ticket) → Pointer<Void>
After the done message: the opened LrmMidiIn* / LrmMidiOut* (ownership passes to the caller), or NULL if the open failed or it was already taken.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited