@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.
Files changed (747) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +316 -0
  3. package/dist/actions/ActionRegistry.d.ts +33 -0
  4. package/dist/actions/ActionRegistry.d.ts.map +1 -0
  5. package/dist/actions/ActionRegistry.js +96 -0
  6. package/dist/actions/ActionRegistry.js.map +1 -0
  7. package/dist/actions/types.d.ts +31 -0
  8. package/dist/actions/types.d.ts.map +1 -0
  9. package/dist/actions/types.js +11 -0
  10. package/dist/actions/types.js.map +1 -0
  11. package/dist/analysis/TransientDetector.d.ts +28 -0
  12. package/dist/analysis/TransientDetector.d.ts.map +1 -0
  13. package/dist/analysis/TransientDetector.js +109 -0
  14. package/dist/analysis/TransientDetector.js.map +1 -0
  15. package/dist/audio/AudioEngine.d.ts +107 -0
  16. package/dist/audio/AudioEngine.d.ts.map +1 -0
  17. package/dist/audio/AudioEngine.js +798 -0
  18. package/dist/audio/AudioEngine.js.map +1 -0
  19. package/dist/audio/AudioProvider.d.ts +96 -0
  20. package/dist/audio/AudioProvider.d.ts.map +1 -0
  21. package/dist/audio/AudioProvider.js +2 -0
  22. package/dist/audio/AudioProvider.js.map +1 -0
  23. package/dist/audio/BufferPool.d.ts +92 -0
  24. package/dist/audio/BufferPool.d.ts.map +1 -0
  25. package/dist/audio/BufferPool.js +172 -0
  26. package/dist/audio/BufferPool.js.map +1 -0
  27. package/dist/audio/LoudnessUtils.d.ts +18 -0
  28. package/dist/audio/LoudnessUtils.d.ts.map +1 -0
  29. package/dist/audio/LoudnessUtils.js +91 -0
  30. package/dist/audio/LoudnessUtils.js.map +1 -0
  31. package/dist/audio/MeterUtils.d.ts +37 -0
  32. package/dist/audio/MeterUtils.d.ts.map +1 -0
  33. package/dist/audio/MeterUtils.js +71 -0
  34. package/dist/audio/MeterUtils.js.map +1 -0
  35. package/dist/audio/OfflineExporter.d.ts +48 -0
  36. package/dist/audio/OfflineExporter.d.ts.map +1 -0
  37. package/dist/audio/OfflineExporter.js +202 -0
  38. package/dist/audio/OfflineExporter.js.map +1 -0
  39. package/dist/audio/ProcessingGraph.d.ts +152 -0
  40. package/dist/audio/ProcessingGraph.d.ts.map +1 -0
  41. package/dist/audio/ProcessingGraph.js +360 -0
  42. package/dist/audio/ProcessingGraph.js.map +1 -0
  43. package/dist/audio/SourceCache.d.ts +124 -0
  44. package/dist/audio/SourceCache.d.ts.map +1 -0
  45. package/dist/audio/SourceCache.js +205 -0
  46. package/dist/audio/SourceCache.js.map +1 -0
  47. package/dist/audio/dto.d.ts +50 -0
  48. package/dist/audio/dto.d.ts.map +1 -0
  49. package/dist/audio/dto.js +2 -0
  50. package/dist/audio/dto.js.map +1 -0
  51. package/dist/audio/engine/PlaylistEngine.d.ts +19 -0
  52. package/dist/audio/engine/PlaylistEngine.d.ts.map +1 -0
  53. package/dist/audio/engine/PlaylistEngine.js +83 -0
  54. package/dist/audio/engine/PlaylistEngine.js.map +1 -0
  55. package/dist/automation/AutomationCurve.d.ts +61 -0
  56. package/dist/automation/AutomationCurve.d.ts.map +1 -0
  57. package/dist/automation/AutomationCurve.js +198 -0
  58. package/dist/automation/AutomationCurve.js.map +1 -0
  59. package/dist/automation/AutomationList.d.ts +185 -0
  60. package/dist/automation/AutomationList.d.ts.map +1 -0
  61. package/dist/automation/AutomationList.js +459 -0
  62. package/dist/automation/AutomationList.js.map +1 -0
  63. package/dist/automation/AutomationMode.d.ts +17 -0
  64. package/dist/automation/AutomationMode.d.ts.map +1 -0
  65. package/dist/automation/AutomationMode.js +18 -0
  66. package/dist/automation/AutomationMode.js.map +1 -0
  67. package/dist/automation/ParameterDescriptor.d.ts +65 -0
  68. package/dist/automation/ParameterDescriptor.d.ts.map +1 -0
  69. package/dist/automation/ParameterDescriptor.js +113 -0
  70. package/dist/automation/ParameterDescriptor.js.map +1 -0
  71. package/dist/automation/PointThinning.d.ts +14 -0
  72. package/dist/automation/PointThinning.d.ts.map +1 -0
  73. package/dist/automation/PointThinning.js +52 -0
  74. package/dist/automation/PointThinning.js.map +1 -0
  75. package/dist/automation/types.d.ts +14 -0
  76. package/dist/automation/types.d.ts.map +1 -0
  77. package/dist/automation/types.js +9 -0
  78. package/dist/automation/types.js.map +1 -0
  79. package/dist/commands/Command.d.ts +8 -0
  80. package/dist/commands/Command.d.ts.map +1 -0
  81. package/dist/commands/Command.js +2 -0
  82. package/dist/commands/Command.js.map +1 -0
  83. package/dist/commands/CommandExecutor.d.ts +36 -0
  84. package/dist/commands/CommandExecutor.d.ts.map +1 -0
  85. package/dist/commands/CommandExecutor.js +108 -0
  86. package/dist/commands/CommandExecutor.js.map +1 -0
  87. package/dist/commands/CommandHistory.d.ts +155 -0
  88. package/dist/commands/CommandHistory.d.ts.map +1 -0
  89. package/dist/commands/CommandHistory.js +316 -0
  90. package/dist/commands/CommandHistory.js.map +1 -0
  91. package/dist/commands/CommandRegistry.d.ts +110 -0
  92. package/dist/commands/CommandRegistry.d.ts.map +1 -0
  93. package/dist/commands/CommandRegistry.js +91 -0
  94. package/dist/commands/CommandRegistry.js.map +1 -0
  95. package/dist/commands/UndoTransaction.d.ts +54 -0
  96. package/dist/commands/UndoTransaction.d.ts.map +1 -0
  97. package/dist/commands/UndoTransaction.js +77 -0
  98. package/dist/commands/UndoTransaction.js.map +1 -0
  99. package/dist/commands/handlers/AutomationHandler.d.ts +14 -0
  100. package/dist/commands/handlers/AutomationHandler.d.ts.map +1 -0
  101. package/dist/commands/handlers/AutomationHandler.js +84 -0
  102. package/dist/commands/handlers/AutomationHandler.js.map +1 -0
  103. package/dist/commands/handlers/CommandHandler.d.ts +57 -0
  104. package/dist/commands/handlers/CommandHandler.d.ts.map +1 -0
  105. package/dist/commands/handlers/CommandHandler.js +22 -0
  106. package/dist/commands/handlers/CommandHandler.js.map +1 -0
  107. package/dist/commands/handlers/ExportHandler.d.ts +14 -0
  108. package/dist/commands/handlers/ExportHandler.d.ts.map +1 -0
  109. package/dist/commands/handlers/ExportHandler.js +166 -0
  110. package/dist/commands/handlers/ExportHandler.js.map +1 -0
  111. package/dist/commands/handlers/HistoryHandler.d.ts +29 -0
  112. package/dist/commands/handlers/HistoryHandler.d.ts.map +1 -0
  113. package/dist/commands/handlers/HistoryHandler.js +124 -0
  114. package/dist/commands/handlers/HistoryHandler.js.map +1 -0
  115. package/dist/commands/handlers/IOHandler.d.ts +14 -0
  116. package/dist/commands/handlers/IOHandler.d.ts.map +1 -0
  117. package/dist/commands/handlers/IOHandler.js +59 -0
  118. package/dist/commands/handlers/IOHandler.js.map +1 -0
  119. package/dist/commands/handlers/MarkerHandler.d.ts +13 -0
  120. package/dist/commands/handlers/MarkerHandler.d.ts.map +1 -0
  121. package/dist/commands/handlers/MarkerHandler.js +95 -0
  122. package/dist/commands/handlers/MarkerHandler.js.map +1 -0
  123. package/dist/commands/handlers/MidiHandler.d.ts +14 -0
  124. package/dist/commands/handlers/MidiHandler.d.ts.map +1 -0
  125. package/dist/commands/handlers/MidiHandler.js +153 -0
  126. package/dist/commands/handlers/MidiHandler.js.map +1 -0
  127. package/dist/commands/handlers/MixerSceneHandler.d.ts +12 -0
  128. package/dist/commands/handlers/MixerSceneHandler.d.ts.map +1 -0
  129. package/dist/commands/handlers/MixerSceneHandler.js +113 -0
  130. package/dist/commands/handlers/MixerSceneHandler.js.map +1 -0
  131. package/dist/commands/handlers/RangeHandler.d.ts +14 -0
  132. package/dist/commands/handlers/RangeHandler.d.ts.map +1 -0
  133. package/dist/commands/handlers/RangeHandler.js +108 -0
  134. package/dist/commands/handlers/RangeHandler.js.map +1 -0
  135. package/dist/commands/handlers/RegionHandler.d.ts +14 -0
  136. package/dist/commands/handlers/RegionHandler.d.ts.map +1 -0
  137. package/dist/commands/handlers/RegionHandler.js +313 -0
  138. package/dist/commands/handlers/RegionHandler.js.map +1 -0
  139. package/dist/commands/handlers/SendBusHandler.d.ts +14 -0
  140. package/dist/commands/handlers/SendBusHandler.d.ts.map +1 -0
  141. package/dist/commands/handlers/SendBusHandler.js +55 -0
  142. package/dist/commands/handlers/SendBusHandler.js.map +1 -0
  143. package/dist/commands/handlers/SessionHandler.d.ts +14 -0
  144. package/dist/commands/handlers/SessionHandler.d.ts.map +1 -0
  145. package/dist/commands/handlers/SessionHandler.js +80 -0
  146. package/dist/commands/handlers/SessionHandler.js.map +1 -0
  147. package/dist/commands/handlers/TrackGroupHandler.d.ts +18 -0
  148. package/dist/commands/handlers/TrackGroupHandler.d.ts.map +1 -0
  149. package/dist/commands/handlers/TrackGroupHandler.js +210 -0
  150. package/dist/commands/handlers/TrackGroupHandler.js.map +1 -0
  151. package/dist/commands/handlers/TrackHandler.d.ts +14 -0
  152. package/dist/commands/handlers/TrackHandler.d.ts.map +1 -0
  153. package/dist/commands/handlers/TrackHandler.js +241 -0
  154. package/dist/commands/handlers/TrackHandler.js.map +1 -0
  155. package/dist/commands/handlers/TransportHandler.d.ts +14 -0
  156. package/dist/commands/handlers/TransportHandler.d.ts.map +1 -0
  157. package/dist/commands/handlers/TransportHandler.js +117 -0
  158. package/dist/commands/handlers/TransportHandler.js.map +1 -0
  159. package/dist/commands/handlers/index.d.ts +18 -0
  160. package/dist/commands/handlers/index.d.ts.map +1 -0
  161. package/dist/commands/handlers/index.js +17 -0
  162. package/dist/commands/handlers/index.js.map +1 -0
  163. package/dist/commands/impl/AddAutomationPointCommand.d.ts +20 -0
  164. package/dist/commands/impl/AddAutomationPointCommand.d.ts.map +1 -0
  165. package/dist/commands/impl/AddAutomationPointCommand.js +45 -0
  166. package/dist/commands/impl/AddAutomationPointCommand.js.map +1 -0
  167. package/dist/commands/impl/AddAuxTrackCommand.d.ts +11 -0
  168. package/dist/commands/impl/AddAuxTrackCommand.d.ts.map +1 -0
  169. package/dist/commands/impl/AddAuxTrackCommand.js +23 -0
  170. package/dist/commands/impl/AddAuxTrackCommand.js.map +1 -0
  171. package/dist/commands/impl/AddBusTrackCommand.d.ts +11 -0
  172. package/dist/commands/impl/AddBusTrackCommand.d.ts.map +1 -0
  173. package/dist/commands/impl/AddBusTrackCommand.js +23 -0
  174. package/dist/commands/impl/AddBusTrackCommand.js.map +1 -0
  175. package/dist/commands/impl/AddMarkerCommand.d.ts +13 -0
  176. package/dist/commands/impl/AddMarkerCommand.d.ts.map +1 -0
  177. package/dist/commands/impl/AddMarkerCommand.js +25 -0
  178. package/dist/commands/impl/AddMarkerCommand.js.map +1 -0
  179. package/dist/commands/impl/AddMidiNoteCommand.d.ts +22 -0
  180. package/dist/commands/impl/AddMidiNoteCommand.d.ts.map +1 -0
  181. package/dist/commands/impl/AddMidiNoteCommand.js +45 -0
  182. package/dist/commands/impl/AddMidiNoteCommand.js.map +1 -0
  183. package/dist/commands/impl/AddPluginCommand.d.ts +19 -0
  184. package/dist/commands/impl/AddPluginCommand.d.ts.map +1 -0
  185. package/dist/commands/impl/AddPluginCommand.js +43 -0
  186. package/dist/commands/impl/AddPluginCommand.js.map +1 -0
  187. package/dist/commands/impl/AddRangeCommand.d.ts +19 -0
  188. package/dist/commands/impl/AddRangeCommand.d.ts.map +1 -0
  189. package/dist/commands/impl/AddRangeCommand.js +32 -0
  190. package/dist/commands/impl/AddRangeCommand.js.map +1 -0
  191. package/dist/commands/impl/AddRegionCommand.d.ts +19 -0
  192. package/dist/commands/impl/AddRegionCommand.d.ts.map +1 -0
  193. package/dist/commands/impl/AddRegionCommand.js +58 -0
  194. package/dist/commands/impl/AddRegionCommand.js.map +1 -0
  195. package/dist/commands/impl/AddSendBusCommand.d.ts +23 -0
  196. package/dist/commands/impl/AddSendBusCommand.d.ts.map +1 -0
  197. package/dist/commands/impl/AddSendBusCommand.js +30 -0
  198. package/dist/commands/impl/AddSendBusCommand.js.map +1 -0
  199. package/dist/commands/impl/AddSourceCommand.d.ts +12 -0
  200. package/dist/commands/impl/AddSourceCommand.d.ts.map +1 -0
  201. package/dist/commands/impl/AddSourceCommand.js +16 -0
  202. package/dist/commands/impl/AddSourceCommand.js.map +1 -0
  203. package/dist/commands/impl/AddTempoChangeCommand.d.ts +15 -0
  204. package/dist/commands/impl/AddTempoChangeCommand.d.ts.map +1 -0
  205. package/dist/commands/impl/AddTempoChangeCommand.js +45 -0
  206. package/dist/commands/impl/AddTempoChangeCommand.js.map +1 -0
  207. package/dist/commands/impl/AddTrackCommand.d.ts +13 -0
  208. package/dist/commands/impl/AddTrackCommand.d.ts.map +1 -0
  209. package/dist/commands/impl/AddTrackCommand.js +26 -0
  210. package/dist/commands/impl/AddTrackCommand.js.map +1 -0
  211. package/dist/commands/impl/ConnectIOCommand.d.ts +13 -0
  212. package/dist/commands/impl/ConnectIOCommand.d.ts.map +1 -0
  213. package/dist/commands/impl/ConnectIOCommand.js +31 -0
  214. package/dist/commands/impl/ConnectIOCommand.js.map +1 -0
  215. package/dist/commands/impl/CopyRegionCommand.d.ts +12 -0
  216. package/dist/commands/impl/CopyRegionCommand.d.ts.map +1 -0
  217. package/dist/commands/impl/CopyRegionCommand.js +42 -0
  218. package/dist/commands/impl/CopyRegionCommand.js.map +1 -0
  219. package/dist/commands/impl/DisconnectIOCommand.d.ts +13 -0
  220. package/dist/commands/impl/DisconnectIOCommand.d.ts.map +1 -0
  221. package/dist/commands/impl/DisconnectIOCommand.js +24 -0
  222. package/dist/commands/impl/DisconnectIOCommand.js.map +1 -0
  223. package/dist/commands/impl/DuplicateRegionCommand.d.ts +15 -0
  224. package/dist/commands/impl/DuplicateRegionCommand.d.ts.map +1 -0
  225. package/dist/commands/impl/DuplicateRegionCommand.js +49 -0
  226. package/dist/commands/impl/DuplicateRegionCommand.js.map +1 -0
  227. package/dist/commands/impl/ExportCommand.d.ts +17 -0
  228. package/dist/commands/impl/ExportCommand.d.ts.map +1 -0
  229. package/dist/commands/impl/ExportCommand.js +92 -0
  230. package/dist/commands/impl/ExportCommand.js.map +1 -0
  231. package/dist/commands/impl/FreezeTrackCommand.d.ts +25 -0
  232. package/dist/commands/impl/FreezeTrackCommand.d.ts.map +1 -0
  233. package/dist/commands/impl/FreezeTrackCommand.js +94 -0
  234. package/dist/commands/impl/FreezeTrackCommand.js.map +1 -0
  235. package/dist/commands/impl/GroupRegionsCommand.d.ts +15 -0
  236. package/dist/commands/impl/GroupRegionsCommand.d.ts.map +1 -0
  237. package/dist/commands/impl/GroupRegionsCommand.js +28 -0
  238. package/dist/commands/impl/GroupRegionsCommand.js.map +1 -0
  239. package/dist/commands/impl/LoadSessionCommand.d.ts +24 -0
  240. package/dist/commands/impl/LoadSessionCommand.d.ts.map +1 -0
  241. package/dist/commands/impl/LoadSessionCommand.js +77 -0
  242. package/dist/commands/impl/LoadSessionCommand.js.map +1 -0
  243. package/dist/commands/impl/LockRegionCommand.d.ts +16 -0
  244. package/dist/commands/impl/LockRegionCommand.d.ts.map +1 -0
  245. package/dist/commands/impl/LockRegionCommand.js +37 -0
  246. package/dist/commands/impl/LockRegionCommand.js.map +1 -0
  247. package/dist/commands/impl/MergeRegionsCommand.d.ts +19 -0
  248. package/dist/commands/impl/MergeRegionsCommand.d.ts.map +1 -0
  249. package/dist/commands/impl/MergeRegionsCommand.js +85 -0
  250. package/dist/commands/impl/MergeRegionsCommand.js.map +1 -0
  251. package/dist/commands/impl/MoveAutomationPointCommand.d.ts +20 -0
  252. package/dist/commands/impl/MoveAutomationPointCommand.d.ts.map +1 -0
  253. package/dist/commands/impl/MoveAutomationPointCommand.js +73 -0
  254. package/dist/commands/impl/MoveAutomationPointCommand.js.map +1 -0
  255. package/dist/commands/impl/MoveMarkerCommand.d.ts +13 -0
  256. package/dist/commands/impl/MoveMarkerCommand.d.ts.map +1 -0
  257. package/dist/commands/impl/MoveMarkerCommand.js +29 -0
  258. package/dist/commands/impl/MoveMarkerCommand.js.map +1 -0
  259. package/dist/commands/impl/MoveMidiNoteCommand.d.ts +20 -0
  260. package/dist/commands/impl/MoveMidiNoteCommand.d.ts.map +1 -0
  261. package/dist/commands/impl/MoveMidiNoteCommand.js +55 -0
  262. package/dist/commands/impl/MoveMidiNoteCommand.js.map +1 -0
  263. package/dist/commands/impl/MoveRegionCommand.d.ts +22 -0
  264. package/dist/commands/impl/MoveRegionCommand.d.ts.map +1 -0
  265. package/dist/commands/impl/MoveRegionCommand.js +148 -0
  266. package/dist/commands/impl/MoveRegionCommand.js.map +1 -0
  267. package/dist/commands/impl/NewSessionCommand.d.ts +17 -0
  268. package/dist/commands/impl/NewSessionCommand.d.ts.map +1 -0
  269. package/dist/commands/impl/NewSessionCommand.js +88 -0
  270. package/dist/commands/impl/NewSessionCommand.js.map +1 -0
  271. package/dist/commands/impl/NormalizeRegionCommand.d.ts +24 -0
  272. package/dist/commands/impl/NormalizeRegionCommand.d.ts.map +1 -0
  273. package/dist/commands/impl/NormalizeRegionCommand.js +60 -0
  274. package/dist/commands/impl/NormalizeRegionCommand.js.map +1 -0
  275. package/dist/commands/impl/PasteRegionCommand.d.ts +18 -0
  276. package/dist/commands/impl/PasteRegionCommand.d.ts.map +1 -0
  277. package/dist/commands/impl/PasteRegionCommand.js +66 -0
  278. package/dist/commands/impl/PasteRegionCommand.js.map +1 -0
  279. package/dist/commands/impl/RemoveAutomationPointCommand.d.ts +17 -0
  280. package/dist/commands/impl/RemoveAutomationPointCommand.d.ts.map +1 -0
  281. package/dist/commands/impl/RemoveAutomationPointCommand.js +69 -0
  282. package/dist/commands/impl/RemoveAutomationPointCommand.js.map +1 -0
  283. package/dist/commands/impl/RemoveMarkerCommand.d.ts +14 -0
  284. package/dist/commands/impl/RemoveMarkerCommand.d.ts.map +1 -0
  285. package/dist/commands/impl/RemoveMarkerCommand.js +32 -0
  286. package/dist/commands/impl/RemoveMarkerCommand.js.map +1 -0
  287. package/dist/commands/impl/RemoveMidiNoteCommand.d.ts +16 -0
  288. package/dist/commands/impl/RemoveMidiNoteCommand.d.ts.map +1 -0
  289. package/dist/commands/impl/RemoveMidiNoteCommand.js +38 -0
  290. package/dist/commands/impl/RemoveMidiNoteCommand.js.map +1 -0
  291. package/dist/commands/impl/RemovePluginCommand.d.ts +17 -0
  292. package/dist/commands/impl/RemovePluginCommand.d.ts.map +1 -0
  293. package/dist/commands/impl/RemovePluginCommand.js +55 -0
  294. package/dist/commands/impl/RemovePluginCommand.js.map +1 -0
  295. package/dist/commands/impl/RemoveRangeCommand.d.ts +15 -0
  296. package/dist/commands/impl/RemoveRangeCommand.d.ts.map +1 -0
  297. package/dist/commands/impl/RemoveRangeCommand.js +34 -0
  298. package/dist/commands/impl/RemoveRangeCommand.js.map +1 -0
  299. package/dist/commands/impl/RemoveRegionCommand.d.ts +17 -0
  300. package/dist/commands/impl/RemoveRegionCommand.d.ts.map +1 -0
  301. package/dist/commands/impl/RemoveRegionCommand.js +58 -0
  302. package/dist/commands/impl/RemoveRegionCommand.js.map +1 -0
  303. package/dist/commands/impl/RemoveSendBusCommand.d.ts +17 -0
  304. package/dist/commands/impl/RemoveSendBusCommand.d.ts.map +1 -0
  305. package/dist/commands/impl/RemoveSendBusCommand.js +34 -0
  306. package/dist/commands/impl/RemoveSendBusCommand.js.map +1 -0
  307. package/dist/commands/impl/RemoveTempoChangeCommand.d.ts +11 -0
  308. package/dist/commands/impl/RemoveTempoChangeCommand.d.ts.map +1 -0
  309. package/dist/commands/impl/RemoveTempoChangeCommand.js +32 -0
  310. package/dist/commands/impl/RemoveTempoChangeCommand.js.map +1 -0
  311. package/dist/commands/impl/RemoveTrackCommand.d.ts +11 -0
  312. package/dist/commands/impl/RemoveTrackCommand.d.ts.map +1 -0
  313. package/dist/commands/impl/RemoveTrackCommand.js +28 -0
  314. package/dist/commands/impl/RemoveTrackCommand.js.map +1 -0
  315. package/dist/commands/impl/ReorderTrackCommand.d.ts +15 -0
  316. package/dist/commands/impl/ReorderTrackCommand.d.ts.map +1 -0
  317. package/dist/commands/impl/ReorderTrackCommand.js +25 -0
  318. package/dist/commands/impl/ReorderTrackCommand.js.map +1 -0
  319. package/dist/commands/impl/ResizeRegionCommand.d.ts +18 -0
  320. package/dist/commands/impl/ResizeRegionCommand.d.ts.map +1 -0
  321. package/dist/commands/impl/ResizeRegionCommand.js +65 -0
  322. package/dist/commands/impl/ResizeRegionCommand.js.map +1 -0
  323. package/dist/commands/impl/ReverseRegionCommand.d.ts +22 -0
  324. package/dist/commands/impl/ReverseRegionCommand.d.ts.map +1 -0
  325. package/dist/commands/impl/ReverseRegionCommand.js +50 -0
  326. package/dist/commands/impl/ReverseRegionCommand.js.map +1 -0
  327. package/dist/commands/impl/SaveSessionCommand.d.ts +11 -0
  328. package/dist/commands/impl/SaveSessionCommand.d.ts.map +1 -0
  329. package/dist/commands/impl/SaveSessionCommand.js +33 -0
  330. package/dist/commands/impl/SaveSessionCommand.js.map +1 -0
  331. package/dist/commands/impl/SaveSnapshotCommand.d.ts +15 -0
  332. package/dist/commands/impl/SaveSnapshotCommand.d.ts.map +1 -0
  333. package/dist/commands/impl/SaveSnapshotCommand.js +34 -0
  334. package/dist/commands/impl/SaveSnapshotCommand.js.map +1 -0
  335. package/dist/commands/impl/SetGridCommand.d.ts +20 -0
  336. package/dist/commands/impl/SetGridCommand.d.ts.map +1 -0
  337. package/dist/commands/impl/SetGridCommand.js +35 -0
  338. package/dist/commands/impl/SetGridCommand.js.map +1 -0
  339. package/dist/commands/impl/SetLoopRangeCommand.d.ts +18 -0
  340. package/dist/commands/impl/SetLoopRangeCommand.d.ts.map +1 -0
  341. package/dist/commands/impl/SetLoopRangeCommand.js +44 -0
  342. package/dist/commands/impl/SetLoopRangeCommand.js.map +1 -0
  343. package/dist/commands/impl/SetPluginParameterCommand.d.ts +16 -0
  344. package/dist/commands/impl/SetPluginParameterCommand.d.ts.map +1 -0
  345. package/dist/commands/impl/SetPluginParameterCommand.js +49 -0
  346. package/dist/commands/impl/SetPluginParameterCommand.js.map +1 -0
  347. package/dist/commands/impl/SetPunchRangeCommand.d.ts +18 -0
  348. package/dist/commands/impl/SetPunchRangeCommand.d.ts.map +1 -0
  349. package/dist/commands/impl/SetPunchRangeCommand.js +42 -0
  350. package/dist/commands/impl/SetPunchRangeCommand.js.map +1 -0
  351. package/dist/commands/impl/SetRangeCommand.d.ts +27 -0
  352. package/dist/commands/impl/SetRangeCommand.d.ts.map +1 -0
  353. package/dist/commands/impl/SetRangeCommand.js +66 -0
  354. package/dist/commands/impl/SetRangeCommand.js.map +1 -0
  355. package/dist/commands/impl/SetRegionFadesCommand.d.ts +16 -0
  356. package/dist/commands/impl/SetRegionFadesCommand.d.ts.map +1 -0
  357. package/dist/commands/impl/SetRegionFadesCommand.js +46 -0
  358. package/dist/commands/impl/SetRegionFadesCommand.js.map +1 -0
  359. package/dist/commands/impl/SetRegionPlaybackRateCommand.d.ts +23 -0
  360. package/dist/commands/impl/SetRegionPlaybackRateCommand.d.ts.map +1 -0
  361. package/dist/commands/impl/SetRegionPlaybackRateCommand.js +46 -0
  362. package/dist/commands/impl/SetRegionPlaybackRateCommand.js.map +1 -0
  363. package/dist/commands/impl/SetRegionTimeDomainCommand.d.ts +16 -0
  364. package/dist/commands/impl/SetRegionTimeDomainCommand.d.ts.map +1 -0
  365. package/dist/commands/impl/SetRegionTimeDomainCommand.js +42 -0
  366. package/dist/commands/impl/SetRegionTimeDomainCommand.js.map +1 -0
  367. package/dist/commands/impl/SetSendLevelCommand.d.ts +18 -0
  368. package/dist/commands/impl/SetSendLevelCommand.d.ts.map +1 -0
  369. package/dist/commands/impl/SetSendLevelCommand.js +35 -0
  370. package/dist/commands/impl/SetSendLevelCommand.js.map +1 -0
  371. package/dist/commands/impl/SetTrackMuteCommand.d.ts +15 -0
  372. package/dist/commands/impl/SetTrackMuteCommand.d.ts.map +1 -0
  373. package/dist/commands/impl/SetTrackMuteCommand.js +29 -0
  374. package/dist/commands/impl/SetTrackMuteCommand.js.map +1 -0
  375. package/dist/commands/impl/SetTrackPanCommand.d.ts +15 -0
  376. package/dist/commands/impl/SetTrackPanCommand.d.ts.map +1 -0
  377. package/dist/commands/impl/SetTrackPanCommand.js +29 -0
  378. package/dist/commands/impl/SetTrackPanCommand.js.map +1 -0
  379. package/dist/commands/impl/SetTrackSoloCommand.d.ts +15 -0
  380. package/dist/commands/impl/SetTrackSoloCommand.d.ts.map +1 -0
  381. package/dist/commands/impl/SetTrackSoloCommand.js +29 -0
  382. package/dist/commands/impl/SetTrackSoloCommand.js.map +1 -0
  383. package/dist/commands/impl/SetTrackVolumeCommand.d.ts +15 -0
  384. package/dist/commands/impl/SetTrackVolumeCommand.d.ts.map +1 -0
  385. package/dist/commands/impl/SetTrackVolumeCommand.js +29 -0
  386. package/dist/commands/impl/SetTrackVolumeCommand.js.map +1 -0
  387. package/dist/commands/impl/SplitAtPlayheadCommand.d.ts +32 -0
  388. package/dist/commands/impl/SplitAtPlayheadCommand.d.ts.map +1 -0
  389. package/dist/commands/impl/SplitAtPlayheadCommand.js +100 -0
  390. package/dist/commands/impl/SplitAtPlayheadCommand.js.map +1 -0
  391. package/dist/commands/impl/SplitRegionCommand.d.ts +22 -0
  392. package/dist/commands/impl/SplitRegionCommand.d.ts.map +1 -0
  393. package/dist/commands/impl/SplitRegionCommand.js +69 -0
  394. package/dist/commands/impl/SplitRegionCommand.js.map +1 -0
  395. package/dist/commands/impl/StripSilenceCommand.d.ts +26 -0
  396. package/dist/commands/impl/StripSilenceCommand.d.ts.map +1 -0
  397. package/dist/commands/impl/StripSilenceCommand.js +83 -0
  398. package/dist/commands/impl/StripSilenceCommand.js.map +1 -0
  399. package/dist/commands/impl/TimeStretchRegionCommand.d.ts +28 -0
  400. package/dist/commands/impl/TimeStretchRegionCommand.d.ts.map +1 -0
  401. package/dist/commands/impl/TimeStretchRegionCommand.js +55 -0
  402. package/dist/commands/impl/TimeStretchRegionCommand.js.map +1 -0
  403. package/dist/commands/impl/ToggleLoopCommand.d.ts +12 -0
  404. package/dist/commands/impl/ToggleLoopCommand.d.ts.map +1 -0
  405. package/dist/commands/impl/ToggleLoopCommand.js +27 -0
  406. package/dist/commands/impl/ToggleLoopCommand.js.map +1 -0
  407. package/dist/commands/impl/TrimRegionCommand.d.ts +22 -0
  408. package/dist/commands/impl/TrimRegionCommand.d.ts.map +1 -0
  409. package/dist/commands/impl/TrimRegionCommand.js +92 -0
  410. package/dist/commands/impl/TrimRegionCommand.js.map +1 -0
  411. package/dist/commands/impl/UngroupRegionsCommand.d.ts +14 -0
  412. package/dist/commands/impl/UngroupRegionsCommand.d.ts.map +1 -0
  413. package/dist/commands/impl/UngroupRegionsCommand.js +28 -0
  414. package/dist/commands/impl/UngroupRegionsCommand.js.map +1 -0
  415. package/dist/commands/types.d.ts +1895 -0
  416. package/dist/commands/types.d.ts.map +1 -0
  417. package/dist/commands/types.js +1338 -0
  418. package/dist/commands/types.js.map +1 -0
  419. package/dist/domain/ABComparison.d.ts +33 -0
  420. package/dist/domain/ABComparison.d.ts.map +1 -0
  421. package/dist/domain/ABComparison.js +78 -0
  422. package/dist/domain/ABComparison.js.map +1 -0
  423. package/dist/domain/CDMarker.d.ts +36 -0
  424. package/dist/domain/CDMarker.d.ts.map +1 -0
  425. package/dist/domain/CDMarker.js +78 -0
  426. package/dist/domain/CDMarker.js.map +1 -0
  427. package/dist/domain/ClockMode.d.ts +19 -0
  428. package/dist/domain/ClockMode.d.ts.map +1 -0
  429. package/dist/domain/ClockMode.js +65 -0
  430. package/dist/domain/ClockMode.js.map +1 -0
  431. package/dist/domain/CrossfadeEngine.d.ts +27 -0
  432. package/dist/domain/CrossfadeEngine.d.ts.map +1 -0
  433. package/dist/domain/CrossfadeEngine.js +47 -0
  434. package/dist/domain/CrossfadeEngine.js.map +1 -0
  435. package/dist/domain/DragManager.d.ts +21 -0
  436. package/dist/domain/DragManager.d.ts.map +1 -0
  437. package/dist/domain/DragManager.js +37 -0
  438. package/dist/domain/DragManager.js.map +1 -0
  439. package/dist/domain/EditMode.d.ts +15 -0
  440. package/dist/domain/EditMode.d.ts.map +1 -0
  441. package/dist/domain/EditMode.js +16 -0
  442. package/dist/domain/EditMode.js.map +1 -0
  443. package/dist/domain/ExportConfig.d.ts +55 -0
  444. package/dist/domain/ExportConfig.d.ts.map +1 -0
  445. package/dist/domain/ExportConfig.js +115 -0
  446. package/dist/domain/ExportConfig.js.map +1 -0
  447. package/dist/domain/ExportStatus.d.ts +46 -0
  448. package/dist/domain/ExportStatus.d.ts.map +1 -0
  449. package/dist/domain/ExportStatus.js +113 -0
  450. package/dist/domain/ExportStatus.js.map +1 -0
  451. package/dist/domain/FadeEnvelope.d.ts +31 -0
  452. package/dist/domain/FadeEnvelope.d.ts.map +1 -0
  453. package/dist/domain/FadeEnvelope.js +44 -0
  454. package/dist/domain/FadeEnvelope.js.map +1 -0
  455. package/dist/domain/GridSettings.d.ts +99 -0
  456. package/dist/domain/GridSettings.d.ts.map +1 -0
  457. package/dist/domain/GridSettings.js +213 -0
  458. package/dist/domain/GridSettings.js.map +1 -0
  459. package/dist/domain/Marker.d.ts +31 -0
  460. package/dist/domain/Marker.d.ts.map +1 -0
  461. package/dist/domain/Marker.js +56 -0
  462. package/dist/domain/Marker.js.map +1 -0
  463. package/dist/domain/MeterData.d.ts +26 -0
  464. package/dist/domain/MeterData.d.ts.map +1 -0
  465. package/dist/domain/MeterData.js +2 -0
  466. package/dist/domain/MeterData.js.map +1 -0
  467. package/dist/domain/MeterType.d.ts +22 -0
  468. package/dist/domain/MeterType.d.ts.map +1 -0
  469. package/dist/domain/MeterType.js +24 -0
  470. package/dist/domain/MeterType.js.map +1 -0
  471. package/dist/domain/MidiClip.d.ts +56 -0
  472. package/dist/domain/MidiClip.d.ts.map +1 -0
  473. package/dist/domain/MidiClip.js +119 -0
  474. package/dist/domain/MidiClip.js.map +1 -0
  475. package/dist/domain/MidiNote.d.ts +38 -0
  476. package/dist/domain/MidiNote.d.ts.map +1 -0
  477. package/dist/domain/MidiNote.js +82 -0
  478. package/dist/domain/MidiNote.js.map +1 -0
  479. package/dist/domain/MidiRegion.d.ts +65 -0
  480. package/dist/domain/MidiRegion.d.ts.map +1 -0
  481. package/dist/domain/MidiRegion.js +123 -0
  482. package/dist/domain/MidiRegion.js.map +1 -0
  483. package/dist/domain/MixerScene.d.ts +62 -0
  484. package/dist/domain/MixerScene.d.ts.map +1 -0
  485. package/dist/domain/MixerScene.js +131 -0
  486. package/dist/domain/MixerScene.js.map +1 -0
  487. package/dist/domain/MonitorMode.d.ts +15 -0
  488. package/dist/domain/MonitorMode.d.ts.map +1 -0
  489. package/dist/domain/MonitorMode.js +16 -0
  490. package/dist/domain/MonitorMode.js.map +1 -0
  491. package/dist/domain/MouseMode.d.ts +25 -0
  492. package/dist/domain/MouseMode.d.ts.map +1 -0
  493. package/dist/domain/MouseMode.js +26 -0
  494. package/dist/domain/MouseMode.js.map +1 -0
  495. package/dist/domain/OverlapType.d.ts +18 -0
  496. package/dist/domain/OverlapType.d.ts.map +1 -0
  497. package/dist/domain/OverlapType.js +19 -0
  498. package/dist/domain/OverlapType.js.map +1 -0
  499. package/dist/domain/Playlist.d.ts +83 -0
  500. package/dist/domain/Playlist.d.ts.map +1 -0
  501. package/dist/domain/Playlist.js +205 -0
  502. package/dist/domain/Playlist.js.map +1 -0
  503. package/dist/domain/Range.d.ts +35 -0
  504. package/dist/domain/Range.d.ts.map +1 -0
  505. package/dist/domain/Range.js +59 -0
  506. package/dist/domain/Range.js.map +1 -0
  507. package/dist/domain/RecordMode.d.ts +13 -0
  508. package/dist/domain/RecordMode.d.ts.map +1 -0
  509. package/dist/domain/RecordMode.js +14 -0
  510. package/dist/domain/RecordMode.js.map +1 -0
  511. package/dist/domain/Region.d.ts +96 -0
  512. package/dist/domain/Region.d.ts.map +1 -0
  513. package/dist/domain/Region.js +219 -0
  514. package/dist/domain/Region.js.map +1 -0
  515. package/dist/domain/RegionClipboard.d.ts +56 -0
  516. package/dist/domain/RegionClipboard.d.ts.map +1 -0
  517. package/dist/domain/RegionClipboard.js +70 -0
  518. package/dist/domain/RegionClipboard.js.map +1 -0
  519. package/dist/domain/RegionGroup.d.ts +16 -0
  520. package/dist/domain/RegionGroup.d.ts.map +1 -0
  521. package/dist/domain/RegionGroup.js +36 -0
  522. package/dist/domain/RegionGroup.js.map +1 -0
  523. package/dist/domain/Route.d.ts +104 -0
  524. package/dist/domain/Route.d.ts.map +1 -0
  525. package/dist/domain/Route.js +192 -0
  526. package/dist/domain/Route.js.map +1 -0
  527. package/dist/domain/RulerType.d.ts +21 -0
  528. package/dist/domain/RulerType.d.ts.map +1 -0
  529. package/dist/domain/RulerType.js +22 -0
  530. package/dist/domain/RulerType.js.map +1 -0
  531. package/dist/domain/SelectionHistory.d.ts +38 -0
  532. package/dist/domain/SelectionHistory.d.ts.map +1 -0
  533. package/dist/domain/SelectionHistory.js +70 -0
  534. package/dist/domain/SelectionHistory.js.map +1 -0
  535. package/dist/domain/SendBus.d.ts +28 -0
  536. package/dist/domain/SendBus.d.ts.map +1 -0
  537. package/dist/domain/SendBus.js +43 -0
  538. package/dist/domain/SendBus.js.map +1 -0
  539. package/dist/domain/Session.d.ts +347 -0
  540. package/dist/domain/Session.d.ts.map +1 -0
  541. package/dist/domain/Session.js +965 -0
  542. package/dist/domain/Session.js.map +1 -0
  543. package/dist/domain/SidechainConfig.d.ts +51 -0
  544. package/dist/domain/SidechainConfig.d.ts.map +1 -0
  545. package/dist/domain/SidechainConfig.js +84 -0
  546. package/dist/domain/SidechainConfig.js.map +1 -0
  547. package/dist/domain/Source.d.ts +11 -0
  548. package/dist/domain/Source.d.ts.map +1 -0
  549. package/dist/domain/Source.js +11 -0
  550. package/dist/domain/Source.js.map +1 -0
  551. package/dist/domain/Take.d.ts +66 -0
  552. package/dist/domain/Take.d.ts.map +1 -0
  553. package/dist/domain/Take.js +106 -0
  554. package/dist/domain/Take.js.map +1 -0
  555. package/dist/domain/Track.d.ts +58 -0
  556. package/dist/domain/Track.d.ts.map +1 -0
  557. package/dist/domain/Track.js +124 -0
  558. package/dist/domain/Track.js.map +1 -0
  559. package/dist/domain/TrackGroup.d.ts +39 -0
  560. package/dist/domain/TrackGroup.d.ts.map +1 -0
  561. package/dist/domain/TrackGroup.js +86 -0
  562. package/dist/domain/TrackGroup.js.map +1 -0
  563. package/dist/domain/TransportFSM.d.ts +188 -0
  564. package/dist/domain/TransportFSM.d.ts.map +1 -0
  565. package/dist/domain/TransportFSM.js +412 -0
  566. package/dist/domain/TransportFSM.js.map +1 -0
  567. package/dist/domain/TransportMode.d.ts +23 -0
  568. package/dist/domain/TransportMode.d.ts.map +1 -0
  569. package/dist/domain/TransportMode.js +38 -0
  570. package/dist/domain/TransportMode.js.map +1 -0
  571. package/dist/domain/VCATrack.d.ts +48 -0
  572. package/dist/domain/VCATrack.d.ts.map +1 -0
  573. package/dist/domain/VCATrack.js +85 -0
  574. package/dist/domain/VCATrack.js.map +1 -0
  575. package/dist/domain/ZoomFocus.d.ts +21 -0
  576. package/dist/domain/ZoomFocus.d.ts.map +1 -0
  577. package/dist/domain/ZoomFocus.js +22 -0
  578. package/dist/domain/ZoomFocus.js.map +1 -0
  579. package/dist/domain/index.d.ts +11 -0
  580. package/dist/domain/index.d.ts.map +1 -0
  581. package/dist/domain/index.js +12 -0
  582. package/dist/domain/index.js.map +1 -0
  583. package/dist/domain/temporal/TempoMap.d.ts +68 -0
  584. package/dist/domain/temporal/TempoMap.d.ts.map +1 -0
  585. package/dist/domain/temporal/TempoMap.js +151 -0
  586. package/dist/domain/temporal/TempoMap.js.map +1 -0
  587. package/dist/domain/temporal/types.d.ts +34 -0
  588. package/dist/domain/temporal/types.d.ts.map +1 -0
  589. package/dist/domain/temporal/types.js +54 -0
  590. package/dist/domain/temporal/types.js.map +1 -0
  591. package/dist/domain/types.d.ts +26 -0
  592. package/dist/domain/types.d.ts.map +1 -0
  593. package/dist/domain/types.js +11 -0
  594. package/dist/domain/types.js.map +1 -0
  595. package/dist/errors/DAWErrors.d.ts +107 -0
  596. package/dist/errors/DAWErrors.d.ts.map +1 -0
  597. package/dist/errors/DAWErrors.js +159 -0
  598. package/dist/errors/DAWErrors.js.map +1 -0
  599. package/dist/index.d.ts +56 -0
  600. package/dist/index.d.ts.map +1 -0
  601. package/dist/index.js +59 -0
  602. package/dist/index.js.map +1 -0
  603. package/dist/lib/Signal.d.ts +28 -0
  604. package/dist/lib/Signal.d.ts.map +1 -0
  605. package/dist/lib/Signal.js +34 -0
  606. package/dist/lib/Signal.js.map +1 -0
  607. package/dist/midi/MidiInput.d.ts +61 -0
  608. package/dist/midi/MidiInput.d.ts.map +1 -0
  609. package/dist/midi/MidiInput.js +153 -0
  610. package/dist/midi/MidiInput.js.map +1 -0
  611. package/dist/plugins/AutomatableParameter.d.ts +28 -0
  612. package/dist/plugins/AutomatableParameter.d.ts.map +1 -0
  613. package/dist/plugins/AutomatableParameter.js +89 -0
  614. package/dist/plugins/AutomatableParameter.js.map +1 -0
  615. package/dist/plugins/Plugin.d.ts +31 -0
  616. package/dist/plugins/Plugin.d.ts.map +1 -0
  617. package/dist/plugins/Plugin.js +7 -0
  618. package/dist/plugins/Plugin.js.map +1 -0
  619. package/dist/plugins/PluginManager.d.ts +15 -0
  620. package/dist/plugins/PluginManager.d.ts.map +1 -0
  621. package/dist/plugins/PluginManager.js +199 -0
  622. package/dist/plugins/PluginManager.js.map +1 -0
  623. package/dist/plugins/PluginPreset.d.ts +50 -0
  624. package/dist/plugins/PluginPreset.d.ts.map +1 -0
  625. package/dist/plugins/PluginPreset.js +292 -0
  626. package/dist/plugins/PluginPreset.js.map +1 -0
  627. package/dist/plugins/impl/AutoPanPlugin.d.ts +28 -0
  628. package/dist/plugins/impl/AutoPanPlugin.d.ts.map +1 -0
  629. package/dist/plugins/impl/AutoPanPlugin.js +48 -0
  630. package/dist/plugins/impl/AutoPanPlugin.js.map +1 -0
  631. package/dist/plugins/impl/ConvolutionReverbPlugin.d.ts +35 -0
  632. package/dist/plugins/impl/ConvolutionReverbPlugin.d.ts.map +1 -0
  633. package/dist/plugins/impl/ConvolutionReverbPlugin.js +65 -0
  634. package/dist/plugins/impl/ConvolutionReverbPlugin.js.map +1 -0
  635. package/dist/plugins/impl/DeEsserPlugin.d.ts +35 -0
  636. package/dist/plugins/impl/DeEsserPlugin.d.ts.map +1 -0
  637. package/dist/plugins/impl/DeEsserPlugin.js +87 -0
  638. package/dist/plugins/impl/DeEsserPlugin.js.map +1 -0
  639. package/dist/plugins/impl/ExpanderPlugin.d.ts +42 -0
  640. package/dist/plugins/impl/ExpanderPlugin.d.ts.map +1 -0
  641. package/dist/plugins/impl/ExpanderPlugin.js +105 -0
  642. package/dist/plugins/impl/ExpanderPlugin.js.map +1 -0
  643. package/dist/plugins/impl/GenericPlugin.d.ts +20 -0
  644. package/dist/plugins/impl/GenericPlugin.d.ts.map +1 -0
  645. package/dist/plugins/impl/GenericPlugin.js +37 -0
  646. package/dist/plugins/impl/GenericPlugin.js.map +1 -0
  647. package/dist/plugins/impl/MultibandCompressorPlugin.d.ts +33 -0
  648. package/dist/plugins/impl/MultibandCompressorPlugin.d.ts.map +1 -0
  649. package/dist/plugins/impl/MultibandCompressorPlugin.js +169 -0
  650. package/dist/plugins/impl/MultibandCompressorPlugin.js.map +1 -0
  651. package/dist/plugins/impl/ParametricEQPlugin.d.ts +25 -0
  652. package/dist/plugins/impl/ParametricEQPlugin.d.ts.map +1 -0
  653. package/dist/plugins/impl/ParametricEQPlugin.js +79 -0
  654. package/dist/plugins/impl/ParametricEQPlugin.js.map +1 -0
  655. package/dist/plugins/impl/PhaserPlugin.d.ts +29 -0
  656. package/dist/plugins/impl/PhaserPlugin.d.ts.map +1 -0
  657. package/dist/plugins/impl/PhaserPlugin.js +50 -0
  658. package/dist/plugins/impl/PhaserPlugin.js.map +1 -0
  659. package/dist/plugins/impl/SyncDelayPlugin.d.ts +52 -0
  660. package/dist/plugins/impl/SyncDelayPlugin.d.ts.map +1 -0
  661. package/dist/plugins/impl/SyncDelayPlugin.js +95 -0
  662. package/dist/plugins/impl/SyncDelayPlugin.js.map +1 -0
  663. package/dist/plugins/impl/TapeSaturationPlugin.d.ts +35 -0
  664. package/dist/plugins/impl/TapeSaturationPlugin.d.ts.map +1 -0
  665. package/dist/plugins/impl/TapeSaturationPlugin.js +87 -0
  666. package/dist/plugins/impl/TapeSaturationPlugin.js.map +1 -0
  667. package/dist/plugins/impl/TremoloPlugin.d.ts +29 -0
  668. package/dist/plugins/impl/TremoloPlugin.d.ts.map +1 -0
  669. package/dist/plugins/impl/TremoloPlugin.js +50 -0
  670. package/dist/plugins/impl/TremoloPlugin.js.map +1 -0
  671. package/dist/plugins/impl/VibratoPlugin.d.ts +28 -0
  672. package/dist/plugins/impl/VibratoPlugin.d.ts.map +1 -0
  673. package/dist/plugins/impl/VibratoPlugin.js +48 -0
  674. package/dist/plugins/impl/VibratoPlugin.js.map +1 -0
  675. package/dist/preferences/KeyBindings.d.ts +38 -0
  676. package/dist/preferences/KeyBindings.d.ts.map +1 -0
  677. package/dist/preferences/KeyBindings.js +83 -0
  678. package/dist/preferences/KeyBindings.js.map +1 -0
  679. package/dist/preferences/Preferences.d.ts +49 -0
  680. package/dist/preferences/Preferences.d.ts.map +1 -0
  681. package/dist/preferences/Preferences.js +93 -0
  682. package/dist/preferences/Preferences.js.map +1 -0
  683. package/dist/preferences/index.d.ts +4 -0
  684. package/dist/preferences/index.d.ts.map +1 -0
  685. package/dist/preferences/index.js +3 -0
  686. package/dist/preferences/index.js.map +1 -0
  687. package/dist/processing/GainProcessor.d.ts +10 -0
  688. package/dist/processing/GainProcessor.d.ts.map +1 -0
  689. package/dist/processing/GainProcessor.js +21 -0
  690. package/dist/processing/GainProcessor.js.map +1 -0
  691. package/dist/processing/IO.d.ts +15 -0
  692. package/dist/processing/IO.d.ts.map +1 -0
  693. package/dist/processing/IO.js +34 -0
  694. package/dist/processing/IO.js.map +1 -0
  695. package/dist/processing/MeterProcessor.d.ts +101 -0
  696. package/dist/processing/MeterProcessor.d.ts.map +1 -0
  697. package/dist/processing/MeterProcessor.js +195 -0
  698. package/dist/processing/MeterProcessor.js.map +1 -0
  699. package/dist/processing/PanProcessor.d.ts +15 -0
  700. package/dist/processing/PanProcessor.d.ts.map +1 -0
  701. package/dist/processing/PanProcessor.js +35 -0
  702. package/dist/processing/PanProcessor.js.map +1 -0
  703. package/dist/processing/PluginInsert.d.ts +9 -0
  704. package/dist/processing/PluginInsert.d.ts.map +1 -0
  705. package/dist/processing/PluginInsert.js +16 -0
  706. package/dist/processing/PluginInsert.js.map +1 -0
  707. package/dist/processing/PolarityProcessor.d.ts +25 -0
  708. package/dist/processing/PolarityProcessor.d.ts.map +1 -0
  709. package/dist/processing/PolarityProcessor.js +35 -0
  710. package/dist/processing/PolarityProcessor.js.map +1 -0
  711. package/dist/processing/Processor.d.ts +31 -0
  712. package/dist/processing/Processor.d.ts.map +1 -0
  713. package/dist/processing/Processor.js +45 -0
  714. package/dist/processing/Processor.js.map +1 -0
  715. package/dist/processing/SendProcessor.d.ts +55 -0
  716. package/dist/processing/SendProcessor.d.ts.map +1 -0
  717. package/dist/processing/SendProcessor.js +97 -0
  718. package/dist/processing/SendProcessor.js.map +1 -0
  719. package/dist/storage/AutoSave.d.ts +48 -0
  720. package/dist/storage/AutoSave.d.ts.map +1 -0
  721. package/dist/storage/AutoSave.js +108 -0
  722. package/dist/storage/AutoSave.js.map +1 -0
  723. package/dist/storage/SessionStorage.d.ts +74 -0
  724. package/dist/storage/SessionStorage.d.ts.map +1 -0
  725. package/dist/storage/SessionStorage.js +192 -0
  726. package/dist/storage/SessionStorage.js.map +1 -0
  727. package/dist/storage/SessionTemplate.d.ts +22 -0
  728. package/dist/storage/SessionTemplate.d.ts.map +1 -0
  729. package/dist/storage/SessionTemplate.js +77 -0
  730. package/dist/storage/SessionTemplate.js.map +1 -0
  731. package/dist/utils/AudioBufferToWav.d.ts +28 -0
  732. package/dist/utils/AudioBufferToWav.d.ts.map +1 -0
  733. package/dist/utils/AudioBufferToWav.js +110 -0
  734. package/dist/utils/AudioBufferToWav.js.map +1 -0
  735. package/dist/utils/DitherProcessor.d.ts +41 -0
  736. package/dist/utils/DitherProcessor.d.ts.map +1 -0
  737. package/dist/utils/DitherProcessor.js +78 -0
  738. package/dist/utils/DitherProcessor.js.map +1 -0
  739. package/dist/utils/FlacEncoder.d.ts +22 -0
  740. package/dist/utils/FlacEncoder.d.ts.map +1 -0
  741. package/dist/utils/FlacEncoder.js +196 -0
  742. package/dist/utils/FlacEncoder.js.map +1 -0
  743. package/dist/utils/OggEncoder.d.ts +40 -0
  744. package/dist/utils/OggEncoder.d.ts.map +1 -0
  745. package/dist/utils/OggEncoder.js +183 -0
  746. package/dist/utils/OggEncoder.js.map +1 -0
  747. 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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"}