AndroidSequencerEngine

Properties

Link copied to clipboard
open override val audioWorkers: AudioWorkers

SequencerEngine::audioWorkers(): parallel processing of independent tracks.

Link copied to clipboard

Lifetime count of plugin parameter notifications dropped at the bounded audio-to-UI handoff; wraps modulo 2^32.

Link copied to clipboard

Lifetime count of MIDI preset requests discarded (offline/freeze rendering, or control-queue overflow); wraps modulo 2^32.

Link copied to clipboard
Link copied to clipboard
open override val isPlaybackActive: Boolean
Link copied to clipboard
open override val isProjectDirty: Boolean

True when the project document differs from its saved history node, or an asynchronous project mutation is still being committed.

Link copied to clipboard
open override val masterTrack: SequencerTrack
Link copied to clipboard
open override val masterTrackLatency: UInt
Link copied to clipboard

Project-wide markers, owned by the engine alongside the master track. The setter applies markers directly; use ProjectCommands.setMasterTrackMarkers instead when the change should be undoable.

Link copied to clipboard
open override val masterTrackRenderLead: UInt
Link copied to clipboard
open override val midiRecorder: MidiRecorder?

Live MIDI capture into one clip, or null when the extension is absent. Backed by uapmd::MidiRecorder.

Link copied to clipboard
open override var offlineRendering: Boolean
Link copied to clipboard
open override var playbackPosition: Long
Link copied to clipboard
open override val pluginHost: PluginHost
Link copied to clipboard
open override val renderPlaybackPosition: Long
Link copied to clipboard
open override var sampleRate: Int
Link copied to clipboard
open override val timeline: TimelineFacade
Link copied to clipboard
open override val trackCount: UInt

Functions

Link copied to clipboard
open override fun addEmptyTrack(): Int
Link copied to clipboard
fun SequencerEngine.addParameterMetadataChangedListener(instanceId: Int, dispatch: (() -> Unit) -> Unit = { it() }, replayCurrent: Boolean = true, onError: (Throwable) -> Unit = { println("Parameter metadata listener failed: $it") }, listener: (ParameterMetadataSnapshot) -> Unit): AutoCloseable

Snapshot/replay convenience over the existing native graph metadata event. Metadata is copied on the callback thread, before dispatching to the UI. No periodic reads. The dispatcher defaults to the native control thread; UI callers should supply their dispatcher. Close subscriptions before destroying the engine.

Link copied to clipboard
open override fun addPluginToTrack(trackIndex: Int, format: String, pluginId: String, callback: (Int, Int, String?) -> Unit)
Link copied to clipboard
open override fun cleanupEmptyTracks()
Link copied to clipboard
open override fun clearTrackDirtyState()
Link copied to clipboard
open override fun enqueueUmp(instanceId: Int, ump: UIntArray, timestamp: Long)
Link copied to clipboard
open override fun findTrackForInstance(instanceId: Int): Int
Link copied to clipboard
open override fun getInputSpectrum(numBars: Int): FloatArray
Link copied to clipboard
open override fun getInstanceGroup(instanceId: Int): UByte
Link copied to clipboard
open override fun getOutputSpectrum(numBars: Int): FloatArray
Link copied to clipboard
open override fun getPluginInstance(instanceId: Int): PluginInstance?
Link copied to clipboard
open override fun getTrack(index: UInt): SequencerTrack
Link copied to clipboard
open override fun getTrackLatency(trackIndex: Int): UInt
Link copied to clipboard
open override fun getTrackRenderLead(trackIndex: Int): UInt
Link copied to clipboard
open override fun isTrackBusy(trackIndex: Int): Boolean

True while a freeze render is in flight; the legend disables the track's controls.

Link copied to clipboard
open override fun isTrackDirty(trackIndex: Int): Boolean

Track render/cache dirtiness: runtime state owned by the engine, separate from project-document history dirtiness.

Link copied to clipboard
open override fun markTrackDirty(trackIndex: Int, dirty: Boolean = true)
Link copied to clipboard
open override fun notifyPluginEditorVisibilityChanged(instanceId: Int, visible: Boolean)

SequencerEngine::notifyPluginEditorVisibilityChanged(). A host that shows or hides a plug-in editor itself (not through AppModel's plug-in UI requests, which notify on its behalf) must call this: true before the editor is shown, so an ARA editor view receives the current selection during setup, and false when it is hidden or fails to show.

Link copied to clipboard
open override fun pausePlayback()
Link copied to clipboard
open override fun registerAddinExtensionPoints(manager: AddinManager)

Publishes every extension point this engine offers into manager. Call before AddinManager.initialize.

Link copied to clipboard
open override fun removePluginInstance(instanceId: Int): Boolean
Link copied to clipboard
open override fun removeTrack(trackIndex: Int): Boolean
Link copied to clipboard
open override fun renderOffline(settings: OfflineRenderSettings, progressCallback: (OfflineRenderProgress) -> Unit? = null, shouldCancel: () -> Boolean? = null): OfflineRenderResult
Link copied to clipboard
open override fun resumePlayback()
Link copied to clipboard
open override fun sendChannelPressure(instanceId: Int, pressure: Float)
Link copied to clipboard
open override fun sendNoteOff(instanceId: Int, note: Int)
Link copied to clipboard
open override fun sendNoteOn(instanceId: Int, note: Int)
Link copied to clipboard
open override fun sendPitchBend(instanceId: Int, value: Float)
Link copied to clipboard
open override fun setActive(active: Boolean)
Link copied to clipboard
open override fun setDefaultChannels(inputChannels: UInt, outputChannels: UInt)
Link copied to clipboard
open override fun setExternalPump(enabled: Boolean)
Link copied to clipboard
open override fun setInstanceGroup(instanceId: Int, group: UByte): Boolean
Link copied to clipboard
open override fun setParameterValue(instanceId: Int, index: Int, value: Double)
Link copied to clipboard
open override fun startPlayback()
Link copied to clipboard
open override fun stopPlayback()
Link copied to clipboard
open override fun trackFreezePolicy(trackIndex: Int): FreezePolicy

FrozenTrackManager::freezePolicyForTrack — what the user asked for.

Link copied to clipboard
open override fun trackFreezeRenderProgress(trackIndex: Int): OfflineRenderProgress?

Progress of the track's freeze render, or null when it is not rendering. FrozenTrackManager::renderProgressForTrack returns an optional for the same reason: only one track renders at a time, and only while Rendering.

Link copied to clipboard
open override fun trackFreezeState(trackIndex: Int): FreezeRuntimeState

FrozenTrackManager::runtimeStateForTrack — what the engine is doing.