@suaveplan/audio-timeline - Headless DAW timeline engine: multi-track arrangements with clips, playback, loop regions, selection, zoom, and per-track mixer state. Delegates rendering to a pluggable TimelineAdapter.
Headless DAW timeline engine with multi-track arrangements, clips, playback, loop regions, selection, zoom, per-track mixer state, undo/redo, and a pluggable TimelineAdapter.
Documentation tree
- adapter —
NullTimelineAdapteris a reference no-op implementation of theTimelineAdapterinterface. It is useful for unit tes…- adapter —
NullTimelineAdapteris a reference no-op implementation of theTimelineAdapterinterface. It is useful for unit tes…
- adapter —
- clip — The
clip.tsmodule contains pure geometry helpers for audio clips. AClipis a slice of anAudioDocumentplaced o…- clip — The
clip.tsmodule contains pure geometry helpers for audio clips. AClipis a slice of anAudioDocumentplaced o…
- clip — The
- engine —
TimelineEngineis the central state container for the@suaveplan/audio-timelinepackage. It owns the multi-track ar…- clip — The
clip.tsmodule contains the internal bridge betweenTimelineEnginepublic methods and the pure `clip-operations…- clip — The
clip.tsmodule contains the internal bridge betweenTimelineEnginepublic methods and the pure `clip-operations…
- clip — The
- mixer — The
mixer.tsmodule bridgesTimelineEnginemixer public methods to the puremixer.tshelpers. It manages undo pus…- mixer — The
mixer.tsmodule bridgesTimelineEnginemixer public methods to the puremixer.tshelpers. It manages undo pus…
- mixer — The
- state — The
state.tsmodule builds the immutableTimelineStatesnapshot returned byTimelineEngine.getState(). It derives…- state — The
state.tsmodule builds the immutableTimelineStatesnapshot returned byTimelineEngine.getState(). It derives…
- state — The
- transport — The
transport.tsmodule bridgesTimelineEnginetransport public methods (play,pause,stop,seek) to the `T…- transport — The
transport.tsmodule bridgesTimelineEnginetransport public methods (play,pause,stop,seek) to the `T…
- transport — The
- transport-fsm — The
transport-fsm.tsmodule creates the finite state machine that guards timeline transport transitions. It prevents…- transport-fsm — The
transport-fsm.tsmodule creates the finite state machine that guards timeline transport transitions. It prevents…
- transport-fsm — The
- undo — The
undo.tsmodule provides the command builder and incremental adapter diff logic used byTimelineEnginefor undo/…- undo — The
undo.tsmodule provides the command builder and incremental adapter diff logic used byTimelineEnginefor undo/…
- undo — The
- zoom — The
zoom.tsmodule bridgesTimelineEnginezoom, selection, and loop public methods to the pure `timeline-operations…- zoom — The
zoom.tsmodule bridgesTimelineEnginezoom, selection, and loop public methods to the pure `timeline-operations…
- zoom — The
- engine —
TimelineEngineis the central state container for the@suaveplan/audio-timelinepackage. It owns the multi-track ar…
- clip — The
- error-codes — The
error-codes.tsmodule defines theAUDIO_TIMELINEerror namespace and theTimelineErrorclass used throughout…- error-codes — The
error-codes.tsmodule defines theAUDIO_TIMELINEerror namespace and theTimelineErrorclass used throughout…
- error-codes — The
- mixer — The
mixer.tsmodule provides pure state updates for per-track and master mixer settings. Every function returns a sha…- mixer — The
mixer.tsmodule provides pure state updates for per-track and master mixer settings. Every function returns a sha…
- mixer — The
- clip-operations — The
clip-operations.tsmodule implements the state-changing actions that the timeline engine performs on clips: drag,…- clip-operations — The
clip-operations.tsmodule implements the state-changing actions that the timeline engine performs on clips: drag,…
- clip-operations — The
- timeline-operations — The
timeline-operations.tsmodule handles view-state mutations that do not affect the audio arrangement and there…- timeline-operations — The
timeline-operations.tsmodule handles view-state mutations that do not affect the audio arrangement and there…
- timeline-operations — The
- track — The
track.tsmodule provides pure, immutable CRUD operations for theTrackmodel used by the `@suaveplan/audio-time…- track — The
track.tsmodule provides pure, immutable CRUD operations for theTrackmodel used by the `@suaveplan/audio-time…
- track — The
- zoom — The
zoom.tsmodule provides a discrete zoom table and navigation helpers for the timeline view. Zoom levels are expre…- zoom — The
zoom.tsmodule provides a discrete zoom table and navigation helpers for the timeline view. Zoom levels are expre…
- zoom — The