@drop-ai/core 0.2.0 → 0.3.1
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 -21
- package/README.md +734 -316
- package/dist/actions/ActionRegistry.d.ts.map +1 -1
- package/dist/actions/ActionRegistry.js +7 -2
- package/dist/actions/ActionRegistry.js.map +1 -1
- package/dist/actions/types.d.ts +7 -1
- package/dist/actions/types.d.ts.map +1 -1
- package/dist/analysis/AudioAnalyzer.d.ts +69 -0
- package/dist/analysis/AudioAnalyzer.d.ts.map +1 -0
- package/dist/analysis/AudioAnalyzer.js +567 -0
- package/dist/analysis/AudioAnalyzer.js.map +1 -0
- package/dist/audio/AudioEngine.d.ts +14 -1
- package/dist/audio/AudioEngine.d.ts.map +1 -1
- package/dist/audio/AudioEngine.js +115 -35
- package/dist/audio/AudioEngine.js.map +1 -1
- package/dist/audio/Auditioner.d.ts +102 -0
- package/dist/audio/Auditioner.d.ts.map +1 -0
- package/dist/audio/Auditioner.js +237 -0
- package/dist/audio/Auditioner.js.map +1 -0
- package/dist/audio/BWFMetadata.d.ts +114 -0
- package/dist/audio/BWFMetadata.d.ts.map +1 -0
- package/dist/audio/BWFMetadata.js +392 -0
- package/dist/audio/BWFMetadata.js.map +1 -0
- package/dist/audio/BufferPool.d.ts +0 -3
- package/dist/audio/BufferPool.d.ts.map +1 -1
- package/dist/audio/BufferPool.js +0 -3
- package/dist/audio/BufferPool.js.map +1 -1
- package/dist/audio/ChannelSplitter.d.ts +36 -0
- package/dist/audio/ChannelSplitter.d.ts.map +1 -0
- package/dist/audio/ChannelSplitter.js +81 -0
- package/dist/audio/ChannelSplitter.js.map +1 -0
- package/dist/audio/ExportAnalyzer.d.ts +38 -0
- package/dist/audio/ExportAnalyzer.d.ts.map +1 -0
- package/dist/audio/ExportAnalyzer.js +75 -0
- package/dist/audio/ExportAnalyzer.js.map +1 -0
- package/dist/audio/LufsNormalizer.d.ts +36 -0
- package/dist/audio/LufsNormalizer.d.ts.map +1 -0
- package/dist/audio/LufsNormalizer.js +216 -0
- package/dist/audio/LufsNormalizer.js.map +1 -0
- package/dist/audio/MeterUtils.d.ts +0 -2
- package/dist/audio/MeterUtils.d.ts.map +1 -1
- package/dist/audio/MeterUtils.js +0 -2
- package/dist/audio/MeterUtils.js.map +1 -1
- package/dist/audio/OfflineExporter.d.ts +1 -7
- package/dist/audio/OfflineExporter.d.ts.map +1 -1
- package/dist/audio/OfflineExporter.js +31 -11
- package/dist/audio/OfflineExporter.js.map +1 -1
- package/dist/audio/ProcessingGraph.d.ts +0 -1
- package/dist/audio/ProcessingGraph.d.ts.map +1 -1
- package/dist/audio/ProcessingGraph.js +0 -1
- package/dist/audio/ProcessingGraph.js.map +1 -1
- package/dist/audio/RoutingGraph.d.ts +134 -0
- package/dist/audio/RoutingGraph.d.ts.map +1 -0
- package/dist/audio/RoutingGraph.js +547 -0
- package/dist/audio/RoutingGraph.js.map +1 -0
- package/dist/audio/SampleRateConverter.d.ts +20 -0
- package/dist/audio/SampleRateConverter.d.ts.map +1 -0
- package/dist/audio/SampleRateConverter.js +83 -0
- package/dist/audio/SampleRateConverter.js.map +1 -0
- package/dist/audio/SilencePadding.d.ts +27 -0
- package/dist/audio/SilencePadding.d.ts.map +1 -0
- package/dist/audio/SilencePadding.js +84 -0
- package/dist/audio/SilencePadding.js.map +1 -0
- package/dist/audio/SourceCache.d.ts +13 -19
- package/dist/audio/SourceCache.d.ts.map +1 -1
- package/dist/audio/SourceCache.js +21 -36
- package/dist/audio/SourceCache.js.map +1 -1
- package/dist/audio/engine/Declick.d.ts +97 -0
- package/dist/audio/engine/Declick.d.ts.map +1 -0
- package/dist/audio/engine/Declick.js +203 -0
- package/dist/audio/engine/Declick.js.map +1 -0
- package/dist/audio/engine/DiskIO.d.ts +170 -0
- package/dist/audio/engine/DiskIO.d.ts.map +1 -0
- package/dist/audio/engine/DiskIO.js +382 -0
- package/dist/audio/engine/DiskIO.js.map +1 -0
- package/dist/audio/engine/LatencyCompensator.d.ts +46 -0
- package/dist/audio/engine/LatencyCompensator.d.ts.map +1 -0
- package/dist/audio/engine/LatencyCompensator.js +84 -0
- package/dist/audio/engine/LatencyCompensator.js.map +1 -0
- package/dist/audio/engine/MultiTrackRecorder.d.ts +144 -0
- package/dist/audio/engine/MultiTrackRecorder.d.ts.map +1 -0
- package/dist/audio/engine/MultiTrackRecorder.js +359 -0
- package/dist/audio/engine/MultiTrackRecorder.js.map +1 -0
- package/dist/audio/engine/PlaylistEngine.d.ts +1 -1
- package/dist/audio/engine/PlaylistEngine.d.ts.map +1 -1
- package/dist/audio/engine/PlaylistEngine.js +10 -3
- package/dist/audio/engine/PlaylistEngine.js.map +1 -1
- package/dist/audio/engine/PunchRecordManager.d.ts +111 -0
- package/dist/audio/engine/PunchRecordManager.d.ts.map +1 -0
- package/dist/audio/engine/PunchRecordManager.js +191 -0
- package/dist/audio/engine/PunchRecordManager.js.map +1 -0
- package/dist/audio/engine/RoutingGraph.d.ts +133 -0
- package/dist/audio/engine/RoutingGraph.d.ts.map +1 -0
- package/dist/audio/engine/RoutingGraph.js +436 -0
- package/dist/audio/engine/RoutingGraph.js.map +1 -0
- package/dist/audio/engine/SidechainRouter.d.ts +137 -0
- package/dist/audio/engine/SidechainRouter.d.ts.map +1 -0
- package/dist/audio/engine/SidechainRouter.js +290 -0
- package/dist/audio/engine/SidechainRouter.js.map +1 -0
- package/dist/audio/engine/XrunTracker.d.ts +71 -0
- package/dist/audio/engine/XrunTracker.d.ts.map +1 -0
- package/dist/audio/engine/XrunTracker.js +118 -0
- package/dist/audio/engine/XrunTracker.js.map +1 -0
- package/dist/audio/export/CDMarkerExporter.d.ts +60 -0
- package/dist/audio/export/CDMarkerExporter.d.ts.map +1 -0
- package/dist/audio/export/CDMarkerExporter.js +162 -0
- package/dist/audio/export/CDMarkerExporter.js.map +1 -0
- package/dist/audio/export/ExportGraphBuilder.d.ts +119 -0
- package/dist/audio/export/ExportGraphBuilder.d.ts.map +1 -0
- package/dist/audio/export/ExportGraphBuilder.js +520 -0
- package/dist/audio/export/ExportGraphBuilder.js.map +1 -0
- package/dist/audio/export/ExportPresetManager.d.ts +85 -0
- package/dist/audio/export/ExportPresetManager.d.ts.map +1 -0
- package/dist/audio/export/ExportPresetManager.js +304 -0
- package/dist/audio/export/ExportPresetManager.js.map +1 -0
- package/dist/automation/AutomationList.d.ts +0 -1
- package/dist/automation/AutomationList.d.ts.map +1 -1
- package/dist/automation/AutomationList.js +0 -1
- package/dist/automation/AutomationList.js.map +1 -1
- package/dist/automation/AutomationMode.d.ts +0 -1
- package/dist/automation/AutomationMode.d.ts.map +1 -1
- package/dist/automation/AutomationMode.js +0 -1
- package/dist/automation/AutomationMode.js.map +1 -1
- package/dist/commands/CommandHistory.d.ts +1 -4
- package/dist/commands/CommandHistory.d.ts.map +1 -1
- package/dist/commands/CommandHistory.js +6 -9
- package/dist/commands/CommandHistory.js.map +1 -1
- package/dist/commands/CommandRegistry.d.ts +1 -2
- package/dist/commands/CommandRegistry.d.ts.map +1 -1
- package/dist/commands/CommandRegistry.js +1 -2
- package/dist/commands/CommandRegistry.js.map +1 -1
- package/dist/commands/UndoTransaction.d.ts +0 -2
- package/dist/commands/UndoTransaction.d.ts.map +1 -1
- package/dist/commands/UndoTransaction.js +1 -3
- package/dist/commands/UndoTransaction.js.map +1 -1
- package/dist/commands/handlers/HistoryHandler.d.ts +5 -5
- package/dist/commands/handlers/HistoryHandler.js +10 -10
- package/dist/commands/handlers/HistoryHandler.js.map +1 -1
- package/dist/commands/handlers/MarkerHandler.d.ts +0 -1
- package/dist/commands/handlers/MarkerHandler.d.ts.map +1 -1
- package/dist/commands/handlers/MarkerHandler.js +0 -1
- package/dist/commands/handlers/MarkerHandler.js.map +1 -1
- package/dist/commands/handlers/RegionHandler.d.ts.map +1 -1
- package/dist/commands/handlers/RegionHandler.js +25 -1
- package/dist/commands/handlers/RegionHandler.js.map +1 -1
- package/dist/commands/handlers/TrackHandler.js +1 -1
- package/dist/commands/handlers/TrackHandler.js.map +1 -1
- package/dist/commands/impl/CopyRegionCommand.d.ts +0 -1
- package/dist/commands/impl/CopyRegionCommand.d.ts.map +1 -1
- package/dist/commands/impl/CopyRegionCommand.js +0 -1
- package/dist/commands/impl/CopyRegionCommand.js.map +1 -1
- package/dist/commands/impl/DuplicateRegionCommand.d.ts +0 -1
- package/dist/commands/impl/DuplicateRegionCommand.d.ts.map +1 -1
- package/dist/commands/impl/DuplicateRegionCommand.js +0 -1
- package/dist/commands/impl/DuplicateRegionCommand.js.map +1 -1
- package/dist/commands/impl/ExportCommand.d.ts +0 -1
- package/dist/commands/impl/ExportCommand.d.ts.map +1 -1
- package/dist/commands/impl/ExportCommand.js +0 -1
- package/dist/commands/impl/ExportCommand.js.map +1 -1
- package/dist/commands/impl/FreezeTrackCommand.d.ts +1 -1
- package/dist/commands/impl/FreezeTrackCommand.d.ts.map +1 -1
- package/dist/commands/impl/FreezeTrackCommand.js +38 -37
- package/dist/commands/impl/FreezeTrackCommand.js.map +1 -1
- package/dist/commands/impl/PasteRegionCommand.d.ts +0 -1
- package/dist/commands/impl/PasteRegionCommand.d.ts.map +1 -1
- package/dist/commands/impl/PasteRegionCommand.js +0 -1
- package/dist/commands/impl/PasteRegionCommand.js.map +1 -1
- package/dist/commands/impl/SaveSnapshotCommand.d.ts +1 -1
- package/dist/commands/impl/SaveSnapshotCommand.js +1 -1
- package/dist/commands/impl/SetLoopRangeCommand.d.ts +0 -1
- package/dist/commands/impl/SetLoopRangeCommand.d.ts.map +1 -1
- package/dist/commands/impl/SetLoopRangeCommand.js +0 -1
- package/dist/commands/impl/SetLoopRangeCommand.js.map +1 -1
- package/dist/commands/impl/SetPunchRangeCommand.d.ts +0 -1
- package/dist/commands/impl/SetPunchRangeCommand.d.ts.map +1 -1
- package/dist/commands/impl/SetPunchRangeCommand.js +0 -1
- package/dist/commands/impl/SetPunchRangeCommand.js.map +1 -1
- package/dist/commands/impl/SetRegionTimeDomainCommand.d.ts.map +1 -1
- package/dist/commands/impl/SetRegionTimeDomainCommand.js +3 -3
- package/dist/commands/impl/SetRegionTimeDomainCommand.js.map +1 -1
- package/dist/commands/impl/SplitAtPlayheadCommand.d.ts +0 -2
- package/dist/commands/impl/SplitAtPlayheadCommand.d.ts.map +1 -1
- package/dist/commands/impl/SplitAtPlayheadCommand.js +0 -2
- package/dist/commands/impl/SplitAtPlayheadCommand.js.map +1 -1
- package/dist/commands/impl/SplitRegionCommand.d.ts +0 -1
- package/dist/commands/impl/SplitRegionCommand.d.ts.map +1 -1
- package/dist/commands/impl/SplitRegionCommand.js +0 -1
- package/dist/commands/impl/SplitRegionCommand.js.map +1 -1
- package/dist/commands/impl/StripSilenceCommand.d.ts +0 -1
- package/dist/commands/impl/StripSilenceCommand.d.ts.map +1 -1
- package/dist/commands/impl/StripSilenceCommand.js +0 -1
- package/dist/commands/impl/StripSilenceCommand.js.map +1 -1
- package/dist/commands/impl/TimeStretchRegionCommand.d.ts +1 -2
- package/dist/commands/impl/TimeStretchRegionCommand.d.ts.map +1 -1
- package/dist/commands/impl/TimeStretchRegionCommand.js +1 -2
- package/dist/commands/impl/TimeStretchRegionCommand.js.map +1 -1
- package/dist/commands/impl/ToggleLoopCommand.d.ts +1 -0
- package/dist/commands/impl/ToggleLoopCommand.d.ts.map +1 -1
- package/dist/commands/impl/ToggleLoopCommand.js +10 -0
- package/dist/commands/impl/ToggleLoopCommand.js.map +1 -1
- package/dist/commands/impl/TrimRegionCommand.d.ts +14 -1
- package/dist/commands/impl/TrimRegionCommand.d.ts.map +1 -1
- package/dist/commands/impl/TrimRegionCommand.js +138 -33
- package/dist/commands/impl/TrimRegionCommand.js.map +1 -1
- package/dist/commands/impl/TrimRegionToPlayheadCommand.d.ts +26 -0
- package/dist/commands/impl/TrimRegionToPlayheadCommand.d.ts.map +1 -0
- package/dist/commands/impl/TrimRegionToPlayheadCommand.js +68 -0
- package/dist/commands/impl/TrimRegionToPlayheadCommand.js.map +1 -0
- package/dist/commands/impl/TrimRegionToRangeCommand.d.ts +27 -0
- package/dist/commands/impl/TrimRegionToRangeCommand.d.ts.map +1 -0
- package/dist/commands/impl/TrimRegionToRangeCommand.js +68 -0
- package/dist/commands/impl/TrimRegionToRangeCommand.js.map +1 -0
- package/dist/commands/impl/TrimToAdjacentRegionCommand.d.ts +26 -0
- package/dist/commands/impl/TrimToAdjacentRegionCommand.d.ts.map +1 -0
- package/dist/commands/impl/TrimToAdjacentRegionCommand.js +76 -0
- package/dist/commands/impl/TrimToAdjacentRegionCommand.js.map +1 -0
- package/dist/commands/types.d.ts +19 -0
- package/dist/commands/types.d.ts.map +1 -1
- package/dist/commands/types.js +21 -0
- package/dist/commands/types.js.map +1 -1
- package/dist/domain/ABComparison.d.ts +0 -1
- package/dist/domain/ABComparison.d.ts.map +1 -1
- package/dist/domain/ABComparison.js +0 -1
- package/dist/domain/ABComparison.js.map +1 -1
- package/dist/domain/CDMarker.d.ts +0 -1
- package/dist/domain/CDMarker.d.ts.map +1 -1
- package/dist/domain/CDMarker.js +0 -1
- package/dist/domain/CDMarker.js.map +1 -1
- package/dist/domain/ClockMode.d.ts +0 -1
- package/dist/domain/ClockMode.d.ts.map +1 -1
- package/dist/domain/ClockMode.js +0 -1
- package/dist/domain/ClockMode.js.map +1 -1
- package/dist/domain/Crossfade.d.ts +78 -0
- package/dist/domain/Crossfade.d.ts.map +1 -0
- package/dist/domain/Crossfade.js +216 -0
- package/dist/domain/Crossfade.js.map +1 -0
- package/dist/domain/DragManager.d.ts +0 -2
- package/dist/domain/DragManager.d.ts.map +1 -1
- package/dist/domain/DragManager.js +0 -2
- package/dist/domain/DragManager.js.map +1 -1
- package/dist/domain/EditMode.d.ts +0 -1
- package/dist/domain/EditMode.d.ts.map +1 -1
- package/dist/domain/EditMode.js +0 -1
- package/dist/domain/EditMode.js.map +1 -1
- package/dist/domain/ExportConfig.d.ts +98 -2
- package/dist/domain/ExportConfig.d.ts.map +1 -1
- package/dist/domain/ExportConfig.js +154 -2
- package/dist/domain/ExportConfig.js.map +1 -1
- package/dist/domain/ExportPreset.d.ts +60 -0
- package/dist/domain/ExportPreset.d.ts.map +1 -0
- package/dist/domain/ExportPreset.js +77 -0
- package/dist/domain/ExportPreset.js.map +1 -0
- package/dist/domain/ExportStatus.d.ts +0 -1
- package/dist/domain/ExportStatus.d.ts.map +1 -1
- package/dist/domain/ExportStatus.js +0 -1
- package/dist/domain/ExportStatus.js.map +1 -1
- package/dist/domain/GridSettings.d.ts +0 -3
- package/dist/domain/GridSettings.d.ts.map +1 -1
- package/dist/domain/GridSettings.js +0 -3
- package/dist/domain/GridSettings.js.map +1 -1
- package/dist/domain/ImportStatus.d.ts +40 -0
- package/dist/domain/ImportStatus.d.ts.map +1 -0
- package/dist/domain/ImportStatus.js +86 -0
- package/dist/domain/ImportStatus.js.map +1 -0
- package/dist/domain/Marker.d.ts +0 -1
- package/dist/domain/Marker.d.ts.map +1 -1
- package/dist/domain/Marker.js +0 -1
- package/dist/domain/Marker.js.map +1 -1
- package/dist/domain/MeterData.d.ts +0 -2
- package/dist/domain/MeterData.d.ts.map +1 -1
- package/dist/domain/MeterType.d.ts +0 -2
- package/dist/domain/MeterType.d.ts.map +1 -1
- package/dist/domain/MeterType.js +0 -2
- package/dist/domain/MeterType.js.map +1 -1
- package/dist/domain/MonitorMode.d.ts +0 -1
- package/dist/domain/MonitorMode.d.ts.map +1 -1
- package/dist/domain/MonitorMode.js +0 -1
- package/dist/domain/MonitorMode.js.map +1 -1
- package/dist/domain/MouseMode.d.ts +0 -1
- package/dist/domain/MouseMode.d.ts.map +1 -1
- package/dist/domain/MouseMode.js +0 -1
- package/dist/domain/MouseMode.js.map +1 -1
- package/dist/domain/OverlapType.d.ts +0 -2
- package/dist/domain/OverlapType.d.ts.map +1 -1
- package/dist/domain/OverlapType.js +0 -2
- package/dist/domain/OverlapType.js.map +1 -1
- package/dist/domain/Playlist.d.ts +72 -0
- package/dist/domain/Playlist.d.ts.map +1 -1
- package/dist/domain/Playlist.js +231 -6
- package/dist/domain/Playlist.js.map +1 -1
- package/dist/domain/Range.d.ts +0 -1
- package/dist/domain/Range.d.ts.map +1 -1
- package/dist/domain/Range.js +0 -1
- package/dist/domain/Range.js.map +1 -1
- package/dist/domain/RecordMode.d.ts +0 -1
- package/dist/domain/RecordMode.d.ts.map +1 -1
- package/dist/domain/RecordMode.js +0 -1
- package/dist/domain/RecordMode.js.map +1 -1
- package/dist/domain/Region.d.ts +76 -0
- package/dist/domain/Region.d.ts.map +1 -1
- package/dist/domain/Region.js +234 -1
- package/dist/domain/Region.js.map +1 -1
- package/dist/domain/RegionClipboard.d.ts +1 -3
- package/dist/domain/RegionClipboard.d.ts.map +1 -1
- package/dist/domain/RegionClipboard.js +1 -2
- package/dist/domain/RegionClipboard.js.map +1 -1
- package/dist/domain/Route.d.ts +43 -3
- package/dist/domain/Route.d.ts.map +1 -1
- package/dist/domain/Route.js +92 -6
- package/dist/domain/Route.js.map +1 -1
- package/dist/domain/RulerType.d.ts +0 -1
- package/dist/domain/RulerType.d.ts.map +1 -1
- package/dist/domain/RulerType.js +0 -1
- package/dist/domain/RulerType.js.map +1 -1
- package/dist/domain/SelectionHistory.d.ts +0 -3
- package/dist/domain/SelectionHistory.d.ts.map +1 -1
- package/dist/domain/SelectionHistory.js +0 -3
- package/dist/domain/SelectionHistory.js.map +1 -1
- package/dist/domain/SendBus.d.ts +0 -1
- package/dist/domain/SendBus.d.ts.map +1 -1
- package/dist/domain/SendBus.js +0 -1
- package/dist/domain/SendBus.js.map +1 -1
- package/dist/domain/Session.d.ts +31 -0
- package/dist/domain/Session.d.ts.map +1 -1
- package/dist/domain/Session.js +70 -0
- package/dist/domain/Session.js.map +1 -1
- package/dist/domain/SidechainConfig.d.ts +0 -1
- package/dist/domain/SidechainConfig.d.ts.map +1 -1
- package/dist/domain/SidechainConfig.js +0 -1
- package/dist/domain/SidechainConfig.js.map +1 -1
- package/dist/domain/Source.d.ts +145 -1
- package/dist/domain/Source.d.ts.map +1 -1
- package/dist/domain/Source.js +144 -1
- package/dist/domain/Source.js.map +1 -1
- package/dist/domain/Take.d.ts +0 -1
- package/dist/domain/Take.d.ts.map +1 -1
- package/dist/domain/Take.js +0 -1
- package/dist/domain/Take.js.map +1 -1
- package/dist/domain/ThawList.d.ts +36 -0
- package/dist/domain/ThawList.d.ts.map +1 -0
- package/dist/domain/ThawList.js +72 -0
- package/dist/domain/ThawList.js.map +1 -0
- package/dist/domain/Track.d.ts +93 -1
- package/dist/domain/Track.d.ts.map +1 -1
- package/dist/domain/Track.js +136 -0
- package/dist/domain/Track.js.map +1 -1
- package/dist/domain/TrackGroup.d.ts +0 -1
- package/dist/domain/TrackGroup.d.ts.map +1 -1
- package/dist/domain/TrackGroup.js +0 -1
- package/dist/domain/TrackGroup.js.map +1 -1
- package/dist/domain/TransportFSM.d.ts +0 -1
- package/dist/domain/TransportFSM.d.ts.map +1 -1
- package/dist/domain/TransportFSM.js +0 -1
- package/dist/domain/TransportFSM.js.map +1 -1
- package/dist/domain/TransportMode.d.ts +0 -1
- package/dist/domain/TransportMode.d.ts.map +1 -1
- package/dist/domain/TransportMode.js +0 -1
- package/dist/domain/TransportMode.js.map +1 -1
- package/dist/domain/TriggerBox.d.ts +121 -0
- package/dist/domain/TriggerBox.d.ts.map +1 -0
- package/dist/domain/TriggerBox.js +428 -0
- package/dist/domain/TriggerBox.js.map +1 -0
- package/dist/domain/VCATrack.d.ts +63 -2
- package/dist/domain/VCATrack.d.ts.map +1 -1
- package/dist/domain/VCATrack.js +127 -2
- package/dist/domain/VCATrack.js.map +1 -1
- package/dist/domain/VideoExportConfig.d.ts +116 -0
- package/dist/domain/VideoExportConfig.d.ts.map +1 -0
- package/dist/domain/VideoExportConfig.js +243 -0
- package/dist/domain/VideoExportConfig.js.map +1 -0
- package/dist/domain/VideoExportStatus.d.ts +89 -0
- package/dist/domain/VideoExportStatus.d.ts.map +1 -0
- package/dist/domain/VideoExportStatus.js +192 -0
- package/dist/domain/VideoExportStatus.js.map +1 -0
- package/dist/domain/VideoMetadata.d.ts +46 -0
- package/dist/domain/VideoMetadata.d.ts.map +1 -0
- package/dist/domain/VideoMetadata.js +2 -0
- package/dist/domain/VideoMetadata.js.map +1 -0
- package/dist/domain/ZoomFocus.d.ts +0 -1
- package/dist/domain/ZoomFocus.d.ts.map +1 -1
- package/dist/domain/ZoomFocus.js +0 -1
- package/dist/domain/ZoomFocus.js.map +1 -1
- package/dist/domain/index.d.ts +5 -0
- package/dist/domain/index.d.ts.map +1 -1
- package/dist/domain/index.js +5 -0
- package/dist/domain/index.js.map +1 -1
- package/dist/domain/temporal/TempoMap.d.ts +198 -2
- package/dist/domain/temporal/TempoMap.d.ts.map +1 -1
- package/dist/domain/temporal/TempoMap.js +464 -30
- package/dist/domain/temporal/TempoMap.js.map +1 -1
- package/dist/domain/temporal/types.d.ts +1 -1
- package/dist/domain/temporal/types.d.ts.map +1 -1
- package/dist/domain/temporal/types.js +1 -1
- package/dist/domain/temporal/types.js.map +1 -1
- package/dist/index.d.ts +43 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/Signal.d.ts +1 -1
- package/dist/lib/ThawList.d.ts +98 -0
- package/dist/lib/ThawList.d.ts.map +1 -0
- package/dist/lib/ThawList.js +151 -0
- package/dist/lib/ThawList.js.map +1 -0
- package/dist/midi/MidiFileParser.d.ts +32 -0
- package/dist/midi/MidiFileParser.d.ts.map +1 -0
- package/dist/midi/MidiFileParser.js +245 -0
- package/dist/midi/MidiFileParser.js.map +1 -0
- package/dist/midi/MidiFileWriter.d.ts +30 -0
- package/dist/midi/MidiFileWriter.d.ts.map +1 -0
- package/dist/midi/MidiFileWriter.js +159 -0
- package/dist/midi/MidiFileWriter.js.map +1 -0
- package/dist/midi/MidiImporter.d.ts +37 -0
- package/dist/midi/MidiImporter.d.ts.map +1 -0
- package/dist/midi/MidiImporter.js +62 -0
- package/dist/midi/MidiImporter.js.map +1 -0
- package/dist/plugins/PluginManager.js +2 -2
- package/dist/plugins/PluginManager.js.map +1 -1
- package/dist/plugins/PluginPresetManager.d.ts +86 -0
- package/dist/plugins/PluginPresetManager.d.ts.map +1 -0
- package/dist/plugins/PluginPresetManager.js +140 -0
- package/dist/plugins/PluginPresetManager.js.map +1 -0
- package/dist/plugins/impl/ExpanderPlugin.d.ts +1 -1
- package/dist/plugins/impl/ExpanderPlugin.js +1 -1
- package/dist/plugins/impl/ParametricEQPlugin.d.ts +1 -1
- package/dist/plugins/impl/ParametricEQPlugin.js +1 -1
- package/dist/processing/IO.d.ts +15 -1
- package/dist/processing/IO.d.ts.map +1 -1
- package/dist/processing/IO.js +29 -1
- package/dist/processing/IO.js.map +1 -1
- package/dist/processing/InternalSend.d.ts +102 -0
- package/dist/processing/InternalSend.d.ts.map +1 -0
- package/dist/processing/InternalSend.js +175 -0
- package/dist/processing/InternalSend.js.map +1 -0
- package/dist/processing/MeterDSP.d.ts +165 -0
- package/dist/processing/MeterDSP.d.ts.map +1 -0
- package/dist/processing/MeterDSP.js +753 -0
- package/dist/processing/MeterDSP.js.map +1 -0
- package/dist/processing/MeterProcessor.d.ts +0 -1
- package/dist/processing/MeterProcessor.d.ts.map +1 -1
- package/dist/processing/MeterProcessor.js +0 -1
- package/dist/processing/MeterProcessor.js.map +1 -1
- package/dist/processing/Panner.d.ts +144 -0
- package/dist/processing/Panner.d.ts.map +1 -0
- package/dist/processing/Panner.js +280 -0
- package/dist/processing/Panner.js.map +1 -0
- package/dist/processing/PluginInsert.d.ts +56 -1
- package/dist/processing/PluginInsert.d.ts.map +1 -1
- package/dist/processing/PluginInsert.js +180 -2
- package/dist/processing/PluginInsert.js.map +1 -1
- package/dist/processing/PolarityProcessor.d.ts +1 -1
- package/dist/processing/PolarityProcessor.js +1 -1
- package/dist/processing/Processor.d.ts +38 -0
- package/dist/processing/Processor.d.ts.map +1 -1
- package/dist/processing/Processor.js +60 -1
- package/dist/processing/Processor.js.map +1 -1
- package/dist/processing/SendProcessor.d.ts +0 -1
- package/dist/processing/SendProcessor.d.ts.map +1 -1
- package/dist/processing/SendProcessor.js +0 -1
- package/dist/processing/SendProcessor.js.map +1 -1
- package/dist/processing/SurroundPanner.d.ts +120 -0
- package/dist/processing/SurroundPanner.d.ts.map +1 -0
- package/dist/processing/SurroundPanner.js +374 -0
- package/dist/processing/SurroundPanner.js.map +1 -0
- package/dist/processing/TruePeakLimiter.d.ts +32 -0
- package/dist/processing/TruePeakLimiter.d.ts.map +1 -0
- package/dist/processing/TruePeakLimiter.js +142 -0
- package/dist/processing/TruePeakLimiter.js.map +1 -0
- package/dist/storage/ExportPresetStorage.d.ts +33 -0
- package/dist/storage/ExportPresetStorage.d.ts.map +1 -0
- package/dist/storage/ExportPresetStorage.js +121 -0
- package/dist/storage/ExportPresetStorage.js.map +1 -0
- package/dist/storage/SessionArchive.d.ts +73 -0
- package/dist/storage/SessionArchive.d.ts.map +1 -0
- package/dist/storage/SessionArchive.js +211 -0
- package/dist/storage/SessionArchive.js.map +1 -0
- package/dist/storage/SessionStorage.d.ts +1 -1
- package/dist/storage/SessionTemplate.d.ts +74 -5
- package/dist/storage/SessionTemplate.d.ts.map +1 -1
- package/dist/storage/SessionTemplate.js +247 -53
- package/dist/storage/SessionTemplate.js.map +1 -1
- package/dist/utils/BwfMetadataWriter.d.ts +41 -0
- package/dist/utils/BwfMetadataWriter.d.ts.map +1 -0
- package/dist/utils/BwfMetadataWriter.js +130 -0
- package/dist/utils/BwfMetadataWriter.js.map +1 -0
- package/dist/utils/DitherProcessor.d.ts +0 -1
- package/dist/utils/DitherProcessor.d.ts.map +1 -1
- package/dist/utils/DitherProcessor.js +0 -1
- package/dist/utils/DitherProcessor.js.map +1 -1
- package/dist/utils/FilenameTemplate.d.ts +39 -0
- package/dist/utils/FilenameTemplate.d.ts.map +1 -0
- package/dist/utils/FilenameTemplate.js +77 -0
- package/dist/utils/FilenameTemplate.js.map +1 -0
- package/dist/utils/FlacEncoder.d.ts +0 -1
- package/dist/utils/FlacEncoder.d.ts.map +1 -1
- package/dist/utils/FlacEncoder.js +0 -1
- package/dist/utils/FlacEncoder.js.map +1 -1
- package/dist/utils/Logger.d.ts +28 -0
- package/dist/utils/Logger.d.ts.map +1 -0
- package/dist/utils/Logger.js +46 -0
- package/dist/utils/Logger.js.map +1 -0
- package/dist/utils/Mp4ChapterGenerator.d.ts +16 -0
- package/dist/utils/Mp4ChapterGenerator.d.ts.map +1 -0
- package/dist/utils/Mp4ChapterGenerator.js +32 -0
- package/dist/utils/Mp4ChapterGenerator.js.map +1 -0
- package/dist/utils/OggEncoder.d.ts +19 -21
- package/dist/utils/OggEncoder.d.ts.map +1 -1
- package/dist/utils/OggEncoder.js +113 -51
- package/dist/utils/OggEncoder.js.map +1 -1
- package/dist/utils/TocGenerator.d.ts +16 -0
- package/dist/utils/TocGenerator.d.ts.map +1 -0
- package/dist/utils/TocGenerator.js +46 -0
- package/dist/utils/TocGenerator.js.map +1 -0
- package/package.json +7 -8
package/dist/domain/Region.js
CHANGED
|
@@ -27,8 +27,15 @@ export class Region {
|
|
|
27
27
|
this.locked = false;
|
|
28
28
|
/** Time domain for this region (default: AudioTime for backward compatibility) */
|
|
29
29
|
this.timeDomain = TimeDomain.AudioTime;
|
|
30
|
+
// Region FX (per-region plugin chain)
|
|
31
|
+
this._regionFx = [];
|
|
32
|
+
// Enhanced lock types
|
|
33
|
+
this._positionLocked = false;
|
|
34
|
+
this._videoLocked = false;
|
|
30
35
|
// Signals
|
|
31
36
|
this.lockedChanged = new Signal();
|
|
37
|
+
this.regionFxAdded = new Signal();
|
|
38
|
+
this.regionFxRemoved = new Signal();
|
|
32
39
|
this.id = id;
|
|
33
40
|
this.sourceId = sourceId;
|
|
34
41
|
this.start = start;
|
|
@@ -75,17 +82,170 @@ export class Region {
|
|
|
75
82
|
newStart = 0;
|
|
76
83
|
this.start = newStart;
|
|
77
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* Trim the front of the region by an amount (delta-based).
|
|
87
|
+
* Positive amount moves start forward (shortens region).
|
|
88
|
+
* Negative amount moves start backward (extends region, if source allows).
|
|
89
|
+
*/
|
|
78
90
|
trimFront(amount) {
|
|
79
91
|
if (amount >= this.length)
|
|
80
92
|
return; // Prevent full deletion via trim
|
|
93
|
+
// Source boundary constraint: don't go before source start 0
|
|
94
|
+
if (this.sourceStart + amount < 0) {
|
|
95
|
+
amount = -this.sourceStart;
|
|
96
|
+
}
|
|
97
|
+
if (amount === 0)
|
|
98
|
+
return;
|
|
81
99
|
this.start += amount;
|
|
82
100
|
this.sourceStart += amount;
|
|
83
101
|
this.length -= amount;
|
|
102
|
+
// Invalidate cached transients on trim
|
|
103
|
+
if (this.transients.length > 0) {
|
|
104
|
+
this.transients = this.transients
|
|
105
|
+
.map(t => t - amount)
|
|
106
|
+
.filter(t => t >= 0 && t < this.length);
|
|
107
|
+
}
|
|
84
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* Trim the back of the region by an amount (delta-based).
|
|
111
|
+
* Positive amount extends region, negative shortens it.
|
|
112
|
+
*/
|
|
85
113
|
trimBack(amount) {
|
|
86
114
|
if (-amount >= this.length)
|
|
87
115
|
return; // Prevent full deletion via trim
|
|
88
|
-
this.length += amount;
|
|
116
|
+
this.length += amount;
|
|
117
|
+
// Invalidate transients beyond new length
|
|
118
|
+
if (this.transients.length > 0) {
|
|
119
|
+
this.transients = this.transients.filter(t => t < this.length);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Trim front to a new absolute timeline position.
|
|
124
|
+
* Adjusts start, sourceStart, and length so the end stays fixed.
|
|
125
|
+
* @param newPosition - The new timeline start position
|
|
126
|
+
* @param sourceDuration - Optional source duration for boundary constraint
|
|
127
|
+
*/
|
|
128
|
+
trimFrontTo(newPosition, sourceDuration) {
|
|
129
|
+
if (this.locked || this._positionLocked)
|
|
130
|
+
return;
|
|
131
|
+
if (newPosition < 0)
|
|
132
|
+
newPosition = 0;
|
|
133
|
+
const currentEnd = this.end;
|
|
134
|
+
if (newPosition >= currentEnd)
|
|
135
|
+
return; // Cannot trim past end
|
|
136
|
+
const delta = newPosition - this.start;
|
|
137
|
+
const newSourceStart = this.sourceStart + delta;
|
|
138
|
+
// Source boundary: cannot go before source start
|
|
139
|
+
if (newSourceStart < 0)
|
|
140
|
+
return;
|
|
141
|
+
// Source boundary: check we don't exceed source duration
|
|
142
|
+
const newLength = currentEnd - newPosition;
|
|
143
|
+
if (sourceDuration !== undefined && newSourceStart + newLength > sourceDuration)
|
|
144
|
+
return;
|
|
145
|
+
// Ensure minimum length
|
|
146
|
+
if (newLength < Region.MIN_LENGTH)
|
|
147
|
+
return;
|
|
148
|
+
this.start = newPosition;
|
|
149
|
+
this.sourceStart = newSourceStart;
|
|
150
|
+
this.length = newLength;
|
|
151
|
+
// Adjust fades: if fadeIn exceeds new length, clamp it
|
|
152
|
+
if (this.fadeIn + this.fadeOut > this.length) {
|
|
153
|
+
this.fadeIn = Math.max(0, this.length - this.fadeOut);
|
|
154
|
+
}
|
|
155
|
+
// Invalidate transients
|
|
156
|
+
if (this.transients.length > 0) {
|
|
157
|
+
this.transients = this.transients
|
|
158
|
+
.map(t => t - delta)
|
|
159
|
+
.filter(t => t >= 0 && t < this.length);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Trim end to a new absolute timeline endpoint.
|
|
164
|
+
* Adjusts length while keeping start and sourceStart fixed.
|
|
165
|
+
* @param newEndpoint - The new timeline end position
|
|
166
|
+
* @param sourceDuration - Optional source duration for boundary constraint
|
|
167
|
+
*/
|
|
168
|
+
trimEndTo(newEndpoint, sourceDuration) {
|
|
169
|
+
if (this.locked || this._positionLocked)
|
|
170
|
+
return;
|
|
171
|
+
if (newEndpoint <= this.start)
|
|
172
|
+
return; // Cannot trim before start
|
|
173
|
+
const newLength = newEndpoint - this.start;
|
|
174
|
+
// Source boundary constraint
|
|
175
|
+
if (sourceDuration !== undefined && this.sourceStart + newLength > sourceDuration)
|
|
176
|
+
return;
|
|
177
|
+
// Ensure minimum length
|
|
178
|
+
if (newLength < Region.MIN_LENGTH)
|
|
179
|
+
return;
|
|
180
|
+
this.length = newLength;
|
|
181
|
+
// Adjust fades: if fadeOut exceeds new length, clamp it
|
|
182
|
+
if (this.fadeIn + this.fadeOut > this.length) {
|
|
183
|
+
this.fadeOut = Math.max(0, this.length - this.fadeIn);
|
|
184
|
+
}
|
|
185
|
+
// Invalidate transients
|
|
186
|
+
if (this.transients.length > 0) {
|
|
187
|
+
this.transients = this.transients.filter(t => t < this.length);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Trim both position and length atomically.
|
|
192
|
+
* @param position - New timeline position
|
|
193
|
+
* @param length - New length
|
|
194
|
+
* @param sourceDuration - Optional source duration for constraint
|
|
195
|
+
*/
|
|
196
|
+
trimTo(position, length, sourceDuration) {
|
|
197
|
+
if (this.locked || this._positionLocked)
|
|
198
|
+
return;
|
|
199
|
+
if (position < 0 || length < Region.MIN_LENGTH)
|
|
200
|
+
return;
|
|
201
|
+
const delta = position - this.start;
|
|
202
|
+
const newSourceStart = this.sourceStart + delta;
|
|
203
|
+
if (newSourceStart < 0)
|
|
204
|
+
return;
|
|
205
|
+
if (sourceDuration !== undefined && newSourceStart + length > sourceDuration) {
|
|
206
|
+
length = sourceDuration - newSourceStart;
|
|
207
|
+
if (length < Region.MIN_LENGTH)
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
this.start = position;
|
|
211
|
+
this.sourceStart = newSourceStart;
|
|
212
|
+
this.length = length;
|
|
213
|
+
// Clamp fades
|
|
214
|
+
if (this.fadeIn + this.fadeOut > this.length) {
|
|
215
|
+
this.fadeIn = Math.min(this.fadeIn, this.length);
|
|
216
|
+
this.fadeOut = Math.max(0, this.length - this.fadeIn);
|
|
217
|
+
}
|
|
218
|
+
// Invalidate transients
|
|
219
|
+
if (this.transients.length > 0) {
|
|
220
|
+
this.transients = this.transients
|
|
221
|
+
.map(t => t - delta)
|
|
222
|
+
.filter(t => t >= 0 && t < this.length);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Check if this region can trim its start before the source's beginning.
|
|
227
|
+
* Audio regions cannot (they'd read silence); MIDI regions can.
|
|
228
|
+
*/
|
|
229
|
+
canTrimStartBeforeSourceStart() {
|
|
230
|
+
return false; // Default: audio region. Override in MidiRegion.
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Verify and clamp start + length to source boundaries.
|
|
234
|
+
* @returns true if the values were valid (or clamped successfully)
|
|
235
|
+
*/
|
|
236
|
+
verifyStartAndLength(sourceDuration) {
|
|
237
|
+
if (sourceDuration === undefined)
|
|
238
|
+
return true;
|
|
239
|
+
if (this.sourceStart < 0) {
|
|
240
|
+
this.sourceStart = 0;
|
|
241
|
+
}
|
|
242
|
+
const maxLength = sourceDuration - this.sourceStart;
|
|
243
|
+
if (maxLength <= 0)
|
|
244
|
+
return false;
|
|
245
|
+
if (this.length > maxLength) {
|
|
246
|
+
this.length = maxLength;
|
|
247
|
+
}
|
|
248
|
+
return true;
|
|
89
249
|
}
|
|
90
250
|
setFadeIn(amount) {
|
|
91
251
|
if (amount < 0)
|
|
@@ -215,5 +375,78 @@ export class Region {
|
|
|
215
375
|
hasTransients() {
|
|
216
376
|
return this.transients.length > 0;
|
|
217
377
|
}
|
|
378
|
+
// ─── Region FX (Per-Region Plugin Chain) ────────────────────────────────
|
|
379
|
+
/** Add a processor to the region's FX chain. */
|
|
380
|
+
addRegionFx(processor) {
|
|
381
|
+
this._regionFx.push(processor);
|
|
382
|
+
this.regionFxAdded.emit(processor);
|
|
383
|
+
}
|
|
384
|
+
/** Remove a processor from the region's FX chain by its ID. */
|
|
385
|
+
removeRegionFx(processorId) {
|
|
386
|
+
const idx = this._regionFx.findIndex(p => p.id === processorId);
|
|
387
|
+
if (idx === -1)
|
|
388
|
+
return;
|
|
389
|
+
const [removed] = this._regionFx.splice(idx, 1);
|
|
390
|
+
this.regionFxRemoved.emit(removed);
|
|
391
|
+
}
|
|
392
|
+
/** Get a readonly copy of the region's FX chain. */
|
|
393
|
+
getRegionFx() {
|
|
394
|
+
return [...this._regionFx];
|
|
395
|
+
}
|
|
396
|
+
/** Move a processor to a new index in the FX chain. */
|
|
397
|
+
moveRegionFx(processorId, newIndex) {
|
|
398
|
+
const idx = this._regionFx.findIndex(p => p.id === processorId);
|
|
399
|
+
if (idx === -1)
|
|
400
|
+
return;
|
|
401
|
+
const clamped = Math.max(0, Math.min(newIndex, this._regionFx.length - 1));
|
|
402
|
+
const [processor] = this._regionFx.splice(idx, 1);
|
|
403
|
+
this._regionFx.splice(clamped, 0, processor);
|
|
404
|
+
}
|
|
405
|
+
/** Remove all processors from the region's FX chain. */
|
|
406
|
+
clearRegionFx() {
|
|
407
|
+
const removed = [...this._regionFx];
|
|
408
|
+
this._regionFx = [];
|
|
409
|
+
for (const processor of removed) {
|
|
410
|
+
this.regionFxRemoved.emit(processor);
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
/** Whether this region has any FX processors. */
|
|
414
|
+
hasRegionFx() {
|
|
415
|
+
return this._regionFx.length > 0;
|
|
416
|
+
}
|
|
417
|
+
// ─── Ancestral Tracking (Undo) ──────────────────────────────────────────
|
|
418
|
+
/** Get the ancestral start position (before any edits). */
|
|
419
|
+
getAncestralStart() {
|
|
420
|
+
return this._ancestralStart;
|
|
421
|
+
}
|
|
422
|
+
/** Get the ancestral length (before any edits). */
|
|
423
|
+
getAncestralLength() {
|
|
424
|
+
return this._ancestralLength;
|
|
425
|
+
}
|
|
426
|
+
/** Set the ancestral data for undo tracking. */
|
|
427
|
+
setAncestralData(start, length) {
|
|
428
|
+
this._ancestralStart = start;
|
|
429
|
+
this._ancestralLength = length;
|
|
430
|
+
}
|
|
431
|
+
// ─── Enhanced Lock Types ────────────────────────────────────────────────
|
|
432
|
+
/** Whether the region's position is locked (cannot be moved). */
|
|
433
|
+
isPositionLocked() {
|
|
434
|
+
return this._positionLocked;
|
|
435
|
+
}
|
|
436
|
+
/** Set the position lock state. */
|
|
437
|
+
setPositionLocked(locked) {
|
|
438
|
+
this._positionLocked = locked;
|
|
439
|
+
}
|
|
440
|
+
/** Whether the region is video-locked (synced to video timeline). */
|
|
441
|
+
isVideoLocked() {
|
|
442
|
+
return this._videoLocked;
|
|
443
|
+
}
|
|
444
|
+
/** Set the video lock state. */
|
|
445
|
+
setVideoLocked(locked) {
|
|
446
|
+
this._videoLocked = locked;
|
|
447
|
+
}
|
|
218
448
|
}
|
|
449
|
+
// ─── Trim Operations ──────────────────────────────────────────────────
|
|
450
|
+
/** Minimum region length in frames (1 sample) */
|
|
451
|
+
Region.MIN_LENGTH = 1;
|
|
219
452
|
//# sourceMappingURL=Region.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Region.js","sourceRoot":"","sources":["../../src/domain/Region.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Region.js","sourceRoot":"","sources":["../../src/domain/Region.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,6 @@ import { TrackId, SourceId, FrameCount } from './types';
|
|
|
4
4
|
* Region Clipboard Data
|
|
5
5
|
*
|
|
6
6
|
* Copy된 Region의 정보를 저장합니다.
|
|
7
|
-
* Ardour 참조: gtk2_ardour/editor.h (RegionSelection)
|
|
8
7
|
*/
|
|
9
8
|
export interface ClipboardRegionData {
|
|
10
9
|
sourceId: SourceId;
|
|
@@ -43,13 +42,12 @@ export declare class RegionClipboard {
|
|
|
43
42
|
clear(): void;
|
|
44
43
|
/**
|
|
45
44
|
* Paste count for offset tracking.
|
|
46
|
-
* Ardour: paste_count in editor.h
|
|
47
45
|
*/
|
|
48
46
|
get pasteCount(): number;
|
|
49
47
|
incrementPasteCount(): void;
|
|
50
48
|
/**
|
|
51
49
|
* Reset paste count.
|
|
52
|
-
* Called on undo/redo
|
|
50
|
+
* Called on undo/redo.
|
|
53
51
|
*/
|
|
54
52
|
resetPasteCount(): void;
|
|
55
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegionClipboard.d.ts","sourceRoot":"","sources":["../../src/domain/RegionClipboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAExD
|
|
1
|
+
{"version":3,"file":"RegionClipboard.d.ts","sourceRoot":"","sources":["../../src/domain/RegionClipboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAExD;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,qBAAa,eAAe;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IACzC,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,WAAW,CAAa;IAEhC,OAAO;WAEO,WAAW,IAAI,eAAe;IAO5C;;OAEG;IACI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAczD;;OAEG;IACI,gBAAgB,IAAI,aAAa,CAAC,mBAAmB,CAAC;IAI7D;;OAEG;IACI,OAAO,IAAI,OAAO;IAIzB;;OAEG;IACI,KAAK,IAAI,IAAI;IAKpB;;OAEG;IACH,IAAW,UAAU,IAAI,MAAM,CAE9B;IAEM,mBAAmB,IAAI,IAAI;IAIlC;;;OAGG;IACI,eAAe,IAAI,IAAI;CAGjC"}
|
|
@@ -51,7 +51,6 @@ export class RegionClipboard {
|
|
|
51
51
|
}
|
|
52
52
|
/**
|
|
53
53
|
* Paste count for offset tracking.
|
|
54
|
-
* Ardour: paste_count in editor.h
|
|
55
54
|
*/
|
|
56
55
|
get pasteCount() {
|
|
57
56
|
return this._pasteCount;
|
|
@@ -61,7 +60,7 @@ export class RegionClipboard {
|
|
|
61
60
|
}
|
|
62
61
|
/**
|
|
63
62
|
* Reset paste count.
|
|
64
|
-
* Called on undo/redo
|
|
63
|
+
* Called on undo/redo.
|
|
65
64
|
*/
|
|
66
65
|
resetPasteCount() {
|
|
67
66
|
this._pasteCount = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegionClipboard.js","sourceRoot":"","sources":["../../src/domain/RegionClipboard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RegionClipboard.js","sourceRoot":"","sources":["../../src/domain/RegionClipboard.ts"],"names":[],"mappings":"AAgBA;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IAKxB;QAHQ,mBAAc,GAA0B,EAAE,CAAC;QAC3C,gBAAW,GAAW,CAAC,CAAC;IAET,CAAC;IAEjB,MAAM,CAAC,WAAW;QACrB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;YAC5B,eAAe,CAAC,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QACrD,CAAC;QACD,OAAO,eAAe,CAAC,QAAQ,CAAC;IACpC,CAAC;IAED;;OAEG;IACI,IAAI,CAAC,OAAiB,EAAE,QAAmB;QAC9C,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YAClD,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,eAAe,EAAE,QAAQ,CAAC,KAAK,CAAC;YAChC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,QAAQ;SAChC,CAAC,CAAC,CAAC;IACR,CAAC;IAED;;OAEG;IACI,gBAAgB;QACnB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,OAAO;QACV,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACI,KAAK;QACR,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAEM,mBAAmB;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAED;;;OAGG;IACI,eAAe;QAClB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACzB,CAAC;CACJ"}
|
package/dist/domain/Route.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { RouteId, ProcessorId } from './types';
|
|
2
2
|
import { Processor } from '../processing/Processor';
|
|
3
3
|
import { GainProcessor } from '../processing/GainProcessor';
|
|
4
|
-
import {
|
|
4
|
+
import { Panner } from '../processing/Panner';
|
|
5
5
|
import { PolarityProcessor } from '../processing/PolarityProcessor';
|
|
6
6
|
import { IO } from '../processing/IO';
|
|
7
7
|
import { Signal } from '../lib/Signal';
|
|
8
|
+
import { LatencyCompensator } from '../audio/engine/LatencyCompensator';
|
|
8
9
|
export declare class Route {
|
|
9
10
|
readonly id: RouteId;
|
|
10
11
|
name: string;
|
|
@@ -28,6 +29,19 @@ export declare class Route {
|
|
|
28
29
|
* so that all routes in the session are time-aligned.
|
|
29
30
|
*/
|
|
30
31
|
private _compensationDelay;
|
|
32
|
+
/**
|
|
33
|
+
* Delay buffer that applies `_compensationDelay` samples of latency to
|
|
34
|
+
* this route's audio so all routes stay time-aligned at the summing bus.
|
|
35
|
+
*/
|
|
36
|
+
readonly latencyCompensator: LatencyCompensator;
|
|
37
|
+
/**
|
|
38
|
+
* Emitted whenever the total processor latency of this route changes,
|
|
39
|
+
* carrying the new total latency in samples. The session listens to
|
|
40
|
+
* this signal to know when to recompute global compensation.
|
|
41
|
+
*/
|
|
42
|
+
readonly latencyChanged: Signal<number>;
|
|
43
|
+
/** Disposers for processor latency-change subscriptions. */
|
|
44
|
+
private _latencySubscriptions;
|
|
31
45
|
constructor(id: RouteId, name: string);
|
|
32
46
|
/**
|
|
33
47
|
* Adds a processor to the chain.
|
|
@@ -68,7 +82,7 @@ export declare class Route {
|
|
|
68
82
|
/** Polarity (phase inversion) processor. */
|
|
69
83
|
get polarity(): PolarityProcessor;
|
|
70
84
|
/** Channel panner. */
|
|
71
|
-
get panner():
|
|
85
|
+
get panner(): Panner;
|
|
72
86
|
/**
|
|
73
87
|
* Sum of latencies (in samples) introduced by all processors in this route.
|
|
74
88
|
*
|
|
@@ -77,6 +91,21 @@ export declare class Route {
|
|
|
77
91
|
* per-route compensation delays so that all routes stay time-aligned.
|
|
78
92
|
*/
|
|
79
93
|
getProcessorLatency(): number;
|
|
94
|
+
/**
|
|
95
|
+
* Alias for {@link getProcessorLatency} — returns the total latency
|
|
96
|
+
* (in samples) across every processor in the chain.
|
|
97
|
+
*/
|
|
98
|
+
getTotalLatency(): number;
|
|
99
|
+
/**
|
|
100
|
+
* Returns the maximum tail length (in frames) across all processors in
|
|
101
|
+
* this route.
|
|
102
|
+
*
|
|
103
|
+
* The tail length represents the duration of audio "tail" that persists
|
|
104
|
+
* after input ceases (e.g. reverb decay, delay feedback). The engine
|
|
105
|
+
* uses this value to know how long to keep processing after playback
|
|
106
|
+
* stops.
|
|
107
|
+
*/
|
|
108
|
+
getTotalTailLength(): number;
|
|
80
109
|
/**
|
|
81
110
|
* The current compensation delay applied to this route (in samples).
|
|
82
111
|
*
|
|
@@ -85,6 +114,15 @@ export declare class Route {
|
|
|
85
114
|
* so that every route's effective latency equals the session maximum.
|
|
86
115
|
*/
|
|
87
116
|
get compensationDelay(): number;
|
|
117
|
+
/**
|
|
118
|
+
* Recalculate the route-level latency total and emit {@link latencyChanged}
|
|
119
|
+
* when it differs from the previous value. Also syncs the
|
|
120
|
+
* {@link latencyCompensator} delay with {@link _compensationDelay}.
|
|
121
|
+
*
|
|
122
|
+
* Called automatically whenever a processor is added / removed or any
|
|
123
|
+
* processor's latency changes.
|
|
124
|
+
*/
|
|
125
|
+
updateLatencyCompensation(): void;
|
|
88
126
|
/**
|
|
89
127
|
* Directly set the compensation delay for this route.
|
|
90
128
|
* @param samples Delay in samples (>= 0).
|
|
@@ -99,6 +137,8 @@ export declare class Route {
|
|
|
99
137
|
*
|
|
100
138
|
* @param maxLatency The highest processor latency among all routes (in samples).
|
|
101
139
|
*/
|
|
102
|
-
computeLatencyCompensation(maxLatency
|
|
140
|
+
computeLatencyCompensation(maxLatency?: number): void;
|
|
141
|
+
private _subscribeToProcessorLatency;
|
|
142
|
+
private _unsubscribeFromProcessorLatency;
|
|
103
143
|
}
|
|
104
144
|
//# sourceMappingURL=Route.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Route.d.ts","sourceRoot":"","sources":["../../src/domain/Route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Route.d.ts","sourceRoot":"","sources":["../../src/domain/Route.ts"],"names":[],"mappings":"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"}
|
package/dist/domain/Route.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { GainProcessor } from '../processing/GainProcessor';
|
|
2
|
-
import {
|
|
2
|
+
import { Panner } from '../processing/Panner';
|
|
3
3
|
import { PolarityProcessor } from '../processing/PolarityProcessor';
|
|
4
4
|
import { IO } from '../processing/IO';
|
|
5
5
|
import { Signal } from '../lib/Signal';
|
|
6
|
+
import { LatencyCompensator } from '../audio/engine/LatencyCompensator';
|
|
6
7
|
export class Route {
|
|
7
8
|
constructor(id, name) {
|
|
8
9
|
this._preFaderProcessors = [];
|
|
@@ -16,6 +17,19 @@ export class Route {
|
|
|
16
17
|
* so that all routes in the session are time-aligned.
|
|
17
18
|
*/
|
|
18
19
|
this._compensationDelay = 0;
|
|
20
|
+
/**
|
|
21
|
+
* Delay buffer that applies `_compensationDelay` samples of latency to
|
|
22
|
+
* this route's audio so all routes stay time-aligned at the summing bus.
|
|
23
|
+
*/
|
|
24
|
+
this.latencyCompensator = new LatencyCompensator();
|
|
25
|
+
/**
|
|
26
|
+
* Emitted whenever the total processor latency of this route changes,
|
|
27
|
+
* carrying the new total latency in samples. The session listens to
|
|
28
|
+
* this signal to know when to recompute global compensation.
|
|
29
|
+
*/
|
|
30
|
+
this.latencyChanged = new Signal();
|
|
31
|
+
/** Disposers for processor latency-change subscriptions. */
|
|
32
|
+
this._latencySubscriptions = new Map();
|
|
19
33
|
this.id = id;
|
|
20
34
|
this.name = name;
|
|
21
35
|
// Initialize IO
|
|
@@ -25,7 +39,7 @@ export class Route {
|
|
|
25
39
|
this._trim = new GainProcessor(crypto.randomUUID(), 'Trim');
|
|
26
40
|
this._fader = new GainProcessor(crypto.randomUUID());
|
|
27
41
|
this._polarity = new PolarityProcessor(crypto.randomUUID());
|
|
28
|
-
this._panner = new
|
|
42
|
+
this._panner = new Panner(crypto.randomUUID());
|
|
29
43
|
// Core strip processors are implicit "bridge" processors -- they are
|
|
30
44
|
// not stored in the pre/post lists but appear in the `processors` getter.
|
|
31
45
|
}
|
|
@@ -43,23 +57,32 @@ export class Route {
|
|
|
43
57
|
else {
|
|
44
58
|
targetList.push(processor);
|
|
45
59
|
}
|
|
60
|
+
// Subscribe to the processor's latency changes so we can propagate
|
|
61
|
+
// total-latency updates to the session.
|
|
62
|
+
this._subscribeToProcessorLatency(processor);
|
|
46
63
|
// We emit the processor. Listeners (AudioEngine) will query `processors` getter
|
|
47
64
|
// to find its global index, or we might need to update listeners if they need precise info.
|
|
48
65
|
this.processorAdded.emit(processor);
|
|
66
|
+
// Recompute route-level totals now that the chain has changed.
|
|
67
|
+
this.updateLatencyCompensation();
|
|
49
68
|
}
|
|
50
69
|
removeProcessor(id) {
|
|
51
70
|
// Check pre
|
|
52
71
|
let index = this._preFaderProcessors.findIndex(p => p.id === id);
|
|
53
72
|
if (index !== -1) {
|
|
54
73
|
this._preFaderProcessors.splice(index, 1);
|
|
74
|
+
this._unsubscribeFromProcessorLatency(id);
|
|
55
75
|
this.processorRemoved.emit(id);
|
|
76
|
+
this.updateLatencyCompensation();
|
|
56
77
|
return;
|
|
57
78
|
}
|
|
58
79
|
// Check post
|
|
59
80
|
index = this._postFaderProcessors.findIndex(p => p.id === id);
|
|
60
81
|
if (index !== -1) {
|
|
61
82
|
this._postFaderProcessors.splice(index, 1);
|
|
83
|
+
this._unsubscribeFromProcessorLatency(id);
|
|
62
84
|
this.processorRemoved.emit(id);
|
|
85
|
+
this.updateLatencyCompensation();
|
|
63
86
|
return;
|
|
64
87
|
}
|
|
65
88
|
}
|
|
@@ -113,10 +136,10 @@ export class Route {
|
|
|
113
136
|
this._fader.gain = db;
|
|
114
137
|
}
|
|
115
138
|
get pan() {
|
|
116
|
-
return this._panner.
|
|
139
|
+
return this._panner.azimuth;
|
|
117
140
|
}
|
|
118
141
|
set pan(val) {
|
|
119
|
-
this._panner.
|
|
142
|
+
this._panner.setAzimuth(val);
|
|
120
143
|
}
|
|
121
144
|
/**
|
|
122
145
|
* Input trim gain in dB.
|
|
@@ -158,6 +181,32 @@ export class Route {
|
|
|
158
181
|
}
|
|
159
182
|
return total;
|
|
160
183
|
}
|
|
184
|
+
/**
|
|
185
|
+
* Alias for {@link getProcessorLatency} — returns the total latency
|
|
186
|
+
* (in samples) across every processor in the chain.
|
|
187
|
+
*/
|
|
188
|
+
getTotalLatency() {
|
|
189
|
+
return this.getProcessorLatency();
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Returns the maximum tail length (in frames) across all processors in
|
|
193
|
+
* this route.
|
|
194
|
+
*
|
|
195
|
+
* The tail length represents the duration of audio "tail" that persists
|
|
196
|
+
* after input ceases (e.g. reverb decay, delay feedback). The engine
|
|
197
|
+
* uses this value to know how long to keep processing after playback
|
|
198
|
+
* stops.
|
|
199
|
+
*/
|
|
200
|
+
getTotalTailLength() {
|
|
201
|
+
let maxTail = 0;
|
|
202
|
+
for (const proc of this.processors) {
|
|
203
|
+
const tail = proc.getEffectiveTailLength();
|
|
204
|
+
if (tail > maxTail) {
|
|
205
|
+
maxTail = tail;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
return maxTail;
|
|
209
|
+
}
|
|
161
210
|
/**
|
|
162
211
|
* The current compensation delay applied to this route (in samples).
|
|
163
212
|
*
|
|
@@ -168,12 +217,26 @@ export class Route {
|
|
|
168
217
|
get compensationDelay() {
|
|
169
218
|
return this._compensationDelay;
|
|
170
219
|
}
|
|
220
|
+
/**
|
|
221
|
+
* Recalculate the route-level latency total and emit {@link latencyChanged}
|
|
222
|
+
* when it differs from the previous value. Also syncs the
|
|
223
|
+
* {@link latencyCompensator} delay with {@link _compensationDelay}.
|
|
224
|
+
*
|
|
225
|
+
* Called automatically whenever a processor is added / removed or any
|
|
226
|
+
* processor's latency changes.
|
|
227
|
+
*/
|
|
228
|
+
updateLatencyCompensation() {
|
|
229
|
+
const total = this.getProcessorLatency();
|
|
230
|
+
this.latencyCompensator.setDelay(this._compensationDelay);
|
|
231
|
+
this.latencyChanged.emit(total);
|
|
232
|
+
}
|
|
171
233
|
/**
|
|
172
234
|
* Directly set the compensation delay for this route.
|
|
173
235
|
* @param samples Delay in samples (>= 0).
|
|
174
236
|
*/
|
|
175
237
|
setCompensationDelay(samples) {
|
|
176
238
|
this._compensationDelay = Math.max(0, samples);
|
|
239
|
+
this.latencyCompensator.setDelay(this._compensationDelay);
|
|
177
240
|
}
|
|
178
241
|
/**
|
|
179
242
|
* Compute the compensation delay needed for this route given the
|
|
@@ -185,8 +248,31 @@ export class Route {
|
|
|
185
248
|
* @param maxLatency The highest processor latency among all routes (in samples).
|
|
186
249
|
*/
|
|
187
250
|
computeLatencyCompensation(maxLatency) {
|
|
188
|
-
|
|
189
|
-
|
|
251
|
+
if (maxLatency !== undefined) {
|
|
252
|
+
const ownLatency = this.getTotalLatency();
|
|
253
|
+
this._compensationDelay = Math.max(0, maxLatency - ownLatency);
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
// Self-contained: compensation is based solely on this route's
|
|
257
|
+
// own latency (useful when a single route needs to report its
|
|
258
|
+
// internal compensation requirement).
|
|
259
|
+
this._compensationDelay = this.getTotalLatency();
|
|
260
|
+
}
|
|
261
|
+
this.latencyCompensator.setDelay(this._compensationDelay);
|
|
262
|
+
}
|
|
263
|
+
// ── Private: processor latency subscriptions ────────────────────────────
|
|
264
|
+
_subscribeToProcessorLatency(processor) {
|
|
265
|
+
const sub = processor.latencyChanged.connect(() => {
|
|
266
|
+
this.updateLatencyCompensation();
|
|
267
|
+
});
|
|
268
|
+
this._latencySubscriptions.set(processor.id, sub);
|
|
269
|
+
}
|
|
270
|
+
_unsubscribeFromProcessorLatency(id) {
|
|
271
|
+
const sub = this._latencySubscriptions.get(id);
|
|
272
|
+
if (sub) {
|
|
273
|
+
sub.dispose();
|
|
274
|
+
this._latencySubscriptions.delete(id);
|
|
275
|
+
}
|
|
190
276
|
}
|
|
191
277
|
}
|
|
192
278
|
//# sourceMappingURL=Route.js.map
|