@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,71 @@
1
+ /**
2
+ * Utility functions for audio metering.
3
+ * Operates on raw Float32Array time-domain data from AnalyserNode.
4
+ *
5
+ * Ardour reference: libs/ardour/meter.cc
6
+ */
7
+ /**
8
+ * Convert a linear amplitude value to decibels (dBFS).
9
+ * Returns -Infinity for zero or negative input.
10
+ */
11
+ export function linearToDb(linear) {
12
+ if (linear <= 0)
13
+ return -Infinity;
14
+ return 20 * Math.log10(linear);
15
+ }
16
+ /**
17
+ * Convert a decibel value to linear amplitude.
18
+ * Returns 0 for -Infinity input.
19
+ */
20
+ export function dbToLinear(db) {
21
+ if (db === -Infinity)
22
+ return 0;
23
+ return Math.pow(10, db / 20);
24
+ }
25
+ /**
26
+ * Calculate peak level in dBFS from an AnalyserNode's time-domain data.
27
+ */
28
+ export function calculatePeakDb(analyser) {
29
+ const buffer = new Float32Array(analyser.fftSize);
30
+ analyser.getFloatTimeDomainData(buffer);
31
+ let peak = 0;
32
+ for (let i = 0; i < buffer.length; i++) {
33
+ const abs = Math.abs(buffer[i]);
34
+ if (abs > peak) {
35
+ peak = abs;
36
+ }
37
+ }
38
+ return linearToDb(peak);
39
+ }
40
+ /**
41
+ * Calculate RMS level in dBFS from an AnalyserNode's time-domain data.
42
+ */
43
+ export function calculateRmsDb(analyser) {
44
+ const buffer = new Float32Array(analyser.fftSize);
45
+ analyser.getFloatTimeDomainData(buffer);
46
+ let sumSquares = 0;
47
+ for (let i = 0; i < buffer.length; i++) {
48
+ sumSquares += buffer[i] * buffer[i];
49
+ }
50
+ const rms = Math.sqrt(sumSquares / buffer.length);
51
+ return linearToDb(rms);
52
+ }
53
+ /**
54
+ * K-Metering (Item 7)
55
+ * K-System meters offset dBFS so that the reference level sits at 0 on the scale.
56
+ * K-14: 0 on scale = -14 dBFS (mastering/broadcast)
57
+ * K-20: 0 on scale = -20 dBFS (film/large-venue)
58
+ */
59
+ /** Apply K-14 offset: dBFS + 14 */
60
+ export function kMeter14(dbfs) {
61
+ return dbfs + 14;
62
+ }
63
+ /** Apply K-20 offset: dBFS + 20 */
64
+ export function kMeter20(dbfs) {
65
+ return dbfs + 20;
66
+ }
67
+ /** Generic K-meter offset */
68
+ export function kMeter(dbfs, kLevel) {
69
+ return dbfs + kLevel;
70
+ }
71
+ //# sourceMappingURL=MeterUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MeterUtils.js","sourceRoot":"","sources":["../../src/audio/MeterUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,MAAc;IACrC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,CAAC,QAAQ,CAAC;IAClC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,EAAU;IACjC,IAAI,EAAE,KAAK,CAAC,QAAQ;QAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAsB;IAClD,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClD,QAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,GAAG,GAAG,IAAI,EAAE,CAAC;YACb,IAAI,GAAG,GAAG,CAAC;QACf,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,QAAsB;IACjD,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClD,QAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAClD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;GAKG;AAEH,mCAAmC;AACnC,MAAM,UAAU,QAAQ,CAAC,IAAY;IACjC,OAAO,IAAI,GAAG,EAAE,CAAC;AACrB,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,QAAQ,CAAC,IAAY;IACjC,OAAO,IAAI,GAAG,EAAE,CAAC;AACrB,CAAC;AAED,6BAA6B;AAC7B,MAAM,UAAU,MAAM,CAAC,IAAY,EAAE,MAAe;IAChD,OAAO,IAAI,GAAG,MAAM,CAAC;AACzB,CAAC"}
@@ -0,0 +1,48 @@
1
+ import { FrameCount, TrackId } from '../domain/types';
2
+ import { ExportConfig } from '../domain/ExportConfig';
3
+ import { ExportStatus } from '../domain/ExportStatus';
4
+ /**
5
+ * Offline Audio Exporter
6
+ * Ardour 참조: libs/ardour/export_handler.cc
7
+ *
8
+ * Web Audio의 OfflineAudioContext를 활용하여 실시간보다 빠르게 렌더링합니다.
9
+ */
10
+ export declare class OfflineExporter {
11
+ /**
12
+ * Export audio using Offline Rendering
13
+ *
14
+ * @param config Export configuration
15
+ * @param status Export status (for progress tracking)
16
+ * @param getTrackAudio Callback to get track audio for a given time range
17
+ */
18
+ static export(config: ExportConfig, status: ExportStatus, getTrackAudio: (trackIds: TrackId[], startFrame: FrameCount, endFrame: FrameCount) => Promise<AudioBuffer>): Promise<void>;
19
+ /**
20
+ * Normalize audio buffer using peak normalization.
21
+ *
22
+ * NOTE: Despite previously being labeled as "LUFS", this method performs simple
23
+ * peak normalization (not ITU-R BS.1770 loudness measurement). The target value
24
+ * is interpreted as a peak level in dBFS, not as an integrated loudness value.
25
+ * True LUFS normalization would require K-weighted filtering and gated measurement.
26
+ *
27
+ * @param buffer Audio data (modified in-place)
28
+ * @param targetPeakDb Target peak level in dBFS (default: -14 dBFS)
29
+ */
30
+ private static normalizeBuffer;
31
+ /**
32
+ * Encode AudioBuffer to Blob
33
+ */
34
+ private static encodeToBlob;
35
+ /**
36
+ * Encode to MP3 format using lamejs
37
+ */
38
+ private static encodeMP3;
39
+ /**
40
+ * Stem Export: export each track individually as separate files.
41
+ * Returns a map of trackId -> { blob, filename }.
42
+ */
43
+ static exportStems(config: ExportConfig, status: ExportStatus, trackIds: TrackId[], trackNames: Map<TrackId, string>, getTrackAudio: (ids: TrackId[], startFrame: FrameCount, endFrame: FrameCount) => Promise<AudioBuffer>): Promise<Map<TrackId, {
44
+ blob: Blob;
45
+ filename: string;
46
+ }>>;
47
+ }
48
+ //# sourceMappingURL=OfflineExporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OfflineExporter.d.ts","sourceRoot":"","sources":["../../src/audio/OfflineExporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAkB,MAAM,wBAAwB,CAAC;AAOtE;;;;;GAKG;AACH,qBAAa,eAAe;IACxB;;;;;;OAMG;WACiB,MAAM,CACtB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,YAAY,EACpB,aAAa,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,KAAK,OAAO,CAAC,WAAW,CAAC,GAC3G,OAAO,CAAC,IAAI,CAAC;IAyEhB;;;;;;;;;;OAUG;mBACkB,eAAe;IA0BpC;;OAEG;mBACkB,YAAY;IAkBjC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;IA0CxB;;;OAGG;WACiB,WAAW,CAC3B,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,OAAO,EAAE,EACnB,UAAU,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,EAChC,aAAa,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,KAAK,OAAO,CAAC,WAAW,CAAC,GACtG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAqD7D"}
@@ -0,0 +1,202 @@
1
+ import { ExportProgress } from '../domain/ExportStatus';
2
+ import { AudioBufferToWav } from '../utils/AudioBufferToWav';
3
+ import { OggEncoder } from '../utils/OggEncoder';
4
+ import { FlacEncoder } from '../utils/FlacEncoder';
5
+ import { DitherProcessor, DitherType } from '../utils/DitherProcessor';
6
+ import * as lamejs from 'lamejs';
7
+ /**
8
+ * Offline Audio Exporter
9
+ * Ardour 참조: libs/ardour/export_handler.cc
10
+ *
11
+ * Web Audio의 OfflineAudioContext를 활용하여 실시간보다 빠르게 렌더링합니다.
12
+ */
13
+ export class OfflineExporter {
14
+ /**
15
+ * Export audio using Offline Rendering
16
+ *
17
+ * @param config Export configuration
18
+ * @param status Export status (for progress tracking)
19
+ * @param getTrackAudio Callback to get track audio for a given time range
20
+ */
21
+ static async export(config, status, getTrackAudio) {
22
+ try {
23
+ if (!config.validate()) {
24
+ throw new Error('Invalid export configuration');
25
+ }
26
+ const duration = config.getDuration();
27
+ const durationSeconds = duration / config.sampleRate;
28
+ console.log(`[OfflineExporter] Starting export: ${durationSeconds}s at ${config.sampleRate}Hz`);
29
+ console.log(`[OfflineExporter] Export config trackIds:`, config.trackIds, `exportMasterOnly:`, config.exportMasterOnly);
30
+ // Initialize status
31
+ status.init(duration, config.getFullPath());
32
+ // Render Phase
33
+ status.setProgress(ExportProgress.RENDERING);
34
+ // Get trackIds to pass to getTrackAudio
35
+ const trackIdsToExport = config.trackIds && config.trackIds.length > 0
36
+ ? config.trackIds
37
+ : undefined; // undefined means "all tracks"
38
+ console.log(`[OfflineExporter] Calling getTrackAudio with trackIds:`, trackIdsToExport);
39
+ const renderedBuffer = await getTrackAudio(trackIdsToExport, config.startFrame, config.endFrame);
40
+ // Update progress
41
+ status.updateProcessedFrames(duration);
42
+ // Normalize Phase (if enabled)
43
+ if (config.normalize) {
44
+ status.setProgress(ExportProgress.NORMALIZING);
45
+ await this.normalizeBuffer(renderedBuffer, config.targetPeakDb);
46
+ }
47
+ // Dithering Phase (before encoding, when reducing bit depth)
48
+ if (config.ditherType !== DitherType.NONE) {
49
+ const targetBits = config.sampleFormat === 'int16' ? 16 :
50
+ config.sampleFormat === 'int24' ? 24 : 32;
51
+ if (targetBits < 32) {
52
+ for (let ch = 0; ch < renderedBuffer.numberOfChannels; ch++) {
53
+ DitherProcessor.apply(renderedBuffer.getChannelData(ch), targetBits, config.ditherType);
54
+ }
55
+ }
56
+ }
57
+ // Encoding Phase
58
+ status.setProgress(ExportProgress.ENCODING);
59
+ const blob = await this.encodeToBlob(renderedBuffer, config);
60
+ // Create object URL
61
+ const url = URL.createObjectURL(blob);
62
+ // Complete
63
+ status.complete(blob, url);
64
+ console.log(`[OfflineExporter] Export completed: ${blob.size} bytes`);
65
+ }
66
+ catch (error) {
67
+ const message = error instanceof Error ? error.message : 'Unknown error';
68
+ console.error(`[OfflineExporter] Export failed:`, error);
69
+ status.setError(message);
70
+ }
71
+ }
72
+ /**
73
+ * Normalize audio buffer using peak normalization.
74
+ *
75
+ * NOTE: Despite previously being labeled as "LUFS", this method performs simple
76
+ * peak normalization (not ITU-R BS.1770 loudness measurement). The target value
77
+ * is interpreted as a peak level in dBFS, not as an integrated loudness value.
78
+ * True LUFS normalization would require K-weighted filtering and gated measurement.
79
+ *
80
+ * @param buffer Audio data (modified in-place)
81
+ * @param targetPeakDb Target peak level in dBFS (default: -14 dBFS)
82
+ */
83
+ static async normalizeBuffer(buffer, targetPeakDb) {
84
+ const target = targetPeakDb !== null && targetPeakDb !== void 0 ? targetPeakDb : -14; // Default to -14 dBFS
85
+ let maxPeak = 0;
86
+ for (let ch = 0; ch < buffer.numberOfChannels; ch++) {
87
+ const data = buffer.getChannelData(ch);
88
+ for (let i = 0; i < data.length; i++) {
89
+ maxPeak = Math.max(maxPeak, Math.abs(data[i]));
90
+ }
91
+ }
92
+ if (maxPeak === 0)
93
+ return;
94
+ // Convert dBFS target to linear gain and scale so the peak hits that level
95
+ const targetLinear = Math.pow(10, target / 20);
96
+ const gain = targetLinear / maxPeak;
97
+ // Apply gain
98
+ for (let ch = 0; ch < buffer.numberOfChannels; ch++) {
99
+ const data = buffer.getChannelData(ch);
100
+ for (let i = 0; i < data.length; i++) {
101
+ data[i] *= gain;
102
+ }
103
+ }
104
+ }
105
+ /**
106
+ * Encode AudioBuffer to Blob
107
+ */
108
+ static async encodeToBlob(buffer, config) {
109
+ var _a;
110
+ switch (config.format) {
111
+ case 'wav':
112
+ return AudioBufferToWav.encode(buffer, config.sampleFormat);
113
+ case 'mp3':
114
+ return this.encodeMP3(buffer, config);
115
+ case 'ogg':
116
+ return OggEncoder.encode(buffer, (_a = config.quality) !== null && _a !== void 0 ? _a : 0.5);
117
+ case 'flac':
118
+ return FlacEncoder.encode(buffer, config.sampleFormat === 'int24' ? 24 : 16);
119
+ default:
120
+ throw new Error(`Unknown format: ${config.format}`);
121
+ }
122
+ }
123
+ /**
124
+ * Encode to MP3 format using lamejs
125
+ */
126
+ static encodeMP3(buffer, config) {
127
+ const channels = buffer.numberOfChannels;
128
+ const sampleRate = buffer.sampleRate;
129
+ const kbps = config.bitrate || 128; // Default 128kbps
130
+ const mp3encoder = new lamejs.Mp3Encoder(channels, sampleRate, kbps);
131
+ const mp3Data = [];
132
+ // Convert Float32 to Int16
133
+ // Lamejs expects Int16 PCM data
134
+ const left = buffer.getChannelData(0);
135
+ const right = channels > 1 ? buffer.getChannelData(1) : undefined;
136
+ const leftInt16 = new Int16Array(left.length);
137
+ const rightInt16 = right ? new Int16Array(right.length) : undefined;
138
+ for (let i = 0; i < left.length; i++) {
139
+ // Clamp and convert
140
+ const s = Math.max(-1, Math.min(1, left[i]));
141
+ leftInt16[i] = s < 0 ? s * 0x8000 : s * 0x7FFF;
142
+ if (right && rightInt16) {
143
+ const sR = Math.max(-1, Math.min(1, right[i]));
144
+ rightInt16[i] = sR < 0 ? sR * 0x8000 : sR * 0x7FFF;
145
+ }
146
+ }
147
+ // Encode blocks
148
+ const mp3buf = mp3encoder.encodeBuffer(leftInt16, rightInt16);
149
+ if (mp3buf.length > 0) {
150
+ mp3Data.push(mp3buf);
151
+ }
152
+ // Flush
153
+ const mp3bufFlush = mp3encoder.flush();
154
+ if (mp3bufFlush.length > 0) {
155
+ mp3Data.push(mp3bufFlush);
156
+ }
157
+ return new Blob(mp3Data, { type: 'audio/mp3' });
158
+ }
159
+ /**
160
+ * Stem Export: export each track individually as separate files.
161
+ * Returns a map of trackId -> { blob, filename }.
162
+ */
163
+ static async exportStems(config, status, trackIds, trackNames, getTrackAudio) {
164
+ const results = new Map();
165
+ if (!config.validate()) {
166
+ throw new Error('Invalid export configuration');
167
+ }
168
+ const totalTracks = trackIds.length;
169
+ const duration = config.getDuration();
170
+ status.init(duration * totalTracks, config.getFullPath());
171
+ status.setProgress(ExportProgress.RENDERING);
172
+ for (let i = 0; i < trackIds.length; i++) {
173
+ if (status.aborted)
174
+ break;
175
+ const trackId = trackIds[i];
176
+ const trackName = trackNames.get(trackId) || `Track_${i + 1}`;
177
+ const safeTrackName = trackName.replace(/[^a-zA-Z0-9_-]/g, '_');
178
+ console.log(`[OfflineExporter] Stem ${i + 1}/${totalTracks}: ${trackName}`);
179
+ // Render single track
180
+ const renderedBuffer = await getTrackAudio([trackId], config.startFrame, config.endFrame);
181
+ // Normalize if enabled
182
+ if (config.normalize) {
183
+ await this.normalizeBuffer(renderedBuffer, config.targetPeakDb);
184
+ }
185
+ // Encode
186
+ const blob = await this.encodeToBlob(renderedBuffer, config);
187
+ const filename = `${config.filename}_${safeTrackName}.${config.format}`;
188
+ results.set(trackId, { blob, filename });
189
+ status.updateProcessedFrames(duration * (i + 1));
190
+ }
191
+ if (!status.aborted) {
192
+ // Create a combined blob (or return individual stems)
193
+ const firstResult = results.values().next().value;
194
+ if (firstResult) {
195
+ const url = URL.createObjectURL(firstResult.blob);
196
+ status.complete(firstResult.blob, url);
197
+ }
198
+ }
199
+ return results;
200
+ }
201
+ }
202
+ //# sourceMappingURL=OfflineExporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OfflineExporter.js","sourceRoot":"","sources":["../../src/audio/OfflineExporter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,152 @@
1
+ /**
2
+ * ProcessingGraph — a directed acyclic graph (DAG) for modeling signal-processing
3
+ * node execution order.
4
+ *
5
+ * Inspired by Ardour's internal graph scheduler (`libs/ardour/graph.cc`).
6
+ * The graph is a standalone utility with no audio-framework dependencies,
7
+ * making it suitable for unit testing and headless use.
8
+ *
9
+ * Key capabilities:
10
+ * - Add / remove nodes and directed edges (from → to means "from depends on to")
11
+ * - Topological sort via Kahn's algorithm — produces a valid execution order
12
+ * - Cycle detection via iterative DFS
13
+ * - Parallel-group extraction — nodes at the same "depth" can run concurrently
14
+ *
15
+ * @module ProcessingGraph
16
+ */
17
+ /**
18
+ * A node in the processing graph.
19
+ *
20
+ * `process()` is optional — the graph is purely structural; callers decide
21
+ * whether to invoke processing logic.
22
+ */
23
+ export interface GraphNode {
24
+ /** Unique identifier for this node. */
25
+ id: string;
26
+ /** Optional processing callback invoked during graph execution. */
27
+ process?(): void;
28
+ }
29
+ /**
30
+ * ProcessingGraph models a DAG of {@link GraphNode}s connected by directed
31
+ * dependency edges.
32
+ *
33
+ * An edge `from → to` means "node `from` depends on node `to`" — i.e. `to`
34
+ * must be processed **before** `from`.
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * const graph = new ProcessingGraph();
39
+ * graph.addNode({ id: 'input' });
40
+ * graph.addNode({ id: 'eq' });
41
+ * graph.addNode({ id: 'compressor' });
42
+ * graph.addNode({ id: 'output' });
43
+ *
44
+ * graph.addEdge('eq', 'input'); // eq depends on input
45
+ * graph.addEdge('compressor', 'eq'); // compressor depends on eq
46
+ * graph.addEdge('output', 'compressor'); // output depends on compressor
47
+ *
48
+ * const order = graph.topologicalSort(); // [input, eq, compressor, output]
49
+ * ```
50
+ */
51
+ export declare class ProcessingGraph {
52
+ /** All registered nodes keyed by id. */
53
+ private nodes;
54
+ /**
55
+ * Adjacency list storing **dependencies** (incoming edges).
56
+ * `edges.get(nodeId)` → set of node ids that `nodeId` depends on.
57
+ */
58
+ private edges;
59
+ /**
60
+ * Register a node in the graph.
61
+ *
62
+ * If a node with the same `id` already exists it will be replaced,
63
+ * but its edges are preserved.
64
+ *
65
+ * @param node - The graph node to add.
66
+ */
67
+ addNode(node: GraphNode): void;
68
+ /**
69
+ * Remove a node and all edges that reference it (both incoming and
70
+ * outgoing).
71
+ *
72
+ * @param nodeId - The id of the node to remove.
73
+ */
74
+ removeNode(nodeId: string): void;
75
+ /**
76
+ * Return the node with the given id, or `undefined` if it does not exist.
77
+ *
78
+ * @param nodeId - The id to look up.
79
+ */
80
+ getNode(nodeId: string): GraphNode | undefined;
81
+ /**
82
+ * The total number of nodes currently in the graph.
83
+ */
84
+ get nodeCount(): number;
85
+ /**
86
+ * Add a directed dependency edge: `from` depends on `to`.
87
+ *
88
+ * Both node ids must already exist in the graph; otherwise the call is a
89
+ * no-op.
90
+ *
91
+ * @param from - The node that has the dependency.
92
+ * @param to - The node that must be processed first.
93
+ */
94
+ addEdge(from: string, to: string): void;
95
+ /**
96
+ * Remove a directed dependency edge.
97
+ *
98
+ * @param from - The dependent node.
99
+ * @param to - The dependency to remove.
100
+ */
101
+ removeEdge(from: string, to: string): void;
102
+ /**
103
+ * Return the nodes in a valid execution order (dependencies first) using
104
+ * Kahn's algorithm.
105
+ *
106
+ * @throws {Error} If the graph contains a cycle (not all nodes can be
107
+ * sorted).
108
+ * @returns An array of {@link GraphNode} in topological order.
109
+ */
110
+ topologicalSort(): GraphNode[];
111
+ /**
112
+ * Partition the graph into groups of nodes that can be executed in
113
+ * parallel.
114
+ *
115
+ * Each group contains nodes whose dependencies have all been satisfied by
116
+ * earlier groups. Within a group the nodes are independent and can run
117
+ * concurrently.
118
+ *
119
+ * @throws {Error} If the graph contains a cycle.
120
+ * @returns An array of arrays — each inner array is a parallel group
121
+ * ordered from first-to-execute to last.
122
+ */
123
+ getParallelGroups(): GraphNode[][];
124
+ /**
125
+ * Detect whether the graph contains any cycles using iterative DFS.
126
+ *
127
+ * @returns `true` if a cycle exists, `false` otherwise.
128
+ */
129
+ detectCycles(): boolean;
130
+ /**
131
+ * Return the ids of all nodes that `nodeId` directly depends on
132
+ * (its prerequisites).
133
+ *
134
+ * @param nodeId - The node to query.
135
+ * @returns An array of dependency node ids, or an empty array if the node
136
+ * has no dependencies or does not exist.
137
+ */
138
+ getDependencies(nodeId: string): string[];
139
+ /**
140
+ * Return the ids of all nodes that directly depend on `nodeId`
141
+ * (its consumers / dependents).
142
+ *
143
+ * @param nodeId - The node to query.
144
+ * @returns An array of dependent node ids.
145
+ */
146
+ getDependents(nodeId: string): string[];
147
+ /**
148
+ * Remove all nodes and edges from the graph.
149
+ */
150
+ clear(): void;
151
+ }
152
+ //# sourceMappingURL=ProcessingGraph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProcessingGraph.d.ts","sourceRoot":"","sources":["../../src/audio/ProcessingGraph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACtB,uCAAuC;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,mEAAmE;IACnE,OAAO,CAAC,IAAI,IAAI,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,eAAe;IACxB,wCAAwC;IACxC,OAAO,CAAC,KAAK,CAAqC;IAElD;;;OAGG;IACH,OAAO,CAAC,KAAK,CAAuC;IAMpD;;;;;;;OAOG;IACH,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAO9B;;;;;OAKG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAShC;;;;OAIG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI9C;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAMD;;;;;;;;OAQG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAUvC;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAW1C;;;;;;;OAOG;IACH,eAAe,IAAI,SAAS,EAAE;IAoE9B;;;;;;;;;;;OAWG;IACH,iBAAiB,IAAI,SAAS,EAAE,EAAE;IA2ElC;;;;OAIG;IACH,YAAY,IAAI,OAAO;IA6DvB;;;;;;;OAOG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAKzC;;;;;;OAMG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAcvC;;OAEG;IACH,KAAK,IAAI,IAAI;CAIhB"}