@drop-ai/core 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +316 -0
- package/dist/actions/ActionRegistry.d.ts +33 -0
- package/dist/actions/ActionRegistry.d.ts.map +1 -0
- package/dist/actions/ActionRegistry.js +96 -0
- package/dist/actions/ActionRegistry.js.map +1 -0
- package/dist/actions/types.d.ts +31 -0
- package/dist/actions/types.d.ts.map +1 -0
- package/dist/actions/types.js +11 -0
- package/dist/actions/types.js.map +1 -0
- package/dist/analysis/TransientDetector.d.ts +28 -0
- package/dist/analysis/TransientDetector.d.ts.map +1 -0
- package/dist/analysis/TransientDetector.js +109 -0
- package/dist/analysis/TransientDetector.js.map +1 -0
- package/dist/audio/AudioEngine.d.ts +107 -0
- package/dist/audio/AudioEngine.d.ts.map +1 -0
- package/dist/audio/AudioEngine.js +798 -0
- package/dist/audio/AudioEngine.js.map +1 -0
- package/dist/audio/AudioProvider.d.ts +96 -0
- package/dist/audio/AudioProvider.d.ts.map +1 -0
- package/dist/audio/AudioProvider.js +2 -0
- package/dist/audio/AudioProvider.js.map +1 -0
- package/dist/audio/BufferPool.d.ts +92 -0
- package/dist/audio/BufferPool.d.ts.map +1 -0
- package/dist/audio/BufferPool.js +172 -0
- package/dist/audio/BufferPool.js.map +1 -0
- package/dist/audio/LoudnessUtils.d.ts +18 -0
- package/dist/audio/LoudnessUtils.d.ts.map +1 -0
- package/dist/audio/LoudnessUtils.js +91 -0
- package/dist/audio/LoudnessUtils.js.map +1 -0
- package/dist/audio/MeterUtils.d.ts +37 -0
- package/dist/audio/MeterUtils.d.ts.map +1 -0
- package/dist/audio/MeterUtils.js +71 -0
- package/dist/audio/MeterUtils.js.map +1 -0
- package/dist/audio/OfflineExporter.d.ts +48 -0
- package/dist/audio/OfflineExporter.d.ts.map +1 -0
- package/dist/audio/OfflineExporter.js +202 -0
- package/dist/audio/OfflineExporter.js.map +1 -0
- package/dist/audio/ProcessingGraph.d.ts +152 -0
- package/dist/audio/ProcessingGraph.d.ts.map +1 -0
- package/dist/audio/ProcessingGraph.js +360 -0
- package/dist/audio/ProcessingGraph.js.map +1 -0
- package/dist/audio/SourceCache.d.ts +124 -0
- package/dist/audio/SourceCache.d.ts.map +1 -0
- package/dist/audio/SourceCache.js +205 -0
- package/dist/audio/SourceCache.js.map +1 -0
- package/dist/audio/dto.d.ts +50 -0
- package/dist/audio/dto.d.ts.map +1 -0
- package/dist/audio/dto.js +2 -0
- package/dist/audio/dto.js.map +1 -0
- package/dist/audio/engine/PlaylistEngine.d.ts +19 -0
- package/dist/audio/engine/PlaylistEngine.d.ts.map +1 -0
- package/dist/audio/engine/PlaylistEngine.js +83 -0
- package/dist/audio/engine/PlaylistEngine.js.map +1 -0
- package/dist/automation/AutomationCurve.d.ts +61 -0
- package/dist/automation/AutomationCurve.d.ts.map +1 -0
- package/dist/automation/AutomationCurve.js +198 -0
- package/dist/automation/AutomationCurve.js.map +1 -0
- package/dist/automation/AutomationList.d.ts +185 -0
- package/dist/automation/AutomationList.d.ts.map +1 -0
- package/dist/automation/AutomationList.js +459 -0
- package/dist/automation/AutomationList.js.map +1 -0
- package/dist/automation/AutomationMode.d.ts +17 -0
- package/dist/automation/AutomationMode.d.ts.map +1 -0
- package/dist/automation/AutomationMode.js +18 -0
- package/dist/automation/AutomationMode.js.map +1 -0
- package/dist/automation/ParameterDescriptor.d.ts +65 -0
- package/dist/automation/ParameterDescriptor.d.ts.map +1 -0
- package/dist/automation/ParameterDescriptor.js +113 -0
- package/dist/automation/ParameterDescriptor.js.map +1 -0
- package/dist/automation/PointThinning.d.ts +14 -0
- package/dist/automation/PointThinning.d.ts.map +1 -0
- package/dist/automation/PointThinning.js +52 -0
- package/dist/automation/PointThinning.js.map +1 -0
- package/dist/automation/types.d.ts +14 -0
- package/dist/automation/types.d.ts.map +1 -0
- package/dist/automation/types.js +9 -0
- package/dist/automation/types.js.map +1 -0
- package/dist/commands/Command.d.ts +8 -0
- package/dist/commands/Command.d.ts.map +1 -0
- package/dist/commands/Command.js +2 -0
- package/dist/commands/Command.js.map +1 -0
- package/dist/commands/CommandExecutor.d.ts +36 -0
- package/dist/commands/CommandExecutor.d.ts.map +1 -0
- package/dist/commands/CommandExecutor.js +108 -0
- package/dist/commands/CommandExecutor.js.map +1 -0
- package/dist/commands/CommandHistory.d.ts +155 -0
- package/dist/commands/CommandHistory.d.ts.map +1 -0
- package/dist/commands/CommandHistory.js +316 -0
- package/dist/commands/CommandHistory.js.map +1 -0
- package/dist/commands/CommandRegistry.d.ts +110 -0
- package/dist/commands/CommandRegistry.d.ts.map +1 -0
- package/dist/commands/CommandRegistry.js +91 -0
- package/dist/commands/CommandRegistry.js.map +1 -0
- package/dist/commands/UndoTransaction.d.ts +54 -0
- package/dist/commands/UndoTransaction.d.ts.map +1 -0
- package/dist/commands/UndoTransaction.js +77 -0
- package/dist/commands/UndoTransaction.js.map +1 -0
- package/dist/commands/handlers/AutomationHandler.d.ts +14 -0
- package/dist/commands/handlers/AutomationHandler.d.ts.map +1 -0
- package/dist/commands/handlers/AutomationHandler.js +84 -0
- package/dist/commands/handlers/AutomationHandler.js.map +1 -0
- package/dist/commands/handlers/CommandHandler.d.ts +57 -0
- package/dist/commands/handlers/CommandHandler.d.ts.map +1 -0
- package/dist/commands/handlers/CommandHandler.js +22 -0
- package/dist/commands/handlers/CommandHandler.js.map +1 -0
- package/dist/commands/handlers/ExportHandler.d.ts +14 -0
- package/dist/commands/handlers/ExportHandler.d.ts.map +1 -0
- package/dist/commands/handlers/ExportHandler.js +166 -0
- package/dist/commands/handlers/ExportHandler.js.map +1 -0
- package/dist/commands/handlers/HistoryHandler.d.ts +29 -0
- package/dist/commands/handlers/HistoryHandler.d.ts.map +1 -0
- package/dist/commands/handlers/HistoryHandler.js +124 -0
- package/dist/commands/handlers/HistoryHandler.js.map +1 -0
- package/dist/commands/handlers/IOHandler.d.ts +14 -0
- package/dist/commands/handlers/IOHandler.d.ts.map +1 -0
- package/dist/commands/handlers/IOHandler.js +59 -0
- package/dist/commands/handlers/IOHandler.js.map +1 -0
- package/dist/commands/handlers/MarkerHandler.d.ts +13 -0
- package/dist/commands/handlers/MarkerHandler.d.ts.map +1 -0
- package/dist/commands/handlers/MarkerHandler.js +95 -0
- package/dist/commands/handlers/MarkerHandler.js.map +1 -0
- package/dist/commands/handlers/MidiHandler.d.ts +14 -0
- package/dist/commands/handlers/MidiHandler.d.ts.map +1 -0
- package/dist/commands/handlers/MidiHandler.js +153 -0
- package/dist/commands/handlers/MidiHandler.js.map +1 -0
- package/dist/commands/handlers/MixerSceneHandler.d.ts +12 -0
- package/dist/commands/handlers/MixerSceneHandler.d.ts.map +1 -0
- package/dist/commands/handlers/MixerSceneHandler.js +113 -0
- package/dist/commands/handlers/MixerSceneHandler.js.map +1 -0
- package/dist/commands/handlers/RangeHandler.d.ts +14 -0
- package/dist/commands/handlers/RangeHandler.d.ts.map +1 -0
- package/dist/commands/handlers/RangeHandler.js +108 -0
- package/dist/commands/handlers/RangeHandler.js.map +1 -0
- package/dist/commands/handlers/RegionHandler.d.ts +14 -0
- package/dist/commands/handlers/RegionHandler.d.ts.map +1 -0
- package/dist/commands/handlers/RegionHandler.js +313 -0
- package/dist/commands/handlers/RegionHandler.js.map +1 -0
- package/dist/commands/handlers/SendBusHandler.d.ts +14 -0
- package/dist/commands/handlers/SendBusHandler.d.ts.map +1 -0
- package/dist/commands/handlers/SendBusHandler.js +55 -0
- package/dist/commands/handlers/SendBusHandler.js.map +1 -0
- package/dist/commands/handlers/SessionHandler.d.ts +14 -0
- package/dist/commands/handlers/SessionHandler.d.ts.map +1 -0
- package/dist/commands/handlers/SessionHandler.js +80 -0
- package/dist/commands/handlers/SessionHandler.js.map +1 -0
- package/dist/commands/handlers/TrackGroupHandler.d.ts +18 -0
- package/dist/commands/handlers/TrackGroupHandler.d.ts.map +1 -0
- package/dist/commands/handlers/TrackGroupHandler.js +210 -0
- package/dist/commands/handlers/TrackGroupHandler.js.map +1 -0
- package/dist/commands/handlers/TrackHandler.d.ts +14 -0
- package/dist/commands/handlers/TrackHandler.d.ts.map +1 -0
- package/dist/commands/handlers/TrackHandler.js +241 -0
- package/dist/commands/handlers/TrackHandler.js.map +1 -0
- package/dist/commands/handlers/TransportHandler.d.ts +14 -0
- package/dist/commands/handlers/TransportHandler.d.ts.map +1 -0
- package/dist/commands/handlers/TransportHandler.js +117 -0
- package/dist/commands/handlers/TransportHandler.js.map +1 -0
- package/dist/commands/handlers/index.d.ts +18 -0
- package/dist/commands/handlers/index.d.ts.map +1 -0
- package/dist/commands/handlers/index.js +17 -0
- package/dist/commands/handlers/index.js.map +1 -0
- package/dist/commands/impl/AddAutomationPointCommand.d.ts +20 -0
- package/dist/commands/impl/AddAutomationPointCommand.d.ts.map +1 -0
- package/dist/commands/impl/AddAutomationPointCommand.js +45 -0
- package/dist/commands/impl/AddAutomationPointCommand.js.map +1 -0
- package/dist/commands/impl/AddAuxTrackCommand.d.ts +11 -0
- package/dist/commands/impl/AddAuxTrackCommand.d.ts.map +1 -0
- package/dist/commands/impl/AddAuxTrackCommand.js +23 -0
- package/dist/commands/impl/AddAuxTrackCommand.js.map +1 -0
- package/dist/commands/impl/AddBusTrackCommand.d.ts +11 -0
- package/dist/commands/impl/AddBusTrackCommand.d.ts.map +1 -0
- package/dist/commands/impl/AddBusTrackCommand.js +23 -0
- package/dist/commands/impl/AddBusTrackCommand.js.map +1 -0
- package/dist/commands/impl/AddMarkerCommand.d.ts +13 -0
- package/dist/commands/impl/AddMarkerCommand.d.ts.map +1 -0
- package/dist/commands/impl/AddMarkerCommand.js +25 -0
- package/dist/commands/impl/AddMarkerCommand.js.map +1 -0
- package/dist/commands/impl/AddMidiNoteCommand.d.ts +22 -0
- package/dist/commands/impl/AddMidiNoteCommand.d.ts.map +1 -0
- package/dist/commands/impl/AddMidiNoteCommand.js +45 -0
- package/dist/commands/impl/AddMidiNoteCommand.js.map +1 -0
- package/dist/commands/impl/AddPluginCommand.d.ts +19 -0
- package/dist/commands/impl/AddPluginCommand.d.ts.map +1 -0
- package/dist/commands/impl/AddPluginCommand.js +43 -0
- package/dist/commands/impl/AddPluginCommand.js.map +1 -0
- package/dist/commands/impl/AddRangeCommand.d.ts +19 -0
- package/dist/commands/impl/AddRangeCommand.d.ts.map +1 -0
- package/dist/commands/impl/AddRangeCommand.js +32 -0
- package/dist/commands/impl/AddRangeCommand.js.map +1 -0
- package/dist/commands/impl/AddRegionCommand.d.ts +19 -0
- package/dist/commands/impl/AddRegionCommand.d.ts.map +1 -0
- package/dist/commands/impl/AddRegionCommand.js +58 -0
- package/dist/commands/impl/AddRegionCommand.js.map +1 -0
- package/dist/commands/impl/AddSendBusCommand.d.ts +23 -0
- package/dist/commands/impl/AddSendBusCommand.d.ts.map +1 -0
- package/dist/commands/impl/AddSendBusCommand.js +30 -0
- package/dist/commands/impl/AddSendBusCommand.js.map +1 -0
- package/dist/commands/impl/AddSourceCommand.d.ts +12 -0
- package/dist/commands/impl/AddSourceCommand.d.ts.map +1 -0
- package/dist/commands/impl/AddSourceCommand.js +16 -0
- package/dist/commands/impl/AddSourceCommand.js.map +1 -0
- package/dist/commands/impl/AddTempoChangeCommand.d.ts +15 -0
- package/dist/commands/impl/AddTempoChangeCommand.d.ts.map +1 -0
- package/dist/commands/impl/AddTempoChangeCommand.js +45 -0
- package/dist/commands/impl/AddTempoChangeCommand.js.map +1 -0
- package/dist/commands/impl/AddTrackCommand.d.ts +13 -0
- package/dist/commands/impl/AddTrackCommand.d.ts.map +1 -0
- package/dist/commands/impl/AddTrackCommand.js +26 -0
- package/dist/commands/impl/AddTrackCommand.js.map +1 -0
- package/dist/commands/impl/ConnectIOCommand.d.ts +13 -0
- package/dist/commands/impl/ConnectIOCommand.d.ts.map +1 -0
- package/dist/commands/impl/ConnectIOCommand.js +31 -0
- package/dist/commands/impl/ConnectIOCommand.js.map +1 -0
- package/dist/commands/impl/CopyRegionCommand.d.ts +12 -0
- package/dist/commands/impl/CopyRegionCommand.d.ts.map +1 -0
- package/dist/commands/impl/CopyRegionCommand.js +42 -0
- package/dist/commands/impl/CopyRegionCommand.js.map +1 -0
- package/dist/commands/impl/DisconnectIOCommand.d.ts +13 -0
- package/dist/commands/impl/DisconnectIOCommand.d.ts.map +1 -0
- package/dist/commands/impl/DisconnectIOCommand.js +24 -0
- package/dist/commands/impl/DisconnectIOCommand.js.map +1 -0
- package/dist/commands/impl/DuplicateRegionCommand.d.ts +15 -0
- package/dist/commands/impl/DuplicateRegionCommand.d.ts.map +1 -0
- package/dist/commands/impl/DuplicateRegionCommand.js +49 -0
- package/dist/commands/impl/DuplicateRegionCommand.js.map +1 -0
- package/dist/commands/impl/ExportCommand.d.ts +17 -0
- package/dist/commands/impl/ExportCommand.d.ts.map +1 -0
- package/dist/commands/impl/ExportCommand.js +92 -0
- package/dist/commands/impl/ExportCommand.js.map +1 -0
- package/dist/commands/impl/FreezeTrackCommand.d.ts +25 -0
- package/dist/commands/impl/FreezeTrackCommand.d.ts.map +1 -0
- package/dist/commands/impl/FreezeTrackCommand.js +94 -0
- package/dist/commands/impl/FreezeTrackCommand.js.map +1 -0
- package/dist/commands/impl/GroupRegionsCommand.d.ts +15 -0
- package/dist/commands/impl/GroupRegionsCommand.d.ts.map +1 -0
- package/dist/commands/impl/GroupRegionsCommand.js +28 -0
- package/dist/commands/impl/GroupRegionsCommand.js.map +1 -0
- package/dist/commands/impl/LoadSessionCommand.d.ts +24 -0
- package/dist/commands/impl/LoadSessionCommand.d.ts.map +1 -0
- package/dist/commands/impl/LoadSessionCommand.js +77 -0
- package/dist/commands/impl/LoadSessionCommand.js.map +1 -0
- package/dist/commands/impl/LockRegionCommand.d.ts +16 -0
- package/dist/commands/impl/LockRegionCommand.d.ts.map +1 -0
- package/dist/commands/impl/LockRegionCommand.js +37 -0
- package/dist/commands/impl/LockRegionCommand.js.map +1 -0
- package/dist/commands/impl/MergeRegionsCommand.d.ts +19 -0
- package/dist/commands/impl/MergeRegionsCommand.d.ts.map +1 -0
- package/dist/commands/impl/MergeRegionsCommand.js +85 -0
- package/dist/commands/impl/MergeRegionsCommand.js.map +1 -0
- package/dist/commands/impl/MoveAutomationPointCommand.d.ts +20 -0
- package/dist/commands/impl/MoveAutomationPointCommand.d.ts.map +1 -0
- package/dist/commands/impl/MoveAutomationPointCommand.js +73 -0
- package/dist/commands/impl/MoveAutomationPointCommand.js.map +1 -0
- package/dist/commands/impl/MoveMarkerCommand.d.ts +13 -0
- package/dist/commands/impl/MoveMarkerCommand.d.ts.map +1 -0
- package/dist/commands/impl/MoveMarkerCommand.js +29 -0
- package/dist/commands/impl/MoveMarkerCommand.js.map +1 -0
- package/dist/commands/impl/MoveMidiNoteCommand.d.ts +20 -0
- package/dist/commands/impl/MoveMidiNoteCommand.d.ts.map +1 -0
- package/dist/commands/impl/MoveMidiNoteCommand.js +55 -0
- package/dist/commands/impl/MoveMidiNoteCommand.js.map +1 -0
- package/dist/commands/impl/MoveRegionCommand.d.ts +22 -0
- package/dist/commands/impl/MoveRegionCommand.d.ts.map +1 -0
- package/dist/commands/impl/MoveRegionCommand.js +148 -0
- package/dist/commands/impl/MoveRegionCommand.js.map +1 -0
- package/dist/commands/impl/NewSessionCommand.d.ts +17 -0
- package/dist/commands/impl/NewSessionCommand.d.ts.map +1 -0
- package/dist/commands/impl/NewSessionCommand.js +88 -0
- package/dist/commands/impl/NewSessionCommand.js.map +1 -0
- package/dist/commands/impl/NormalizeRegionCommand.d.ts +24 -0
- package/dist/commands/impl/NormalizeRegionCommand.d.ts.map +1 -0
- package/dist/commands/impl/NormalizeRegionCommand.js +60 -0
- package/dist/commands/impl/NormalizeRegionCommand.js.map +1 -0
- package/dist/commands/impl/PasteRegionCommand.d.ts +18 -0
- package/dist/commands/impl/PasteRegionCommand.d.ts.map +1 -0
- package/dist/commands/impl/PasteRegionCommand.js +66 -0
- package/dist/commands/impl/PasteRegionCommand.js.map +1 -0
- package/dist/commands/impl/RemoveAutomationPointCommand.d.ts +17 -0
- package/dist/commands/impl/RemoveAutomationPointCommand.d.ts.map +1 -0
- package/dist/commands/impl/RemoveAutomationPointCommand.js +69 -0
- package/dist/commands/impl/RemoveAutomationPointCommand.js.map +1 -0
- package/dist/commands/impl/RemoveMarkerCommand.d.ts +14 -0
- package/dist/commands/impl/RemoveMarkerCommand.d.ts.map +1 -0
- package/dist/commands/impl/RemoveMarkerCommand.js +32 -0
- package/dist/commands/impl/RemoveMarkerCommand.js.map +1 -0
- package/dist/commands/impl/RemoveMidiNoteCommand.d.ts +16 -0
- package/dist/commands/impl/RemoveMidiNoteCommand.d.ts.map +1 -0
- package/dist/commands/impl/RemoveMidiNoteCommand.js +38 -0
- package/dist/commands/impl/RemoveMidiNoteCommand.js.map +1 -0
- package/dist/commands/impl/RemovePluginCommand.d.ts +17 -0
- package/dist/commands/impl/RemovePluginCommand.d.ts.map +1 -0
- package/dist/commands/impl/RemovePluginCommand.js +55 -0
- package/dist/commands/impl/RemovePluginCommand.js.map +1 -0
- package/dist/commands/impl/RemoveRangeCommand.d.ts +15 -0
- package/dist/commands/impl/RemoveRangeCommand.d.ts.map +1 -0
- package/dist/commands/impl/RemoveRangeCommand.js +34 -0
- package/dist/commands/impl/RemoveRangeCommand.js.map +1 -0
- package/dist/commands/impl/RemoveRegionCommand.d.ts +17 -0
- package/dist/commands/impl/RemoveRegionCommand.d.ts.map +1 -0
- package/dist/commands/impl/RemoveRegionCommand.js +58 -0
- package/dist/commands/impl/RemoveRegionCommand.js.map +1 -0
- package/dist/commands/impl/RemoveSendBusCommand.d.ts +17 -0
- package/dist/commands/impl/RemoveSendBusCommand.d.ts.map +1 -0
- package/dist/commands/impl/RemoveSendBusCommand.js +34 -0
- package/dist/commands/impl/RemoveSendBusCommand.js.map +1 -0
- package/dist/commands/impl/RemoveTempoChangeCommand.d.ts +11 -0
- package/dist/commands/impl/RemoveTempoChangeCommand.d.ts.map +1 -0
- package/dist/commands/impl/RemoveTempoChangeCommand.js +32 -0
- package/dist/commands/impl/RemoveTempoChangeCommand.js.map +1 -0
- package/dist/commands/impl/RemoveTrackCommand.d.ts +11 -0
- package/dist/commands/impl/RemoveTrackCommand.d.ts.map +1 -0
- package/dist/commands/impl/RemoveTrackCommand.js +28 -0
- package/dist/commands/impl/RemoveTrackCommand.js.map +1 -0
- package/dist/commands/impl/ReorderTrackCommand.d.ts +15 -0
- package/dist/commands/impl/ReorderTrackCommand.d.ts.map +1 -0
- package/dist/commands/impl/ReorderTrackCommand.js +25 -0
- package/dist/commands/impl/ReorderTrackCommand.js.map +1 -0
- package/dist/commands/impl/ResizeRegionCommand.d.ts +18 -0
- package/dist/commands/impl/ResizeRegionCommand.d.ts.map +1 -0
- package/dist/commands/impl/ResizeRegionCommand.js +65 -0
- package/dist/commands/impl/ResizeRegionCommand.js.map +1 -0
- package/dist/commands/impl/ReverseRegionCommand.d.ts +22 -0
- package/dist/commands/impl/ReverseRegionCommand.d.ts.map +1 -0
- package/dist/commands/impl/ReverseRegionCommand.js +50 -0
- package/dist/commands/impl/ReverseRegionCommand.js.map +1 -0
- package/dist/commands/impl/SaveSessionCommand.d.ts +11 -0
- package/dist/commands/impl/SaveSessionCommand.d.ts.map +1 -0
- package/dist/commands/impl/SaveSessionCommand.js +33 -0
- package/dist/commands/impl/SaveSessionCommand.js.map +1 -0
- package/dist/commands/impl/SaveSnapshotCommand.d.ts +15 -0
- package/dist/commands/impl/SaveSnapshotCommand.d.ts.map +1 -0
- package/dist/commands/impl/SaveSnapshotCommand.js +34 -0
- package/dist/commands/impl/SaveSnapshotCommand.js.map +1 -0
- package/dist/commands/impl/SetGridCommand.d.ts +20 -0
- package/dist/commands/impl/SetGridCommand.d.ts.map +1 -0
- package/dist/commands/impl/SetGridCommand.js +35 -0
- package/dist/commands/impl/SetGridCommand.js.map +1 -0
- package/dist/commands/impl/SetLoopRangeCommand.d.ts +18 -0
- package/dist/commands/impl/SetLoopRangeCommand.d.ts.map +1 -0
- package/dist/commands/impl/SetLoopRangeCommand.js +44 -0
- package/dist/commands/impl/SetLoopRangeCommand.js.map +1 -0
- package/dist/commands/impl/SetPluginParameterCommand.d.ts +16 -0
- package/dist/commands/impl/SetPluginParameterCommand.d.ts.map +1 -0
- package/dist/commands/impl/SetPluginParameterCommand.js +49 -0
- package/dist/commands/impl/SetPluginParameterCommand.js.map +1 -0
- package/dist/commands/impl/SetPunchRangeCommand.d.ts +18 -0
- package/dist/commands/impl/SetPunchRangeCommand.d.ts.map +1 -0
- package/dist/commands/impl/SetPunchRangeCommand.js +42 -0
- package/dist/commands/impl/SetPunchRangeCommand.js.map +1 -0
- package/dist/commands/impl/SetRangeCommand.d.ts +27 -0
- package/dist/commands/impl/SetRangeCommand.d.ts.map +1 -0
- package/dist/commands/impl/SetRangeCommand.js +66 -0
- package/dist/commands/impl/SetRangeCommand.js.map +1 -0
- package/dist/commands/impl/SetRegionFadesCommand.d.ts +16 -0
- package/dist/commands/impl/SetRegionFadesCommand.d.ts.map +1 -0
- package/dist/commands/impl/SetRegionFadesCommand.js +46 -0
- package/dist/commands/impl/SetRegionFadesCommand.js.map +1 -0
- package/dist/commands/impl/SetRegionPlaybackRateCommand.d.ts +23 -0
- package/dist/commands/impl/SetRegionPlaybackRateCommand.d.ts.map +1 -0
- package/dist/commands/impl/SetRegionPlaybackRateCommand.js +46 -0
- package/dist/commands/impl/SetRegionPlaybackRateCommand.js.map +1 -0
- package/dist/commands/impl/SetRegionTimeDomainCommand.d.ts +16 -0
- package/dist/commands/impl/SetRegionTimeDomainCommand.d.ts.map +1 -0
- package/dist/commands/impl/SetRegionTimeDomainCommand.js +42 -0
- package/dist/commands/impl/SetRegionTimeDomainCommand.js.map +1 -0
- package/dist/commands/impl/SetSendLevelCommand.d.ts +18 -0
- package/dist/commands/impl/SetSendLevelCommand.d.ts.map +1 -0
- package/dist/commands/impl/SetSendLevelCommand.js +35 -0
- package/dist/commands/impl/SetSendLevelCommand.js.map +1 -0
- package/dist/commands/impl/SetTrackMuteCommand.d.ts +15 -0
- package/dist/commands/impl/SetTrackMuteCommand.d.ts.map +1 -0
- package/dist/commands/impl/SetTrackMuteCommand.js +29 -0
- package/dist/commands/impl/SetTrackMuteCommand.js.map +1 -0
- package/dist/commands/impl/SetTrackPanCommand.d.ts +15 -0
- package/dist/commands/impl/SetTrackPanCommand.d.ts.map +1 -0
- package/dist/commands/impl/SetTrackPanCommand.js +29 -0
- package/dist/commands/impl/SetTrackPanCommand.js.map +1 -0
- package/dist/commands/impl/SetTrackSoloCommand.d.ts +15 -0
- package/dist/commands/impl/SetTrackSoloCommand.d.ts.map +1 -0
- package/dist/commands/impl/SetTrackSoloCommand.js +29 -0
- package/dist/commands/impl/SetTrackSoloCommand.js.map +1 -0
- package/dist/commands/impl/SetTrackVolumeCommand.d.ts +15 -0
- package/dist/commands/impl/SetTrackVolumeCommand.d.ts.map +1 -0
- package/dist/commands/impl/SetTrackVolumeCommand.js +29 -0
- package/dist/commands/impl/SetTrackVolumeCommand.js.map +1 -0
- package/dist/commands/impl/SplitAtPlayheadCommand.d.ts +32 -0
- package/dist/commands/impl/SplitAtPlayheadCommand.d.ts.map +1 -0
- package/dist/commands/impl/SplitAtPlayheadCommand.js +100 -0
- package/dist/commands/impl/SplitAtPlayheadCommand.js.map +1 -0
- package/dist/commands/impl/SplitRegionCommand.d.ts +22 -0
- package/dist/commands/impl/SplitRegionCommand.d.ts.map +1 -0
- package/dist/commands/impl/SplitRegionCommand.js +69 -0
- package/dist/commands/impl/SplitRegionCommand.js.map +1 -0
- package/dist/commands/impl/StripSilenceCommand.d.ts +26 -0
- package/dist/commands/impl/StripSilenceCommand.d.ts.map +1 -0
- package/dist/commands/impl/StripSilenceCommand.js +83 -0
- package/dist/commands/impl/StripSilenceCommand.js.map +1 -0
- package/dist/commands/impl/TimeStretchRegionCommand.d.ts +28 -0
- package/dist/commands/impl/TimeStretchRegionCommand.d.ts.map +1 -0
- package/dist/commands/impl/TimeStretchRegionCommand.js +55 -0
- package/dist/commands/impl/TimeStretchRegionCommand.js.map +1 -0
- package/dist/commands/impl/ToggleLoopCommand.d.ts +12 -0
- package/dist/commands/impl/ToggleLoopCommand.d.ts.map +1 -0
- package/dist/commands/impl/ToggleLoopCommand.js +27 -0
- package/dist/commands/impl/ToggleLoopCommand.js.map +1 -0
- package/dist/commands/impl/TrimRegionCommand.d.ts +22 -0
- package/dist/commands/impl/TrimRegionCommand.d.ts.map +1 -0
- package/dist/commands/impl/TrimRegionCommand.js +92 -0
- package/dist/commands/impl/TrimRegionCommand.js.map +1 -0
- package/dist/commands/impl/UngroupRegionsCommand.d.ts +14 -0
- package/dist/commands/impl/UngroupRegionsCommand.d.ts.map +1 -0
- package/dist/commands/impl/UngroupRegionsCommand.js +28 -0
- package/dist/commands/impl/UngroupRegionsCommand.js.map +1 -0
- package/dist/commands/types.d.ts +1895 -0
- package/dist/commands/types.d.ts.map +1 -0
- package/dist/commands/types.js +1338 -0
- package/dist/commands/types.js.map +1 -0
- package/dist/domain/ABComparison.d.ts +33 -0
- package/dist/domain/ABComparison.d.ts.map +1 -0
- package/dist/domain/ABComparison.js +78 -0
- package/dist/domain/ABComparison.js.map +1 -0
- package/dist/domain/CDMarker.d.ts +36 -0
- package/dist/domain/CDMarker.d.ts.map +1 -0
- package/dist/domain/CDMarker.js +78 -0
- package/dist/domain/CDMarker.js.map +1 -0
- package/dist/domain/ClockMode.d.ts +19 -0
- package/dist/domain/ClockMode.d.ts.map +1 -0
- package/dist/domain/ClockMode.js +65 -0
- package/dist/domain/ClockMode.js.map +1 -0
- package/dist/domain/CrossfadeEngine.d.ts +27 -0
- package/dist/domain/CrossfadeEngine.d.ts.map +1 -0
- package/dist/domain/CrossfadeEngine.js +47 -0
- package/dist/domain/CrossfadeEngine.js.map +1 -0
- package/dist/domain/DragManager.d.ts +21 -0
- package/dist/domain/DragManager.d.ts.map +1 -0
- package/dist/domain/DragManager.js +37 -0
- package/dist/domain/DragManager.js.map +1 -0
- package/dist/domain/EditMode.d.ts +15 -0
- package/dist/domain/EditMode.d.ts.map +1 -0
- package/dist/domain/EditMode.js +16 -0
- package/dist/domain/EditMode.js.map +1 -0
- package/dist/domain/ExportConfig.d.ts +55 -0
- package/dist/domain/ExportConfig.d.ts.map +1 -0
- package/dist/domain/ExportConfig.js +115 -0
- package/dist/domain/ExportConfig.js.map +1 -0
- package/dist/domain/ExportStatus.d.ts +46 -0
- package/dist/domain/ExportStatus.d.ts.map +1 -0
- package/dist/domain/ExportStatus.js +113 -0
- package/dist/domain/ExportStatus.js.map +1 -0
- package/dist/domain/FadeEnvelope.d.ts +31 -0
- package/dist/domain/FadeEnvelope.d.ts.map +1 -0
- package/dist/domain/FadeEnvelope.js +44 -0
- package/dist/domain/FadeEnvelope.js.map +1 -0
- package/dist/domain/GridSettings.d.ts +99 -0
- package/dist/domain/GridSettings.d.ts.map +1 -0
- package/dist/domain/GridSettings.js +213 -0
- package/dist/domain/GridSettings.js.map +1 -0
- package/dist/domain/Marker.d.ts +31 -0
- package/dist/domain/Marker.d.ts.map +1 -0
- package/dist/domain/Marker.js +56 -0
- package/dist/domain/Marker.js.map +1 -0
- package/dist/domain/MeterData.d.ts +26 -0
- package/dist/domain/MeterData.d.ts.map +1 -0
- package/dist/domain/MeterData.js +2 -0
- package/dist/domain/MeterData.js.map +1 -0
- package/dist/domain/MeterType.d.ts +22 -0
- package/dist/domain/MeterType.d.ts.map +1 -0
- package/dist/domain/MeterType.js +24 -0
- package/dist/domain/MeterType.js.map +1 -0
- package/dist/domain/MidiClip.d.ts +56 -0
- package/dist/domain/MidiClip.d.ts.map +1 -0
- package/dist/domain/MidiClip.js +119 -0
- package/dist/domain/MidiClip.js.map +1 -0
- package/dist/domain/MidiNote.d.ts +38 -0
- package/dist/domain/MidiNote.d.ts.map +1 -0
- package/dist/domain/MidiNote.js +82 -0
- package/dist/domain/MidiNote.js.map +1 -0
- package/dist/domain/MidiRegion.d.ts +65 -0
- package/dist/domain/MidiRegion.d.ts.map +1 -0
- package/dist/domain/MidiRegion.js +123 -0
- package/dist/domain/MidiRegion.js.map +1 -0
- package/dist/domain/MixerScene.d.ts +62 -0
- package/dist/domain/MixerScene.d.ts.map +1 -0
- package/dist/domain/MixerScene.js +131 -0
- package/dist/domain/MixerScene.js.map +1 -0
- package/dist/domain/MonitorMode.d.ts +15 -0
- package/dist/domain/MonitorMode.d.ts.map +1 -0
- package/dist/domain/MonitorMode.js +16 -0
- package/dist/domain/MonitorMode.js.map +1 -0
- package/dist/domain/MouseMode.d.ts +25 -0
- package/dist/domain/MouseMode.d.ts.map +1 -0
- package/dist/domain/MouseMode.js +26 -0
- package/dist/domain/MouseMode.js.map +1 -0
- package/dist/domain/OverlapType.d.ts +18 -0
- package/dist/domain/OverlapType.d.ts.map +1 -0
- package/dist/domain/OverlapType.js +19 -0
- package/dist/domain/OverlapType.js.map +1 -0
- package/dist/domain/Playlist.d.ts +83 -0
- package/dist/domain/Playlist.d.ts.map +1 -0
- package/dist/domain/Playlist.js +205 -0
- package/dist/domain/Playlist.js.map +1 -0
- package/dist/domain/Range.d.ts +35 -0
- package/dist/domain/Range.d.ts.map +1 -0
- package/dist/domain/Range.js +59 -0
- package/dist/domain/Range.js.map +1 -0
- package/dist/domain/RecordMode.d.ts +13 -0
- package/dist/domain/RecordMode.d.ts.map +1 -0
- package/dist/domain/RecordMode.js +14 -0
- package/dist/domain/RecordMode.js.map +1 -0
- package/dist/domain/Region.d.ts +96 -0
- package/dist/domain/Region.d.ts.map +1 -0
- package/dist/domain/Region.js +219 -0
- package/dist/domain/Region.js.map +1 -0
- package/dist/domain/RegionClipboard.d.ts +56 -0
- package/dist/domain/RegionClipboard.d.ts.map +1 -0
- package/dist/domain/RegionClipboard.js +70 -0
- package/dist/domain/RegionClipboard.js.map +1 -0
- package/dist/domain/RegionGroup.d.ts +16 -0
- package/dist/domain/RegionGroup.d.ts.map +1 -0
- package/dist/domain/RegionGroup.js +36 -0
- package/dist/domain/RegionGroup.js.map +1 -0
- package/dist/domain/Route.d.ts +104 -0
- package/dist/domain/Route.d.ts.map +1 -0
- package/dist/domain/Route.js +192 -0
- package/dist/domain/Route.js.map +1 -0
- package/dist/domain/RulerType.d.ts +21 -0
- package/dist/domain/RulerType.d.ts.map +1 -0
- package/dist/domain/RulerType.js +22 -0
- package/dist/domain/RulerType.js.map +1 -0
- package/dist/domain/SelectionHistory.d.ts +38 -0
- package/dist/domain/SelectionHistory.d.ts.map +1 -0
- package/dist/domain/SelectionHistory.js +70 -0
- package/dist/domain/SelectionHistory.js.map +1 -0
- package/dist/domain/SendBus.d.ts +28 -0
- package/dist/domain/SendBus.d.ts.map +1 -0
- package/dist/domain/SendBus.js +43 -0
- package/dist/domain/SendBus.js.map +1 -0
- package/dist/domain/Session.d.ts +347 -0
- package/dist/domain/Session.d.ts.map +1 -0
- package/dist/domain/Session.js +965 -0
- package/dist/domain/Session.js.map +1 -0
- package/dist/domain/SidechainConfig.d.ts +51 -0
- package/dist/domain/SidechainConfig.d.ts.map +1 -0
- package/dist/domain/SidechainConfig.js +84 -0
- package/dist/domain/SidechainConfig.js.map +1 -0
- package/dist/domain/Source.d.ts +11 -0
- package/dist/domain/Source.d.ts.map +1 -0
- package/dist/domain/Source.js +11 -0
- package/dist/domain/Source.js.map +1 -0
- package/dist/domain/Take.d.ts +66 -0
- package/dist/domain/Take.d.ts.map +1 -0
- package/dist/domain/Take.js +106 -0
- package/dist/domain/Take.js.map +1 -0
- package/dist/domain/Track.d.ts +58 -0
- package/dist/domain/Track.d.ts.map +1 -0
- package/dist/domain/Track.js +124 -0
- package/dist/domain/Track.js.map +1 -0
- package/dist/domain/TrackGroup.d.ts +39 -0
- package/dist/domain/TrackGroup.d.ts.map +1 -0
- package/dist/domain/TrackGroup.js +86 -0
- package/dist/domain/TrackGroup.js.map +1 -0
- package/dist/domain/TransportFSM.d.ts +188 -0
- package/dist/domain/TransportFSM.d.ts.map +1 -0
- package/dist/domain/TransportFSM.js +412 -0
- package/dist/domain/TransportFSM.js.map +1 -0
- package/dist/domain/TransportMode.d.ts +23 -0
- package/dist/domain/TransportMode.d.ts.map +1 -0
- package/dist/domain/TransportMode.js +38 -0
- package/dist/domain/TransportMode.js.map +1 -0
- package/dist/domain/VCATrack.d.ts +48 -0
- package/dist/domain/VCATrack.d.ts.map +1 -0
- package/dist/domain/VCATrack.js +85 -0
- package/dist/domain/VCATrack.js.map +1 -0
- package/dist/domain/ZoomFocus.d.ts +21 -0
- package/dist/domain/ZoomFocus.d.ts.map +1 -0
- package/dist/domain/ZoomFocus.js +22 -0
- package/dist/domain/ZoomFocus.js.map +1 -0
- package/dist/domain/index.d.ts +11 -0
- package/dist/domain/index.d.ts.map +1 -0
- package/dist/domain/index.js +12 -0
- package/dist/domain/index.js.map +1 -0
- package/dist/domain/temporal/TempoMap.d.ts +68 -0
- package/dist/domain/temporal/TempoMap.d.ts.map +1 -0
- package/dist/domain/temporal/TempoMap.js +151 -0
- package/dist/domain/temporal/TempoMap.js.map +1 -0
- package/dist/domain/temporal/types.d.ts +34 -0
- package/dist/domain/temporal/types.d.ts.map +1 -0
- package/dist/domain/temporal/types.js +54 -0
- package/dist/domain/temporal/types.js.map +1 -0
- package/dist/domain/types.d.ts +26 -0
- package/dist/domain/types.d.ts.map +1 -0
- package/dist/domain/types.js +11 -0
- package/dist/domain/types.js.map +1 -0
- package/dist/errors/DAWErrors.d.ts +107 -0
- package/dist/errors/DAWErrors.d.ts.map +1 -0
- package/dist/errors/DAWErrors.js +159 -0
- package/dist/errors/DAWErrors.js.map +1 -0
- package/dist/index.d.ts +56 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +59 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/Signal.d.ts +28 -0
- package/dist/lib/Signal.d.ts.map +1 -0
- package/dist/lib/Signal.js +34 -0
- package/dist/lib/Signal.js.map +1 -0
- package/dist/midi/MidiInput.d.ts +61 -0
- package/dist/midi/MidiInput.d.ts.map +1 -0
- package/dist/midi/MidiInput.js +153 -0
- package/dist/midi/MidiInput.js.map +1 -0
- package/dist/plugins/AutomatableParameter.d.ts +28 -0
- package/dist/plugins/AutomatableParameter.d.ts.map +1 -0
- package/dist/plugins/AutomatableParameter.js +89 -0
- package/dist/plugins/AutomatableParameter.js.map +1 -0
- package/dist/plugins/Plugin.d.ts +31 -0
- package/dist/plugins/Plugin.d.ts.map +1 -0
- package/dist/plugins/Plugin.js +7 -0
- package/dist/plugins/Plugin.js.map +1 -0
- package/dist/plugins/PluginManager.d.ts +15 -0
- package/dist/plugins/PluginManager.d.ts.map +1 -0
- package/dist/plugins/PluginManager.js +199 -0
- package/dist/plugins/PluginManager.js.map +1 -0
- package/dist/plugins/PluginPreset.d.ts +50 -0
- package/dist/plugins/PluginPreset.d.ts.map +1 -0
- package/dist/plugins/PluginPreset.js +292 -0
- package/dist/plugins/PluginPreset.js.map +1 -0
- package/dist/plugins/impl/AutoPanPlugin.d.ts +28 -0
- package/dist/plugins/impl/AutoPanPlugin.d.ts.map +1 -0
- package/dist/plugins/impl/AutoPanPlugin.js +48 -0
- package/dist/plugins/impl/AutoPanPlugin.js.map +1 -0
- package/dist/plugins/impl/ConvolutionReverbPlugin.d.ts +35 -0
- package/dist/plugins/impl/ConvolutionReverbPlugin.d.ts.map +1 -0
- package/dist/plugins/impl/ConvolutionReverbPlugin.js +65 -0
- package/dist/plugins/impl/ConvolutionReverbPlugin.js.map +1 -0
- package/dist/plugins/impl/DeEsserPlugin.d.ts +35 -0
- package/dist/plugins/impl/DeEsserPlugin.d.ts.map +1 -0
- package/dist/plugins/impl/DeEsserPlugin.js +87 -0
- package/dist/plugins/impl/DeEsserPlugin.js.map +1 -0
- package/dist/plugins/impl/ExpanderPlugin.d.ts +42 -0
- package/dist/plugins/impl/ExpanderPlugin.d.ts.map +1 -0
- package/dist/plugins/impl/ExpanderPlugin.js +105 -0
- package/dist/plugins/impl/ExpanderPlugin.js.map +1 -0
- package/dist/plugins/impl/GenericPlugin.d.ts +20 -0
- package/dist/plugins/impl/GenericPlugin.d.ts.map +1 -0
- package/dist/plugins/impl/GenericPlugin.js +37 -0
- package/dist/plugins/impl/GenericPlugin.js.map +1 -0
- package/dist/plugins/impl/MultibandCompressorPlugin.d.ts +33 -0
- package/dist/plugins/impl/MultibandCompressorPlugin.d.ts.map +1 -0
- package/dist/plugins/impl/MultibandCompressorPlugin.js +169 -0
- package/dist/plugins/impl/MultibandCompressorPlugin.js.map +1 -0
- package/dist/plugins/impl/ParametricEQPlugin.d.ts +25 -0
- package/dist/plugins/impl/ParametricEQPlugin.d.ts.map +1 -0
- package/dist/plugins/impl/ParametricEQPlugin.js +79 -0
- package/dist/plugins/impl/ParametricEQPlugin.js.map +1 -0
- package/dist/plugins/impl/PhaserPlugin.d.ts +29 -0
- package/dist/plugins/impl/PhaserPlugin.d.ts.map +1 -0
- package/dist/plugins/impl/PhaserPlugin.js +50 -0
- package/dist/plugins/impl/PhaserPlugin.js.map +1 -0
- package/dist/plugins/impl/SyncDelayPlugin.d.ts +52 -0
- package/dist/plugins/impl/SyncDelayPlugin.d.ts.map +1 -0
- package/dist/plugins/impl/SyncDelayPlugin.js +95 -0
- package/dist/plugins/impl/SyncDelayPlugin.js.map +1 -0
- package/dist/plugins/impl/TapeSaturationPlugin.d.ts +35 -0
- package/dist/plugins/impl/TapeSaturationPlugin.d.ts.map +1 -0
- package/dist/plugins/impl/TapeSaturationPlugin.js +87 -0
- package/dist/plugins/impl/TapeSaturationPlugin.js.map +1 -0
- package/dist/plugins/impl/TremoloPlugin.d.ts +29 -0
- package/dist/plugins/impl/TremoloPlugin.d.ts.map +1 -0
- package/dist/plugins/impl/TremoloPlugin.js +50 -0
- package/dist/plugins/impl/TremoloPlugin.js.map +1 -0
- package/dist/plugins/impl/VibratoPlugin.d.ts +28 -0
- package/dist/plugins/impl/VibratoPlugin.d.ts.map +1 -0
- package/dist/plugins/impl/VibratoPlugin.js +48 -0
- package/dist/plugins/impl/VibratoPlugin.js.map +1 -0
- package/dist/preferences/KeyBindings.d.ts +38 -0
- package/dist/preferences/KeyBindings.d.ts.map +1 -0
- package/dist/preferences/KeyBindings.js +83 -0
- package/dist/preferences/KeyBindings.js.map +1 -0
- package/dist/preferences/Preferences.d.ts +49 -0
- package/dist/preferences/Preferences.d.ts.map +1 -0
- package/dist/preferences/Preferences.js +93 -0
- package/dist/preferences/Preferences.js.map +1 -0
- package/dist/preferences/index.d.ts +4 -0
- package/dist/preferences/index.d.ts.map +1 -0
- package/dist/preferences/index.js +3 -0
- package/dist/preferences/index.js.map +1 -0
- package/dist/processing/GainProcessor.d.ts +10 -0
- package/dist/processing/GainProcessor.d.ts.map +1 -0
- package/dist/processing/GainProcessor.js +21 -0
- package/dist/processing/GainProcessor.js.map +1 -0
- package/dist/processing/IO.d.ts +15 -0
- package/dist/processing/IO.d.ts.map +1 -0
- package/dist/processing/IO.js +34 -0
- package/dist/processing/IO.js.map +1 -0
- package/dist/processing/MeterProcessor.d.ts +101 -0
- package/dist/processing/MeterProcessor.d.ts.map +1 -0
- package/dist/processing/MeterProcessor.js +195 -0
- package/dist/processing/MeterProcessor.js.map +1 -0
- package/dist/processing/PanProcessor.d.ts +15 -0
- package/dist/processing/PanProcessor.d.ts.map +1 -0
- package/dist/processing/PanProcessor.js +35 -0
- package/dist/processing/PanProcessor.js.map +1 -0
- package/dist/processing/PluginInsert.d.ts +9 -0
- package/dist/processing/PluginInsert.d.ts.map +1 -0
- package/dist/processing/PluginInsert.js +16 -0
- package/dist/processing/PluginInsert.js.map +1 -0
- package/dist/processing/PolarityProcessor.d.ts +25 -0
- package/dist/processing/PolarityProcessor.d.ts.map +1 -0
- package/dist/processing/PolarityProcessor.js +35 -0
- package/dist/processing/PolarityProcessor.js.map +1 -0
- package/dist/processing/Processor.d.ts +31 -0
- package/dist/processing/Processor.d.ts.map +1 -0
- package/dist/processing/Processor.js +45 -0
- package/dist/processing/Processor.js.map +1 -0
- package/dist/processing/SendProcessor.d.ts +55 -0
- package/dist/processing/SendProcessor.d.ts.map +1 -0
- package/dist/processing/SendProcessor.js +97 -0
- package/dist/processing/SendProcessor.js.map +1 -0
- package/dist/storage/AutoSave.d.ts +48 -0
- package/dist/storage/AutoSave.d.ts.map +1 -0
- package/dist/storage/AutoSave.js +108 -0
- package/dist/storage/AutoSave.js.map +1 -0
- package/dist/storage/SessionStorage.d.ts +74 -0
- package/dist/storage/SessionStorage.d.ts.map +1 -0
- package/dist/storage/SessionStorage.js +192 -0
- package/dist/storage/SessionStorage.js.map +1 -0
- package/dist/storage/SessionTemplate.d.ts +22 -0
- package/dist/storage/SessionTemplate.d.ts.map +1 -0
- package/dist/storage/SessionTemplate.js +77 -0
- package/dist/storage/SessionTemplate.js.map +1 -0
- package/dist/utils/AudioBufferToWav.d.ts +28 -0
- package/dist/utils/AudioBufferToWav.d.ts.map +1 -0
- package/dist/utils/AudioBufferToWav.js +110 -0
- package/dist/utils/AudioBufferToWav.js.map +1 -0
- package/dist/utils/DitherProcessor.d.ts +41 -0
- package/dist/utils/DitherProcessor.d.ts.map +1 -0
- package/dist/utils/DitherProcessor.js +78 -0
- package/dist/utils/DitherProcessor.js.map +1 -0
- package/dist/utils/FlacEncoder.d.ts +22 -0
- package/dist/utils/FlacEncoder.d.ts.map +1 -0
- package/dist/utils/FlacEncoder.js +196 -0
- package/dist/utils/FlacEncoder.js.map +1 -0
- package/dist/utils/OggEncoder.d.ts +40 -0
- package/dist/utils/OggEncoder.d.ts.map +1 -0
- package/dist/utils/OggEncoder.js +183 -0
- package/dist/utils/OggEncoder.js.map +1 -0
- package/package.json +67 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AutomationCurve.js","sourceRoot":"","sources":["../../src/automation/AutomationCurve.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { AutomationPoint, InterpolationType } from './types';
|
|
2
|
+
import { Signal } from '../lib/Signal';
|
|
3
|
+
import { AutomationMode } from './AutomationMode';
|
|
4
|
+
/**
|
|
5
|
+
* An ordered list of automation points with interpolation, touch/write
|
|
6
|
+
* state tracking, write pass management, lookup caching, and range
|
|
7
|
+
* operations.
|
|
8
|
+
*
|
|
9
|
+
* Modelled after Ardour's ARDOUR::AutomationList / Evoral::ControlList.
|
|
10
|
+
*/
|
|
11
|
+
export declare class AutomationList {
|
|
12
|
+
private points;
|
|
13
|
+
private _mode;
|
|
14
|
+
/** Signals */
|
|
15
|
+
readonly changed: Signal<void>;
|
|
16
|
+
readonly modeChanged: Signal<AutomationMode>;
|
|
17
|
+
private _curve;
|
|
18
|
+
private _touching;
|
|
19
|
+
private _writePass;
|
|
20
|
+
private _lookupCache;
|
|
21
|
+
constructor();
|
|
22
|
+
get mode(): AutomationMode;
|
|
23
|
+
set mode(m: AutomationMode);
|
|
24
|
+
/**
|
|
25
|
+
* Adds a new automation point at the given time/value.
|
|
26
|
+
* Points are kept sorted by time.
|
|
27
|
+
* @param time The point time in seconds
|
|
28
|
+
* @param value The point value
|
|
29
|
+
* @param interpolation The interpolation type for the segment starting at this point
|
|
30
|
+
* @param id Optional explicit ID
|
|
31
|
+
* @returns The created AutomationPoint
|
|
32
|
+
*/
|
|
33
|
+
addPoint(time: number, value: number, interpolation?: InterpolationType, id?: string): AutomationPoint;
|
|
34
|
+
/**
|
|
35
|
+
* Updates an existing point's time and value.
|
|
36
|
+
* Re-sorts the list if the time changes.
|
|
37
|
+
* @param id The point ID
|
|
38
|
+
* @param time New time
|
|
39
|
+
* @param value New value
|
|
40
|
+
* @returns true if the point was found and updated
|
|
41
|
+
*/
|
|
42
|
+
updatePoint(id: string, time: number, value: number): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Removes a point by ID.
|
|
45
|
+
* @param id The point ID
|
|
46
|
+
* @returns true if the point was found and removed
|
|
47
|
+
*/
|
|
48
|
+
removePoint(id: string): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Returns the sorted array of automation points (read-only view).
|
|
51
|
+
*/
|
|
52
|
+
getPoints(): ReadonlyArray<AutomationPoint>;
|
|
53
|
+
/**
|
|
54
|
+
* Returns whether a user is currently touching (interacting with) this
|
|
55
|
+
* automation parameter.
|
|
56
|
+
*/
|
|
57
|
+
isTouching(): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Begin a touch interaction at the given transport time.
|
|
60
|
+
* In Touch/Latch modes this starts overwriting the existing curve.
|
|
61
|
+
* @param when The transport time when the touch begins
|
|
62
|
+
*/
|
|
63
|
+
startTouch(when: number): void;
|
|
64
|
+
/**
|
|
65
|
+
* End a touch interaction at the given transport time.
|
|
66
|
+
* In Touch mode the parameter returns to following the existing curve.
|
|
67
|
+
* In Latch mode the last written value is held until playback stops.
|
|
68
|
+
* @param when The transport time when the touch ends
|
|
69
|
+
*/
|
|
70
|
+
stopTouch(when: number): void;
|
|
71
|
+
/**
|
|
72
|
+
* Returns true if automation playback should be active — i.e. the
|
|
73
|
+
* parameter value should be read from the automation curve.
|
|
74
|
+
*
|
|
75
|
+
* - READ mode: always true
|
|
76
|
+
* - WRITE mode: always false (manual control)
|
|
77
|
+
* - TOUCH mode: true when NOT touching (follow curve), false when touching
|
|
78
|
+
* - LATCH mode: true when NOT touching (follow curve), false when touching
|
|
79
|
+
* - OFF mode: always false
|
|
80
|
+
*/
|
|
81
|
+
automationPlayback(): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Returns true if automation writing should be active — i.e. parameter
|
|
84
|
+
* changes should be recorded into the automation curve.
|
|
85
|
+
*
|
|
86
|
+
* - READ mode: always false
|
|
87
|
+
* - WRITE mode: always true
|
|
88
|
+
* - TOUCH mode: true when touching
|
|
89
|
+
* - LATCH mode: true when touching
|
|
90
|
+
* - OFF mode: always false
|
|
91
|
+
*/
|
|
92
|
+
automationWrite(): boolean;
|
|
93
|
+
/**
|
|
94
|
+
* Begins a write pass at the given time. Points written during the pass
|
|
95
|
+
* will be tracked for later thinning.
|
|
96
|
+
* @param when The transport time at the start of the write pass
|
|
97
|
+
*/
|
|
98
|
+
startWritePass(when: number): void;
|
|
99
|
+
/**
|
|
100
|
+
* Finishes the current write pass and optionally applies point thinning
|
|
101
|
+
* to the points recorded during the pass.
|
|
102
|
+
*
|
|
103
|
+
* @param when The transport time at the end of the write pass
|
|
104
|
+
* @param thinningFactor Optional area threshold for the triangle-area
|
|
105
|
+
* thinning algorithm. If provided and > 0, points in the write pass
|
|
106
|
+
* range with triangle area below this value are removed.
|
|
107
|
+
*/
|
|
108
|
+
writePassFinished(when: number, thinningFactor?: number): void;
|
|
109
|
+
/**
|
|
110
|
+
* Adds a guard point that preserves the current curve value just before
|
|
111
|
+
* or after a write pass boundary. This prevents the write pass from
|
|
112
|
+
* unintentionally altering automation outside its range.
|
|
113
|
+
*
|
|
114
|
+
* @param when The boundary time
|
|
115
|
+
* @param offset A small time offset. Negative places the guard point
|
|
116
|
+
* before `when`, positive places it after.
|
|
117
|
+
* @returns The created guard point, or null if no value could be determined
|
|
118
|
+
*/
|
|
119
|
+
addGuardPoint(when: number, offset: number): AutomationPoint | null;
|
|
120
|
+
/**
|
|
121
|
+
* Calculates the value at a given time based on points and interpolation.
|
|
122
|
+
* Uses the lookup cache (B-4) to accelerate sequential lookups and the
|
|
123
|
+
* spline engine (B-1) for Curved interpolation.
|
|
124
|
+
*
|
|
125
|
+
* @param time The time in seconds
|
|
126
|
+
* @returns The interpolated value, or null if no points exist
|
|
127
|
+
*/
|
|
128
|
+
getValueAt(time: number): number | null;
|
|
129
|
+
/**
|
|
130
|
+
* Cuts (removes) all points in the time range [start, end] and returns
|
|
131
|
+
* them as a new AutomationList. The original list is modified in place.
|
|
132
|
+
*
|
|
133
|
+
* @param start Start of the range (inclusive)
|
|
134
|
+
* @param end End of the range (inclusive)
|
|
135
|
+
* @returns A new AutomationList containing the cut points (times
|
|
136
|
+
* are preserved as-is)
|
|
137
|
+
*/
|
|
138
|
+
cut(start: number, end: number): AutomationList;
|
|
139
|
+
/**
|
|
140
|
+
* Copies all points in the time range [start, end] into a new
|
|
141
|
+
* AutomationList without modifying the original.
|
|
142
|
+
*
|
|
143
|
+
* @param start Start of the range (inclusive)
|
|
144
|
+
* @param end End of the range (inclusive)
|
|
145
|
+
* @returns A new AutomationList containing copies of the points
|
|
146
|
+
*/
|
|
147
|
+
copy(start: number, end: number): AutomationList;
|
|
148
|
+
/**
|
|
149
|
+
* Pastes the points from a source AutomationList into this list,
|
|
150
|
+
* offsetting their times so that the earliest source point lands
|
|
151
|
+
* at the given position.
|
|
152
|
+
*
|
|
153
|
+
* @param source The AutomationList to paste from
|
|
154
|
+
* @param position The target time for the earliest point
|
|
155
|
+
*/
|
|
156
|
+
paste(source: AutomationList, position: number): void;
|
|
157
|
+
/**
|
|
158
|
+
* Removes all points in the time range [start, end].
|
|
159
|
+
*
|
|
160
|
+
* @param start Start of the range (inclusive)
|
|
161
|
+
* @param end End of the range (inclusive)
|
|
162
|
+
*/
|
|
163
|
+
eraseRange(start: number, end: number): void;
|
|
164
|
+
/**
|
|
165
|
+
* Scales the time axis of all points by the given ratio.
|
|
166
|
+
* A ratio of 2.0 stretches time to double, 0.5 compresses to half.
|
|
167
|
+
*
|
|
168
|
+
* @param ratio The time scaling ratio (must be > 0)
|
|
169
|
+
*/
|
|
170
|
+
xScale(ratio: number): void;
|
|
171
|
+
/**
|
|
172
|
+
* Transforms all point values through the given callback function.
|
|
173
|
+
* Useful for operations like normalizing, inverting, or applying gain.
|
|
174
|
+
*
|
|
175
|
+
* @param fn A function that receives the current value and returns the
|
|
176
|
+
* transformed value
|
|
177
|
+
*/
|
|
178
|
+
yTransform(fn: (value: number) => number): void;
|
|
179
|
+
/**
|
|
180
|
+
* Invalidates the lookup cache and spline coefficients.
|
|
181
|
+
* Must be called whenever points are added, removed, or moved.
|
|
182
|
+
*/
|
|
183
|
+
private _invalidateCache;
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=AutomationList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AutomationList.d.ts","sourceRoot":"","sources":["../../src/automation/AutomationList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AA6BlD;;;;;;GAMG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,KAAK,CAAuC;IAEpD,cAAc;IACd,SAAgB,OAAO,eAAsB;IAC7C,SAAgB,WAAW,yBAAgC;IAG3D,OAAO,CAAC,MAAM,CAAyB;IAGvC,OAAO,CAAC,SAAS,CAAkB;IAGnC,OAAO,CAAC,UAAU,CAA+B;IAGjD,OAAO,CAAC,YAAY,CAA4B;;IAQhD,IAAW,IAAI,IAAI,cAAc,CAEhC;IAED,IAAW,IAAI,CAAC,CAAC,EAAE,cAAc,EAKhC;IAMD;;;;;;;;OAQG;IACI,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,GAAE,iBAA4C,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,eAAe;IAsBvI;;;;;;;OAOG;IACI,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IA4BpE;;;;OAIG;IACI,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAWvC;;OAEG;IACI,SAAS,IAAI,aAAa,CAAC,eAAe,CAAC;IAQlD;;;OAGG;IACI,UAAU,IAAI,OAAO;IAI5B;;;;OAIG;IACI,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQrC;;;;;OAKG;IACI,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQpC;;;;;;;;;OASG;IACI,kBAAkB,IAAI,OAAO;IAepC;;;;;;;;;OASG;IACI,eAAe,IAAI,OAAO;IAmBjC;;;;OAIG;IACI,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIzC;;;;;;;;OAQG;IACI,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI;IAmCrE;;;;;;;;;OASG;IACI,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAW1E;;;;;;;OAOG;IACI,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IA4D9C;;;;;;;;OAQG;IACI,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,cAAc;IAkBtD;;;;;;;OAOG;IACI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,cAAc;IAYvD;;;;;;;OAOG;IACI,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAY5D;;;;;OAKG;IACI,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAUnD;;;;;OAKG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAWlC;;;;;;OAMG;IACI,UAAU,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI;IAatD;;;OAGG;IACH,OAAO,CAAC,gBAAgB;CAI3B"}
|
|
@@ -0,0 +1,459 @@
|
|
|
1
|
+
import { InterpolationType } from './types';
|
|
2
|
+
import { Signal } from '../lib/Signal';
|
|
3
|
+
import { AutomationMode } from './AutomationMode';
|
|
4
|
+
import { AutomationCurve } from './AutomationCurve';
|
|
5
|
+
import { thinPoints } from './PointThinning';
|
|
6
|
+
/**
|
|
7
|
+
* An ordered list of automation points with interpolation, touch/write
|
|
8
|
+
* state tracking, write pass management, lookup caching, and range
|
|
9
|
+
* operations.
|
|
10
|
+
*
|
|
11
|
+
* Modelled after Ardour's ARDOUR::AutomationList / Evoral::ControlList.
|
|
12
|
+
*/
|
|
13
|
+
export class AutomationList {
|
|
14
|
+
constructor() {
|
|
15
|
+
this.points = [];
|
|
16
|
+
this._mode = AutomationMode.READ;
|
|
17
|
+
/** Signals */
|
|
18
|
+
this.changed = new Signal();
|
|
19
|
+
this.modeChanged = new Signal();
|
|
20
|
+
// --- B-1: Spline support ---
|
|
21
|
+
this._curve = new AutomationCurve();
|
|
22
|
+
// --- B-2: Touch state tracking ---
|
|
23
|
+
this._touching = false;
|
|
24
|
+
// --- B-3: Write pass tracking ---
|
|
25
|
+
this._writePass = null;
|
|
26
|
+
// --- B-4: Lookup cache ---
|
|
27
|
+
this._lookupCache = null;
|
|
28
|
+
}
|
|
29
|
+
// =========================================================================
|
|
30
|
+
// Mode
|
|
31
|
+
// =========================================================================
|
|
32
|
+
get mode() {
|
|
33
|
+
return this._mode;
|
|
34
|
+
}
|
|
35
|
+
set mode(m) {
|
|
36
|
+
if (this._mode !== m) {
|
|
37
|
+
this._mode = m;
|
|
38
|
+
this.modeChanged.emit(m);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
// =========================================================================
|
|
42
|
+
// Point management
|
|
43
|
+
// =========================================================================
|
|
44
|
+
/**
|
|
45
|
+
* Adds a new automation point at the given time/value.
|
|
46
|
+
* Points are kept sorted by time.
|
|
47
|
+
* @param time The point time in seconds
|
|
48
|
+
* @param value The point value
|
|
49
|
+
* @param interpolation The interpolation type for the segment starting at this point
|
|
50
|
+
* @param id Optional explicit ID
|
|
51
|
+
* @returns The created AutomationPoint
|
|
52
|
+
*/
|
|
53
|
+
addPoint(time, value, interpolation = InterpolationType.Linear, id) {
|
|
54
|
+
const point = {
|
|
55
|
+
id: id || crypto.randomUUID(),
|
|
56
|
+
time,
|
|
57
|
+
value,
|
|
58
|
+
interpolation
|
|
59
|
+
};
|
|
60
|
+
// Insert in sorted order
|
|
61
|
+
const index = this.points.findIndex(p => p.time > time);
|
|
62
|
+
if (index === -1) {
|
|
63
|
+
this.points.push(point);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
this.points.splice(index, 0, point);
|
|
67
|
+
}
|
|
68
|
+
this._invalidateCache();
|
|
69
|
+
this.changed.emit();
|
|
70
|
+
return point;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Updates an existing point's time and value.
|
|
74
|
+
* Re-sorts the list if the time changes.
|
|
75
|
+
* @param id The point ID
|
|
76
|
+
* @param time New time
|
|
77
|
+
* @param value New value
|
|
78
|
+
* @returns true if the point was found and updated
|
|
79
|
+
*/
|
|
80
|
+
updatePoint(id, time, value) {
|
|
81
|
+
const index = this.points.findIndex(p => p.id === id);
|
|
82
|
+
if (index === -1)
|
|
83
|
+
return false;
|
|
84
|
+
const point = this.points[index];
|
|
85
|
+
// If time changes, we need to re-sort.
|
|
86
|
+
if (point.time !== time) {
|
|
87
|
+
this.points.splice(index, 1);
|
|
88
|
+
point.time = time;
|
|
89
|
+
point.value = value;
|
|
90
|
+
// Re-insert
|
|
91
|
+
const newIndex = this.points.findIndex(p => p.time > time);
|
|
92
|
+
if (newIndex === -1) {
|
|
93
|
+
this.points.push(point);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
this.points.splice(newIndex, 0, point);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
point.value = value;
|
|
101
|
+
}
|
|
102
|
+
this._invalidateCache();
|
|
103
|
+
this.changed.emit();
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Removes a point by ID.
|
|
108
|
+
* @param id The point ID
|
|
109
|
+
* @returns true if the point was found and removed
|
|
110
|
+
*/
|
|
111
|
+
removePoint(id) {
|
|
112
|
+
const index = this.points.findIndex(p => p.id === id);
|
|
113
|
+
if (index !== -1) {
|
|
114
|
+
this.points.splice(index, 1);
|
|
115
|
+
this._invalidateCache();
|
|
116
|
+
this.changed.emit();
|
|
117
|
+
return true;
|
|
118
|
+
}
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Returns the sorted array of automation points (read-only view).
|
|
123
|
+
*/
|
|
124
|
+
getPoints() {
|
|
125
|
+
return this.points;
|
|
126
|
+
}
|
|
127
|
+
// =========================================================================
|
|
128
|
+
// B-2: Touch state tracking
|
|
129
|
+
// =========================================================================
|
|
130
|
+
/**
|
|
131
|
+
* Returns whether a user is currently touching (interacting with) this
|
|
132
|
+
* automation parameter.
|
|
133
|
+
*/
|
|
134
|
+
isTouching() {
|
|
135
|
+
return this._touching;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Begin a touch interaction at the given transport time.
|
|
139
|
+
* In Touch/Latch modes this starts overwriting the existing curve.
|
|
140
|
+
* @param when The transport time when the touch begins
|
|
141
|
+
*/
|
|
142
|
+
startTouch(when) {
|
|
143
|
+
this._touching = true;
|
|
144
|
+
// In Touch or Latch mode, also begin a write pass
|
|
145
|
+
if (this._mode === AutomationMode.TOUCH || this._mode === AutomationMode.LATCH) {
|
|
146
|
+
this.startWritePass(when);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* End a touch interaction at the given transport time.
|
|
151
|
+
* In Touch mode the parameter returns to following the existing curve.
|
|
152
|
+
* In Latch mode the last written value is held until playback stops.
|
|
153
|
+
* @param when The transport time when the touch ends
|
|
154
|
+
*/
|
|
155
|
+
stopTouch(when) {
|
|
156
|
+
this._touching = false;
|
|
157
|
+
// Finish write pass if one is active
|
|
158
|
+
if (this._writePass) {
|
|
159
|
+
this.writePassFinished(when);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Returns true if automation playback should be active — i.e. the
|
|
164
|
+
* parameter value should be read from the automation curve.
|
|
165
|
+
*
|
|
166
|
+
* - READ mode: always true
|
|
167
|
+
* - WRITE mode: always false (manual control)
|
|
168
|
+
* - TOUCH mode: true when NOT touching (follow curve), false when touching
|
|
169
|
+
* - LATCH mode: true when NOT touching (follow curve), false when touching
|
|
170
|
+
* - OFF mode: always false
|
|
171
|
+
*/
|
|
172
|
+
automationPlayback() {
|
|
173
|
+
switch (this._mode) {
|
|
174
|
+
case AutomationMode.READ:
|
|
175
|
+
return true;
|
|
176
|
+
case AutomationMode.WRITE:
|
|
177
|
+
return false;
|
|
178
|
+
case AutomationMode.TOUCH:
|
|
179
|
+
case AutomationMode.LATCH:
|
|
180
|
+
return !this._touching;
|
|
181
|
+
case AutomationMode.OFF:
|
|
182
|
+
default:
|
|
183
|
+
return false;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Returns true if automation writing should be active — i.e. parameter
|
|
188
|
+
* changes should be recorded into the automation curve.
|
|
189
|
+
*
|
|
190
|
+
* - READ mode: always false
|
|
191
|
+
* - WRITE mode: always true
|
|
192
|
+
* - TOUCH mode: true when touching
|
|
193
|
+
* - LATCH mode: true when touching
|
|
194
|
+
* - OFF mode: always false
|
|
195
|
+
*/
|
|
196
|
+
automationWrite() {
|
|
197
|
+
switch (this._mode) {
|
|
198
|
+
case AutomationMode.READ:
|
|
199
|
+
return false;
|
|
200
|
+
case AutomationMode.WRITE:
|
|
201
|
+
return true;
|
|
202
|
+
case AutomationMode.TOUCH:
|
|
203
|
+
case AutomationMode.LATCH:
|
|
204
|
+
return this._touching;
|
|
205
|
+
case AutomationMode.OFF:
|
|
206
|
+
default:
|
|
207
|
+
return false;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
// =========================================================================
|
|
211
|
+
// B-3: Write pass & point thinning
|
|
212
|
+
// =========================================================================
|
|
213
|
+
/**
|
|
214
|
+
* Begins a write pass at the given time. Points written during the pass
|
|
215
|
+
* will be tracked for later thinning.
|
|
216
|
+
* @param when The transport time at the start of the write pass
|
|
217
|
+
*/
|
|
218
|
+
startWritePass(when) {
|
|
219
|
+
this._writePass = { startTime: when, endTime: when };
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Finishes the current write pass and optionally applies point thinning
|
|
223
|
+
* to the points recorded during the pass.
|
|
224
|
+
*
|
|
225
|
+
* @param when The transport time at the end of the write pass
|
|
226
|
+
* @param thinningFactor Optional area threshold for the triangle-area
|
|
227
|
+
* thinning algorithm. If provided and > 0, points in the write pass
|
|
228
|
+
* range with triangle area below this value are removed.
|
|
229
|
+
*/
|
|
230
|
+
writePassFinished(when, thinningFactor) {
|
|
231
|
+
if (!this._writePass)
|
|
232
|
+
return;
|
|
233
|
+
this._writePass.endTime = when;
|
|
234
|
+
if (thinningFactor !== undefined && thinningFactor > 0) {
|
|
235
|
+
const start = this._writePass.startTime;
|
|
236
|
+
const end = this._writePass.endTime;
|
|
237
|
+
// Split points into: before range, in range, after range
|
|
238
|
+
const before = [];
|
|
239
|
+
const inRange = [];
|
|
240
|
+
const after = [];
|
|
241
|
+
for (const p of this.points) {
|
|
242
|
+
if (p.time < start) {
|
|
243
|
+
before.push(p);
|
|
244
|
+
}
|
|
245
|
+
else if (p.time > end) {
|
|
246
|
+
after.push(p);
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
inRange.push(p);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
if (inRange.length > 2) {
|
|
253
|
+
const thinned = thinPoints(inRange, thinningFactor);
|
|
254
|
+
this.points = [...before, ...thinned, ...after];
|
|
255
|
+
this._invalidateCache();
|
|
256
|
+
this.changed.emit();
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
this._writePass = null;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Adds a guard point that preserves the current curve value just before
|
|
263
|
+
* or after a write pass boundary. This prevents the write pass from
|
|
264
|
+
* unintentionally altering automation outside its range.
|
|
265
|
+
*
|
|
266
|
+
* @param when The boundary time
|
|
267
|
+
* @param offset A small time offset. Negative places the guard point
|
|
268
|
+
* before `when`, positive places it after.
|
|
269
|
+
* @returns The created guard point, or null if no value could be determined
|
|
270
|
+
*/
|
|
271
|
+
addGuardPoint(when, offset) {
|
|
272
|
+
const guardTime = when + offset;
|
|
273
|
+
const value = this.getValueAt(guardTime);
|
|
274
|
+
if (value === null)
|
|
275
|
+
return null;
|
|
276
|
+
return this.addPoint(guardTime, value);
|
|
277
|
+
}
|
|
278
|
+
// =========================================================================
|
|
279
|
+
// Value evaluation (B-1 spline + B-4 lookup cache)
|
|
280
|
+
// =========================================================================
|
|
281
|
+
/**
|
|
282
|
+
* Calculates the value at a given time based on points and interpolation.
|
|
283
|
+
* Uses the lookup cache (B-4) to accelerate sequential lookups and the
|
|
284
|
+
* spline engine (B-1) for Curved interpolation.
|
|
285
|
+
*
|
|
286
|
+
* @param time The time in seconds
|
|
287
|
+
* @returns The interpolated value, or null if no points exist
|
|
288
|
+
*/
|
|
289
|
+
getValueAt(time) {
|
|
290
|
+
if (this.points.length === 0)
|
|
291
|
+
return null;
|
|
292
|
+
// Check for any Curved points — if so, delegate to the instance curve
|
|
293
|
+
const hasCurved = this.points.some(p => p.interpolation === InterpolationType.Curved);
|
|
294
|
+
if (hasCurved) {
|
|
295
|
+
return this._curve.getValueAt(this.points, time);
|
|
296
|
+
}
|
|
297
|
+
// Fast paths for boundary cases
|
|
298
|
+
if (time <= this.points[0].time)
|
|
299
|
+
return this.points[0].value;
|
|
300
|
+
if (time >= this.points[this.points.length - 1].time) {
|
|
301
|
+
return this.points[this.points.length - 1].value;
|
|
302
|
+
}
|
|
303
|
+
// B-4: Try the lookup cache first
|
|
304
|
+
let prevIndex;
|
|
305
|
+
let nextIndex;
|
|
306
|
+
if (this._lookupCache &&
|
|
307
|
+
time >= this._lookupCache.left &&
|
|
308
|
+
this._lookupCache.rightIndex < this.points.length &&
|
|
309
|
+
time < this.points[this._lookupCache.rightIndex].time) {
|
|
310
|
+
// Cache hit — reuse indices
|
|
311
|
+
prevIndex = this._lookupCache.leftIndex;
|
|
312
|
+
nextIndex = this._lookupCache.rightIndex;
|
|
313
|
+
}
|
|
314
|
+
else {
|
|
315
|
+
// Binary search for the segment containing `time`
|
|
316
|
+
let lo = 0;
|
|
317
|
+
let hi = this.points.length - 1;
|
|
318
|
+
while (lo < hi - 1) {
|
|
319
|
+
const mid = (lo + hi) >> 1;
|
|
320
|
+
if (this.points[mid].time <= time) {
|
|
321
|
+
lo = mid;
|
|
322
|
+
}
|
|
323
|
+
else {
|
|
324
|
+
hi = mid;
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
prevIndex = lo;
|
|
328
|
+
nextIndex = hi;
|
|
329
|
+
// Update cache
|
|
330
|
+
this._lookupCache = {
|
|
331
|
+
left: this.points[lo].time,
|
|
332
|
+
leftIndex: lo,
|
|
333
|
+
rightIndex: hi,
|
|
334
|
+
};
|
|
335
|
+
}
|
|
336
|
+
const prevPoint = this.points[prevIndex];
|
|
337
|
+
const nextPoint = this.points[nextIndex];
|
|
338
|
+
// Interpolate using the static curve method
|
|
339
|
+
return AutomationCurve.getValueAt(prevPoint, nextPoint, time);
|
|
340
|
+
}
|
|
341
|
+
// =========================================================================
|
|
342
|
+
// B-6: Range operations
|
|
343
|
+
// =========================================================================
|
|
344
|
+
/**
|
|
345
|
+
* Cuts (removes) all points in the time range [start, end] and returns
|
|
346
|
+
* them as a new AutomationList. The original list is modified in place.
|
|
347
|
+
*
|
|
348
|
+
* @param start Start of the range (inclusive)
|
|
349
|
+
* @param end End of the range (inclusive)
|
|
350
|
+
* @returns A new AutomationList containing the cut points (times
|
|
351
|
+
* are preserved as-is)
|
|
352
|
+
*/
|
|
353
|
+
cut(start, end) {
|
|
354
|
+
const result = new AutomationList();
|
|
355
|
+
const kept = [];
|
|
356
|
+
for (const p of this.points) {
|
|
357
|
+
if (p.time >= start && p.time <= end) {
|
|
358
|
+
result.addPoint(p.time, p.value, p.interpolation, p.id);
|
|
359
|
+
}
|
|
360
|
+
else {
|
|
361
|
+
kept.push(p);
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
this.points = kept;
|
|
365
|
+
this._invalidateCache();
|
|
366
|
+
this.changed.emit();
|
|
367
|
+
return result;
|
|
368
|
+
}
|
|
369
|
+
/**
|
|
370
|
+
* Copies all points in the time range [start, end] into a new
|
|
371
|
+
* AutomationList without modifying the original.
|
|
372
|
+
*
|
|
373
|
+
* @param start Start of the range (inclusive)
|
|
374
|
+
* @param end End of the range (inclusive)
|
|
375
|
+
* @returns A new AutomationList containing copies of the points
|
|
376
|
+
*/
|
|
377
|
+
copy(start, end) {
|
|
378
|
+
const result = new AutomationList();
|
|
379
|
+
for (const p of this.points) {
|
|
380
|
+
if (p.time >= start && p.time <= end) {
|
|
381
|
+
result.addPoint(p.time, p.value, p.interpolation);
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
return result;
|
|
385
|
+
}
|
|
386
|
+
/**
|
|
387
|
+
* Pastes the points from a source AutomationList into this list,
|
|
388
|
+
* offsetting their times so that the earliest source point lands
|
|
389
|
+
* at the given position.
|
|
390
|
+
*
|
|
391
|
+
* @param source The AutomationList to paste from
|
|
392
|
+
* @param position The target time for the earliest point
|
|
393
|
+
*/
|
|
394
|
+
paste(source, position) {
|
|
395
|
+
const sourcePoints = source.getPoints();
|
|
396
|
+
if (sourcePoints.length === 0)
|
|
397
|
+
return;
|
|
398
|
+
const sourceStart = sourcePoints[0].time;
|
|
399
|
+
const offset = position - sourceStart;
|
|
400
|
+
for (const p of sourcePoints) {
|
|
401
|
+
this.addPoint(p.time + offset, p.value, p.interpolation);
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
/**
|
|
405
|
+
* Removes all points in the time range [start, end].
|
|
406
|
+
*
|
|
407
|
+
* @param start Start of the range (inclusive)
|
|
408
|
+
* @param end End of the range (inclusive)
|
|
409
|
+
*/
|
|
410
|
+
eraseRange(start, end) {
|
|
411
|
+
const before = this.points.length;
|
|
412
|
+
this.points = this.points.filter(p => p.time < start || p.time > end);
|
|
413
|
+
if (this.points.length !== before) {
|
|
414
|
+
this._invalidateCache();
|
|
415
|
+
this.changed.emit();
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* Scales the time axis of all points by the given ratio.
|
|
420
|
+
* A ratio of 2.0 stretches time to double, 0.5 compresses to half.
|
|
421
|
+
*
|
|
422
|
+
* @param ratio The time scaling ratio (must be > 0)
|
|
423
|
+
*/
|
|
424
|
+
xScale(ratio) {
|
|
425
|
+
if (ratio <= 0)
|
|
426
|
+
return;
|
|
427
|
+
for (const p of this.points) {
|
|
428
|
+
p.time *= ratio;
|
|
429
|
+
}
|
|
430
|
+
this._invalidateCache();
|
|
431
|
+
this.changed.emit();
|
|
432
|
+
}
|
|
433
|
+
/**
|
|
434
|
+
* Transforms all point values through the given callback function.
|
|
435
|
+
* Useful for operations like normalizing, inverting, or applying gain.
|
|
436
|
+
*
|
|
437
|
+
* @param fn A function that receives the current value and returns the
|
|
438
|
+
* transformed value
|
|
439
|
+
*/
|
|
440
|
+
yTransform(fn) {
|
|
441
|
+
for (const p of this.points) {
|
|
442
|
+
p.value = fn(p.value);
|
|
443
|
+
}
|
|
444
|
+
this._invalidateCache();
|
|
445
|
+
this.changed.emit();
|
|
446
|
+
}
|
|
447
|
+
// =========================================================================
|
|
448
|
+
// Internal helpers
|
|
449
|
+
// =========================================================================
|
|
450
|
+
/**
|
|
451
|
+
* Invalidates the lookup cache and spline coefficients.
|
|
452
|
+
* Must be called whenever points are added, removed, or moved.
|
|
453
|
+
*/
|
|
454
|
+
_invalidateCache() {
|
|
455
|
+
this._lookupCache = null;
|
|
456
|
+
this._curve.invalidateSpline();
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
//# sourceMappingURL=AutomationList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AutomationList.js","sourceRoot":"","sources":["../../src/automation/AutomationList.ts"],"names":[],"mappings":"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"}
|