MidiNativeAudioBackend class abstract

Contract for a low-latency native MIDI backend.

This package already generates complete MIDI mapping in Dart. The native backend is optional and can be used to provide sample-accurate scheduling, SoundFont synthesis, and metronome playback with lower latency.

Implementers

Constructors

MidiNativeAudioBackend()

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

clearScheduledEvents() → Future<void>
Clears currently scheduled sequence events on native side.
dispose() → Future<void>
Releases all native resources.
initialize({required String primarySoundFontPath, String? metronomeSoundFontPath, int sampleRate = 48000}) → Future<bool>
Initializes native audio resources.
isReady() → Future<bool>
Indicates whether native backend is initialized and ready.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
processTies() → Future<void>
Triggers tie processing in the native sequencer.
scheduleMetronome({required int totalTicks, int countInBeats = 0}) → Future<void>
Schedules metronome events for the current sequence.
scheduleNote({required int midiNote, required int startTick, required int durationTicks, required int velocity, int channel = 0, bool isTied = false}) → Future<void>
Schedules a note event in PPQ ticks.
setTempo(int bpm) → Future<void>
Sets current sequencer tempo.
setTicksPerQuarter(int ticksPerQuarter) → Future<void>
Sets ticks-per-quarter resolution used by scheduled PPQ events.
setTimeSignature({required int numerator, required int denominator}) → Future<void>
Sets current sequencer time signature.
start() → Future<void>
Starts native playback.
stop() → Future<void>
Stops playback and keeps resources allocated.
toString() → String
A string representation of this object.
inherited

Operators

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