@opendaw/studio-adapters 0.0.6

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 (296) hide show
  1. package/README.md +1 -0
  2. package/dist/AudioData.d.ts +7 -0
  3. package/dist/AudioData.d.ts.map +1 -0
  4. package/dist/AudioData.js +1 -0
  5. package/dist/AudioFileBoxAdapter.d.ts +22 -0
  6. package/dist/AudioFileBoxAdapter.d.ts.map +1 -0
  7. package/dist/AudioFileBoxAdapter.js +19 -0
  8. package/dist/AudioLoader.d.ts +26 -0
  9. package/dist/AudioLoader.d.ts.map +1 -0
  10. package/dist/AudioLoader.js +1 -0
  11. package/dist/AudioMetaData.d.ts +8 -0
  12. package/dist/AudioMetaData.d.ts.map +1 -0
  13. package/dist/AudioMetaData.js +1 -0
  14. package/dist/AudioSample.d.ts +5 -0
  15. package/dist/AudioSample.d.ts.map +1 -0
  16. package/dist/AudioSample.js +1 -0
  17. package/dist/AutomatableParameterFieldAdapter.d.ts +35 -0
  18. package/dist/AutomatableParameterFieldAdapter.d.ts.map +1 -0
  19. package/dist/AutomatableParameterFieldAdapter.js +161 -0
  20. package/dist/BoxAdapter.d.ts +7 -0
  21. package/dist/BoxAdapter.d.ts.map +1 -0
  22. package/dist/BoxAdapter.js +1 -0
  23. package/dist/BoxAdapterCollection.d.ts +19 -0
  24. package/dist/BoxAdapterCollection.d.ts.map +1 -0
  25. package/dist/BoxAdapterCollection.js +35 -0
  26. package/dist/BoxAdapters.d.ts +11 -0
  27. package/dist/BoxAdapters.d.ts.map +1 -0
  28. package/dist/BoxAdapters.js +129 -0
  29. package/dist/BoxAdaptersContext.d.ts +24 -0
  30. package/dist/BoxAdaptersContext.d.ts.map +1 -0
  31. package/dist/BoxAdaptersContext.js +1 -0
  32. package/dist/ClipNotifications.d.ts +14 -0
  33. package/dist/ClipNotifications.d.ts.map +1 -0
  34. package/dist/ClipNotifications.js +1 -0
  35. package/dist/ClipSequencing.d.ts +12 -0
  36. package/dist/ClipSequencing.d.ts.map +1 -0
  37. package/dist/ClipSequencing.js +1 -0
  38. package/dist/EngineProcessorOptions.d.ts +18 -0
  39. package/dist/EngineProcessorOptions.d.ts.map +1 -0
  40. package/dist/EngineProcessorOptions.js +26 -0
  41. package/dist/EngineStateSchema.d.ts +7 -0
  42. package/dist/EngineStateSchema.d.ts.map +1 -0
  43. package/dist/EngineStateSchema.js +5 -0
  44. package/dist/FieldAdapter.d.ts +26 -0
  45. package/dist/FieldAdapter.d.ts.map +1 -0
  46. package/dist/FieldAdapter.js +59 -0
  47. package/dist/IconSymbol.d.ts +119 -0
  48. package/dist/IconSymbol.d.ts.map +1 -0
  49. package/dist/IconSymbol.js +119 -0
  50. package/dist/IndexComparator.d.ts +3 -0
  51. package/dist/IndexComparator.d.ts.map +1 -0
  52. package/dist/IndexComparator.js +11 -0
  53. package/dist/ManadatoryBoxes.d.ts +9 -0
  54. package/dist/ManadatoryBoxes.d.ts.map +1 -0
  55. package/dist/ManadatoryBoxes.js +1 -0
  56. package/dist/NoteBroadcaster.d.ts +14 -0
  57. package/dist/NoteBroadcaster.d.ts.map +1 -0
  58. package/dist/NoteBroadcaster.js +23 -0
  59. package/dist/NoteSender.d.ts +9 -0
  60. package/dist/NoteSender.d.ts.map +1 -0
  61. package/dist/NoteSender.js +15 -0
  62. package/dist/NoteStreamReceiver.d.ts +12 -0
  63. package/dist/NoteStreamReceiver.d.ts.map +1 -0
  64. package/dist/NoteStreamReceiver.js +23 -0
  65. package/dist/ParameterAdapterSet.d.ts +14 -0
  66. package/dist/ParameterAdapterSet.d.ts.map +1 -0
  67. package/dist/ParameterAdapterSet.js +27 -0
  68. package/dist/ParameterFieldAdapters.d.ts +11 -0
  69. package/dist/ParameterFieldAdapters.d.ts.map +1 -0
  70. package/dist/ParameterFieldAdapters.js +13 -0
  71. package/dist/PeakMeterProcessorOptions.d.ts +8 -0
  72. package/dist/PeakMeterProcessorOptions.d.ts.map +1 -0
  73. package/dist/PeakMeterProcessorOptions.js +1 -0
  74. package/dist/PianoModeAdapter.d.ts +15 -0
  75. package/dist/PianoModeAdapter.d.ts.map +1 -0
  76. package/dist/PianoModeAdapter.js +28 -0
  77. package/dist/ProjectDecoder.d.ts +13 -0
  78. package/dist/ProjectDecoder.d.ts.map +1 -0
  79. package/dist/ProjectDecoder.js +27 -0
  80. package/dist/RecordingProcessorOptions.d.ts +4 -0
  81. package/dist/RecordingProcessorOptions.d.ts.map +1 -0
  82. package/dist/RecordingProcessorOptions.js +1 -0
  83. package/dist/RingBuffer.d.ts +19 -0
  84. package/dist/RingBuffer.d.ts.map +1 -0
  85. package/dist/RingBuffer.js +92 -0
  86. package/dist/RootBoxAdapter.d.ts +30 -0
  87. package/dist/RootBoxAdapter.d.ts.map +1 -0
  88. package/dist/RootBoxAdapter.js +43 -0
  89. package/dist/SortedBoxAdapterCollection.d.ts +29 -0
  90. package/dist/SortedBoxAdapterCollection.d.ts.map +1 -0
  91. package/dist/SortedBoxAdapterCollection.js +100 -0
  92. package/dist/UnionAdapterTypes.d.ts +15 -0
  93. package/dist/UnionAdapterTypes.d.ts.map +1 -0
  94. package/dist/UnionAdapterTypes.js +5 -0
  95. package/dist/UpdateClockRate.d.ts +2 -0
  96. package/dist/UpdateClockRate.d.ts.map +1 -0
  97. package/dist/UpdateClockRate.js +2 -0
  98. package/dist/audio-unit/AudioBusBoxAdapter.d.ts +28 -0
  99. package/dist/audio-unit/AudioBusBoxAdapter.d.ts.map +1 -0
  100. package/dist/audio-unit/AudioBusBoxAdapter.js +33 -0
  101. package/dist/audio-unit/AudioUnitBoxAdapter.d.ts +55 -0
  102. package/dist/audio-unit/AudioUnitBoxAdapter.d.ts.map +1 -0
  103. package/dist/audio-unit/AudioUnitBoxAdapter.js +97 -0
  104. package/dist/audio-unit/AudioUnitInput.d.ts +21 -0
  105. package/dist/audio-unit/AudioUnitInput.d.ts.map +1 -0
  106. package/dist/audio-unit/AudioUnitInput.js +74 -0
  107. package/dist/audio-unit/AudioUnitInputAdapter.d.ts +4 -0
  108. package/dist/audio-unit/AudioUnitInputAdapter.d.ts.map +1 -0
  109. package/dist/audio-unit/AudioUnitInputAdapter.js +1 -0
  110. package/dist/audio-unit/AudioUnitOutput.d.ts +14 -0
  111. package/dist/audio-unit/AudioUnitOutput.d.ts.map +1 -0
  112. package/dist/audio-unit/AudioUnitOutput.js +42 -0
  113. package/dist/audio-unit/AudioUnitTracks.d.ts +21 -0
  114. package/dist/audio-unit/AudioUnitTracks.d.ts.map +1 -0
  115. package/dist/audio-unit/AudioUnitTracks.js +62 -0
  116. package/dist/audio-unit/AuxSendBoxAdapter.d.ts +23 -0
  117. package/dist/audio-unit/AuxSendBoxAdapter.d.ts.map +1 -0
  118. package/dist/audio-unit/AuxSendBoxAdapter.js +58 -0
  119. package/dist/devices/audio-effects/DelayDeviceBoxAdapter.d.ts +35 -0
  120. package/dist/devices/audio-effects/DelayDeviceBoxAdapter.d.ts.map +1 -0
  121. package/dist/devices/audio-effects/DelayDeviceBoxAdapter.js +50 -0
  122. package/dist/devices/audio-effects/ModularDeviceBoxAdapter.d.ts +31 -0
  123. package/dist/devices/audio-effects/ModularDeviceBoxAdapter.d.ts.map +1 -0
  124. package/dist/devices/audio-effects/ModularDeviceBoxAdapter.js +38 -0
  125. package/dist/devices/audio-effects/RevampDeviceBoxAdapter.d.ts +52 -0
  126. package/dist/devices/audio-effects/RevampDeviceBoxAdapter.d.ts.map +1 -0
  127. package/dist/devices/audio-effects/RevampDeviceBoxAdapter.js +66 -0
  128. package/dist/devices/audio-effects/ReverbDeviceBoxAdapter.d.ts +35 -0
  129. package/dist/devices/audio-effects/ReverbDeviceBoxAdapter.d.ts.map +1 -0
  130. package/dist/devices/audio-effects/ReverbDeviceBoxAdapter.js +44 -0
  131. package/dist/devices/audio-effects/StereoToolDeviceBoxAdapter.d.ts +33 -0
  132. package/dist/devices/audio-effects/StereoToolDeviceBoxAdapter.d.ts.map +1 -0
  133. package/dist/devices/audio-effects/StereoToolDeviceBoxAdapter.js +41 -0
  134. package/dist/devices/instruments/NanoDeviceBoxAdapter.d.ts +32 -0
  135. package/dist/devices/instruments/NanoDeviceBoxAdapter.d.ts.map +1 -0
  136. package/dist/devices/instruments/NanoDeviceBoxAdapter.js +40 -0
  137. package/dist/devices/instruments/Playfield/Gate.d.ts +6 -0
  138. package/dist/devices/instruments/Playfield/Gate.d.ts.map +1 -0
  139. package/dist/devices/instruments/Playfield/Gate.js +6 -0
  140. package/dist/devices/instruments/Playfield/PlayfieldSampleBoxAdapter.d.ts +63 -0
  141. package/dist/devices/instruments/Playfield/PlayfieldSampleBoxAdapter.d.ts.map +1 -0
  142. package/dist/devices/instruments/Playfield/PlayfieldSampleBoxAdapter.js +128 -0
  143. package/dist/devices/instruments/PlayfieldDeviceBoxAdapter.d.ts +35 -0
  144. package/dist/devices/instruments/PlayfieldDeviceBoxAdapter.d.ts.map +1 -0
  145. package/dist/devices/instruments/PlayfieldDeviceBoxAdapter.js +40 -0
  146. package/dist/devices/instruments/TapeDeviceBoxAdapter.d.ts +34 -0
  147. package/dist/devices/instruments/TapeDeviceBoxAdapter.d.ts.map +1 -0
  148. package/dist/devices/instruments/TapeDeviceBoxAdapter.js +42 -0
  149. package/dist/devices/instruments/VaporisateurDeviceBoxAdapter.d.ts +39 -0
  150. package/dist/devices/instruments/VaporisateurDeviceBoxAdapter.d.ts.map +1 -0
  151. package/dist/devices/instruments/VaporisateurDeviceBoxAdapter.js +47 -0
  152. package/dist/devices/midi-effects/ArpeggioDeviceBoxAdapter.d.ts +37 -0
  153. package/dist/devices/midi-effects/ArpeggioDeviceBoxAdapter.d.ts.map +1 -0
  154. package/dist/devices/midi-effects/ArpeggioDeviceBoxAdapter.js +51 -0
  155. package/dist/devices/midi-effects/PitchDeviceBoxAdapter.d.ts +32 -0
  156. package/dist/devices/midi-effects/PitchDeviceBoxAdapter.d.ts.map +1 -0
  157. package/dist/devices/midi-effects/PitchDeviceBoxAdapter.js +39 -0
  158. package/dist/devices/midi-effects/ZeitgeistDeviceBoxAdapter.d.ts +28 -0
  159. package/dist/devices/midi-effects/ZeitgeistDeviceBoxAdapter.d.ts.map +1 -0
  160. package/dist/devices/midi-effects/ZeitgeistDeviceBoxAdapter.js +35 -0
  161. package/dist/devices.d.ts +68 -0
  162. package/dist/devices.d.ts.map +1 -0
  163. package/dist/devices.js +55 -0
  164. package/dist/editing/UserEditing.d.ts +15 -0
  165. package/dist/editing/UserEditing.d.ts.map +1 -0
  166. package/dist/editing/UserEditing.js +39 -0
  167. package/dist/editing/UserEditingManager.d.ts +14 -0
  168. package/dist/editing/UserEditingManager.d.ts.map +1 -0
  169. package/dist/editing/UserEditingManager.js +23 -0
  170. package/dist/grooves/GrooveBoxAdapter.d.ts +10 -0
  171. package/dist/grooves/GrooveBoxAdapter.d.ts.map +1 -0
  172. package/dist/grooves/GrooveBoxAdapter.js +4 -0
  173. package/dist/grooves/GrooveShuffleBoxAdapter.d.ts +27 -0
  174. package/dist/grooves/GrooveShuffleBoxAdapter.d.ts.map +1 -0
  175. package/dist/grooves/GrooveShuffleBoxAdapter.js +43 -0
  176. package/dist/index.d.ts +98 -0
  177. package/dist/index.d.ts.map +1 -0
  178. package/dist/index.js +99 -0
  179. package/dist/modular/abstract.d.ts +30 -0
  180. package/dist/modular/abstract.d.ts.map +1 -0
  181. package/dist/modular/abstract.js +39 -0
  182. package/dist/modular/connection.d.ts +15 -0
  183. package/dist/modular/connection.d.ts.map +1 -0
  184. package/dist/modular/connection.js +12 -0
  185. package/dist/modular/connector.d.ts +21 -0
  186. package/dist/modular/connector.d.ts.map +1 -0
  187. package/dist/modular/connector.js +42 -0
  188. package/dist/modular/modular.d.ts +30 -0
  189. package/dist/modular/modular.d.ts.map +1 -0
  190. package/dist/modular/modular.js +68 -0
  191. package/dist/modular/module.d.ts +21 -0
  192. package/dist/modular/module.d.ts.map +1 -0
  193. package/dist/modular/module.js +23 -0
  194. package/dist/modular/modules/audio-input.d.ts +14 -0
  195. package/dist/modular/modules/audio-input.d.ts.map +1 -0
  196. package/dist/modular/modules/audio-input.js +17 -0
  197. package/dist/modular/modules/audio-output.d.ts +14 -0
  198. package/dist/modular/modules/audio-output.d.ts.map +1 -0
  199. package/dist/modular/modules/audio-output.js +17 -0
  200. package/dist/modular/modules/delay.d.ts +17 -0
  201. package/dist/modular/modules/delay.d.ts.map +1 -0
  202. package/dist/modular/modules/delay.js +23 -0
  203. package/dist/modular/modules/gain.d.ts +17 -0
  204. package/dist/modular/modules/gain.d.ts.map +1 -0
  205. package/dist/modular/modules/gain.js +23 -0
  206. package/dist/modular/modules/multiplier.d.ts +13 -0
  207. package/dist/modular/modules/multiplier.d.ts.map +1 -0
  208. package/dist/modular/modules/multiplier.js +19 -0
  209. package/dist/modular/user-interface.d.ts +21 -0
  210. package/dist/modular/user-interface.d.ts.map +1 -0
  211. package/dist/modular/user-interface.js +23 -0
  212. package/dist/protocols.d.ts +25 -0
  213. package/dist/protocols.d.ts.map +1 -0
  214. package/dist/protocols.js +1 -0
  215. package/dist/selection/FilteredSelection.d.ts +20 -0
  216. package/dist/selection/FilteredSelection.d.ts.map +1 -0
  217. package/dist/selection/FilteredSelection.js +58 -0
  218. package/dist/selection/SelectableVertex.d.ts +4 -0
  219. package/dist/selection/SelectableVertex.d.ts.map +1 -0
  220. package/dist/selection/SelectableVertex.js +1 -0
  221. package/dist/selection/SelectionEntry.d.ts +7 -0
  222. package/dist/selection/SelectionEntry.d.ts.map +1 -0
  223. package/dist/selection/SelectionEntry.js +1 -0
  224. package/dist/selection/VertexSelection.d.ts +29 -0
  225. package/dist/selection/VertexSelection.d.ts.map +1 -0
  226. package/dist/selection/VertexSelection.js +120 -0
  227. package/dist/selection/isVertexOfBox.d.ts +5 -0
  228. package/dist/selection/isVertexOfBox.d.ts.map +1 -0
  229. package/dist/selection/isVertexOfBox.js +1 -0
  230. package/dist/timeline/ClipBoxAdapter.d.ts +38 -0
  231. package/dist/timeline/ClipBoxAdapter.d.ts.map +1 -0
  232. package/dist/timeline/ClipBoxAdapter.js +11 -0
  233. package/dist/timeline/MarkerBoxAdapter.d.ts +24 -0
  234. package/dist/timeline/MarkerBoxAdapter.d.ts.map +1 -0
  235. package/dist/timeline/MarkerBoxAdapter.js +41 -0
  236. package/dist/timeline/MarkerTrackAdapter.d.ts +19 -0
  237. package/dist/timeline/MarkerTrackAdapter.d.ts.map +1 -0
  238. package/dist/timeline/MarkerTrackAdapter.js +45 -0
  239. package/dist/timeline/RegionBoxAdapter.d.ts +48 -0
  240. package/dist/timeline/RegionBoxAdapter.d.ts.map +1 -0
  241. package/dist/timeline/RegionBoxAdapter.js +12 -0
  242. package/dist/timeline/RegionEditing.d.ts +7 -0
  243. package/dist/timeline/RegionEditing.d.ts.map +1 -0
  244. package/dist/timeline/RegionEditing.js +40 -0
  245. package/dist/timeline/TimelineBoxAdapter.d.ts +16 -0
  246. package/dist/timeline/TimelineBoxAdapter.d.ts.map +1 -0
  247. package/dist/timeline/TimelineBoxAdapter.js +14 -0
  248. package/dist/timeline/TrackBoxAdapter.d.ts +32 -0
  249. package/dist/timeline/TrackBoxAdapter.d.ts.map +1 -0
  250. package/dist/timeline/TrackBoxAdapter.js +167 -0
  251. package/dist/timeline/TrackClips.d.ts +16 -0
  252. package/dist/timeline/TrackClips.d.ts.map +1 -0
  253. package/dist/timeline/TrackClips.js +26 -0
  254. package/dist/timeline/TrackRegions.d.ts +17 -0
  255. package/dist/timeline/TrackRegions.d.ts.map +1 -0
  256. package/dist/timeline/TrackRegions.js +41 -0
  257. package/dist/timeline/TrackType.d.ts +12 -0
  258. package/dist/timeline/TrackType.d.ts.map +1 -0
  259. package/dist/timeline/TrackType.js +37 -0
  260. package/dist/timeline/clip/AudioClipBoxAdapter.d.ts +39 -0
  261. package/dist/timeline/clip/AudioClipBoxAdapter.d.ts.map +1 -0
  262. package/dist/timeline/clip/AudioClipBoxAdapter.js +87 -0
  263. package/dist/timeline/clip/NoteClipBoxAdapter.d.ts +39 -0
  264. package/dist/timeline/clip/NoteClipBoxAdapter.d.ts.map +1 -0
  265. package/dist/timeline/clip/NoteClipBoxAdapter.js +92 -0
  266. package/dist/timeline/clip/ValueClipBoxAdapter.d.ts +40 -0
  267. package/dist/timeline/clip/ValueClipBoxAdapter.d.ts.map +1 -0
  268. package/dist/timeline/clip/ValueClipBoxAdapter.js +98 -0
  269. package/dist/timeline/collection/NoteEventCollectionBoxAdapter.d.ts +40 -0
  270. package/dist/timeline/collection/NoteEventCollectionBoxAdapter.d.ts.map +1 -0
  271. package/dist/timeline/collection/NoteEventCollectionBoxAdapter.js +136 -0
  272. package/dist/timeline/collection/ValueEventCollectionBoxAdapter.d.ts +33 -0
  273. package/dist/timeline/collection/ValueEventCollectionBoxAdapter.d.ts.map +1 -0
  274. package/dist/timeline/collection/ValueEventCollectionBoxAdapter.js +139 -0
  275. package/dist/timeline/event/InterpolationFieldAdapter.d.ts +8 -0
  276. package/dist/timeline/event/InterpolationFieldAdapter.d.ts.map +1 -0
  277. package/dist/timeline/event/InterpolationFieldAdapter.js +47 -0
  278. package/dist/timeline/event/NoteEventBoxAdapter.d.ts +45 -0
  279. package/dist/timeline/event/NoteEventBoxAdapter.d.ts.map +1 -0
  280. package/dist/timeline/event/NoteEventBoxAdapter.js +106 -0
  281. package/dist/timeline/event/ValueEventBoxAdapter.d.ts +39 -0
  282. package/dist/timeline/event/ValueEventBoxAdapter.d.ts.map +1 -0
  283. package/dist/timeline/event/ValueEventBoxAdapter.js +113 -0
  284. package/dist/timeline/region/AudioRegionBoxAdapter.d.ts +53 -0
  285. package/dist/timeline/region/AudioRegionBoxAdapter.d.ts.map +1 -0
  286. package/dist/timeline/region/AudioRegionBoxAdapter.js +143 -0
  287. package/dist/timeline/region/NoteRegionBoxAdapter.d.ts +53 -0
  288. package/dist/timeline/region/NoteRegionBoxAdapter.d.ts.map +1 -0
  289. package/dist/timeline/region/NoteRegionBoxAdapter.js +186 -0
  290. package/dist/timeline/region/ValueRegionBoxAdapter.d.ts +59 -0
  291. package/dist/timeline/region/ValueRegionBoxAdapter.d.ts.map +1 -0
  292. package/dist/timeline/region/ValueRegionBoxAdapter.js +193 -0
  293. package/dist/unions.d.ts +11 -0
  294. package/dist/unions.d.ts.map +1 -0
  295. package/dist/unions.js +17 -0
  296. package/package.json +38 -0
@@ -0,0 +1,18 @@
1
+ import { int, Option } from "@opendaw/lib-std";
2
+ export type EngineProcessorOptions = {
3
+ sab: SharedArrayBuffer;
4
+ project: ArrayBufferLike;
5
+ exportConfiguration?: ExportStemsConfiguration;
6
+ };
7
+ export type ExportStemConfiguration = {
8
+ includeAudioEffects: boolean;
9
+ includeSends: boolean;
10
+ fileName: string;
11
+ };
12
+ export type ExportStemsConfiguration = Record<string, ExportStemConfiguration>;
13
+ export declare namespace ExportStemsConfiguration {
14
+ const countStems: (config: Option<ExportStemsConfiguration>) => int;
15
+ const sanitizeFileName: (name: string) => string;
16
+ const sanitizeExportNamesInPlace: (configuration: ExportStemsConfiguration) => void;
17
+ }
18
+ //# sourceMappingURL=EngineProcessorOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EngineProcessorOptions.d.ts","sourceRoot":"","sources":["../src/EngineProcessorOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,MAAM,EAAC,MAAM,kBAAkB,CAAA;AAG5C,MAAM,MAAM,sBAAsB,GAAG;IACjC,GAAG,EAAE,iBAAiB,CAAA;IACtB,OAAO,EAAE,eAAe,CAAA;IACxB,mBAAmB,CAAC,EAAE,wBAAwB,CAAA;CACjD,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IAClC,mBAAmB,EAAE,OAAO,CAAA;IAC5B,YAAY,EAAE,OAAO,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;AAE9E,yBAAiB,wBAAwB,CAAC;IAC/B,MAAM,UAAU,GAAI,QAAQ,MAAM,CAAC,wBAAwB,CAAC,KAAG,GAIhE,CAAA;IAEC,MAAM,gBAAgB,GAAI,MAAM,MAAM,KAAG,MAA4D,CAAA;IAErG,MAAM,0BAA0B,GAAI,eAAe,wBAAwB,KAAG,IAiBpF,CAAA;CACJ"}
@@ -0,0 +1,26 @@
1
+ export var ExportStemsConfiguration;
2
+ (function (ExportStemsConfiguration) {
3
+ ExportStemsConfiguration.countStems = (config) => config.match({
4
+ none: () => 1,
5
+ some: (configuration) => Object.keys(configuration).length
6
+ });
7
+ ExportStemsConfiguration.sanitizeFileName = (name) => name.replace(/[<>:"/\\|?*\x00-\x1F]/g, "_").trim();
8
+ ExportStemsConfiguration.sanitizeExportNamesInPlace = (configuration) => {
9
+ const sanitizedNames = new Map();
10
+ const getUniqueName = (baseName) => {
11
+ let count = sanitizedNames.get(baseName) ?? 0;
12
+ let newName = baseName;
13
+ while (sanitizedNames.has(newName)) {
14
+ count++;
15
+ newName = `${baseName} ${count}`;
16
+ }
17
+ sanitizedNames.set(baseName, count);
18
+ sanitizedNames.set(newName, 1);
19
+ return newName;
20
+ };
21
+ Object.keys(configuration).forEach((key) => {
22
+ const entry = configuration[key];
23
+ entry.fileName = getUniqueName(ExportStemsConfiguration.sanitizeFileName(entry.fileName));
24
+ });
25
+ };
26
+ })(ExportStemsConfiguration || (ExportStemsConfiguration = {}));
@@ -0,0 +1,7 @@
1
+ import { Schema } from "@opendaw/lib-std";
2
+ export declare const EngineStateSchema: () => Schema.IO<{
3
+ position: number;
4
+ clipIndex: number;
5
+ }>;
6
+ export type EngineState = ReturnType<typeof EngineStateSchema>["object"];
7
+ //# sourceMappingURL=EngineStateSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EngineStateSchema.d.ts","sourceRoot":"","sources":["../src/EngineStateSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAA;AAEvC,eAAO,MAAM,iBAAiB;;;EAG5B,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { Schema } from "@opendaw/lib-std";
2
+ export const EngineStateSchema = Schema.createBuilder({
3
+ position: Schema.float,
4
+ clipIndex: Schema.int16
5
+ });
@@ -0,0 +1,26 @@
1
+ import { MutableObservableValue, Observer, Option, StringMapping, StringResult, Subscription, Terminable, unitValue, ValueMapping } from "@opendaw/lib-std";
2
+ import { Address, PrimitiveField, PrimitiveType, PrimitiveValues } from "@opendaw/lib-box";
3
+ import { TrackBoxAdapter } from "./timeline/TrackBoxAdapter";
4
+ export declare class FieldAdapter<T extends PrimitiveValues = any> implements MutableObservableValue<T>, Terminable {
5
+ #private;
6
+ constructor(field: PrimitiveField<T, any>, valueMapping: ValueMapping<T>, stringMapping: StringMapping<T>, name: string, anchor?: unitValue);
7
+ get field(): PrimitiveField<T>;
8
+ get valueMapping(): ValueMapping<T>;
9
+ get stringMapping(): StringMapping<T>;
10
+ get name(): string;
11
+ get anchor(): unitValue;
12
+ get type(): PrimitiveType;
13
+ get address(): Address;
14
+ get track(): Option<TrackBoxAdapter>;
15
+ subscribe(observer: Observer<FieldAdapter<T>>): Subscription;
16
+ catchupAndSubscribe(observer: Observer<FieldAdapter<T>>): Subscription;
17
+ getValue(): T;
18
+ setValue(value: T): void;
19
+ setUnitValue(value: unitValue): void;
20
+ getUnitValue(): unitValue;
21
+ getPrintValue(): Readonly<StringResult>;
22
+ setPrintValue(text: string): void;
23
+ reset(): void;
24
+ terminate(): void;
25
+ }
26
+ //# sourceMappingURL=FieldAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldAdapter.d.ts","sourceRoot":"","sources":["../src/FieldAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,sBAAsB,EAEtB,QAAQ,EACR,MAAM,EACN,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,UAAU,EAEV,SAAS,EACT,YAAY,EACf,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAA;AACxF,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAA;AAE1D,qBAAa,YAAY,CAAC,CAAC,SAAS,eAAe,GAAG,GAAG,CAAE,YAAW,sBAAsB,CAAC,CAAC,CAAC,EAAE,UAAU;;gBAY3F,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,EAC7B,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,EAC7B,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,EAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,SAAS;IAkB9B,IAAI,KAAK,IAAI,cAAc,CAAC,CAAC,CAAC,CAAqB;IACnD,IAAI,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,CAA4B;IAC/D,IAAI,aAAa,IAAI,aAAa,CAAC,CAAC,CAAC,CAA6B;IAClE,IAAI,IAAI,IAAI,MAAM,CAAoB;IACtC,IAAI,MAAM,IAAI,SAAS,CAAsB;IAC7C,IAAI,IAAI,IAAI,aAAa,CAA0B;IACnD,IAAI,OAAO,IAAI,OAAO,CAA6B;IACnD,IAAI,KAAK,IAAI,MAAM,CAAC,eAAe,CAAC,CAA+B;IAEnE,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY;IAE5D,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY;IAKtE,QAAQ,IAAI,CAAC;IACb,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IACpC,YAAY,IAAI,SAAS;IACzB,aAAa,IAAI,QAAQ,CAAC,YAAY,CAAC;IACvC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAWjC,KAAK,IAAI,IAAI;IAEb,SAAS,IAAI,IAAI;CACpB"}
@@ -0,0 +1,59 @@
1
+ import { clamp, Notifier, Option, Terminator } from "@opendaw/lib-std";
2
+ export class FieldAdapter {
3
+ #field;
4
+ #valueMapping;
5
+ #stringMapping;
6
+ #name;
7
+ #anchor;
8
+ #terminator = new Terminator();
9
+ #valueChangeNotifier;
10
+ #trackBoxAdapter = Option.None;
11
+ constructor(field, valueMapping, stringMapping, name, anchor) {
12
+ this.#field = field;
13
+ this.#valueMapping = valueMapping;
14
+ this.#stringMapping = stringMapping;
15
+ this.#name = name;
16
+ this.#anchor = anchor ?? 0.0;
17
+ this.#valueChangeNotifier = this.#terminator.own(new Notifier());
18
+ this.#terminator.own(this.#field.subscribe(() => this.#valueChangeNotifier.notify(this)));
19
+ /*
20
+ For debugging: It's not live because floating errors expose false positives,
21
+ and I am too lazy to implement this in the mappings itself.
22
+ */
23
+ if (field.getValue() !== valueMapping.clamp(field.getValue())) {
24
+ console.warn(`${name} (${field.getValue()}) is out of bounds`, valueMapping);
25
+ }
26
+ }
27
+ get field() { return this.#field; }
28
+ get valueMapping() { return this.#valueMapping; }
29
+ get stringMapping() { return this.#stringMapping; }
30
+ get name() { return this.#name; }
31
+ get anchor() { return this.#anchor; }
32
+ get type() { return this.#field.type; }
33
+ get address() { return this.#field.address; }
34
+ get track() { return this.#trackBoxAdapter; }
35
+ subscribe(observer) { return this.#valueChangeNotifier.subscribe(observer); }
36
+ catchupAndSubscribe(observer) {
37
+ observer(this);
38
+ return this.subscribe(observer);
39
+ }
40
+ getValue() { return this.#field.getValue(); }
41
+ setValue(value) { this.#field.setValue(this.#valueMapping.clamp(value)); }
42
+ setUnitValue(value) { this.setValue(this.#valueMapping.y(value)); }
43
+ getUnitValue() { return this.#valueMapping.x(this.getValue()); }
44
+ getPrintValue() { return this.#stringMapping.x(this.getValue()); }
45
+ setPrintValue(text) {
46
+ const result = this.#stringMapping.y(text);
47
+ if (result.type === "unitValue") {
48
+ this.setUnitValue(clamp(result.value, 0.0, 1.0));
49
+ }
50
+ else if (result.type === "explicit") {
51
+ this.setValue(this.valueMapping.clamp(result.value));
52
+ }
53
+ else {
54
+ console.debug(`Unknown text input: '${result.value}'`);
55
+ }
56
+ }
57
+ reset() { this.setValue(this.#valueMapping.clamp(this.#field.initValue)); }
58
+ terminate() { this.#terminator.terminate(); }
59
+ }
@@ -0,0 +1,119 @@
1
+ export declare enum IconSymbol {
2
+ Rectangle = 0,
3
+ Checkbox = 1,
4
+ Panel = 2,
5
+ MainMenu = 3,
6
+ Dropdown = 4,
7
+ AudioDevice = 5,
8
+ GuitarTab = 6,
9
+ Effects = 7,
10
+ Flask = 8,
11
+ Robot = 9,
12
+ NotePad = 10,
13
+ Pencil = 11,
14
+ Waveform = 12,
15
+ Mix = 13,
16
+ Adsr = 14,
17
+ Dial = 15,
18
+ Record = 16,
19
+ Play = 17,
20
+ Stop = 18,
21
+ Loop = 19,
22
+ Timeline = 20,
23
+ Region = 21,
24
+ Box = 22,
25
+ Mixing = 23,
26
+ Vinyl = 24,
27
+ Help = 25,
28
+ Metronome = 26,
29
+ System = 27,
30
+ Add = 28,
31
+ Subtract = 29,
32
+ Peak = 30,
33
+ LowPass = 31,
34
+ HighPass = 32,
35
+ LowShelf = 33,
36
+ HighShelf = 34,
37
+ RoundUp = 35,
38
+ RoundDown = 36,
39
+ Mute = 37,
40
+ Solo = 38,
41
+ Exclude = 39,
42
+ Menu = 40,
43
+ Pointer = 41,
44
+ Eraser = 42,
45
+ Scissors = 43,
46
+ Tape = 44,
47
+ CollapseDown = 45,
48
+ FileList = 46,
49
+ Close = 47,
50
+ DragConnections = 48,
51
+ Heart = 49,
52
+ Merge = 50,
53
+ SpeakerHeadphone = 51,
54
+ AudioBus = 52,
55
+ DrumSet = 53,
56
+ BassGuitar = 54,
57
+ Guitar = 55,
58
+ Saxophone = 56,
59
+ Microphone = 57,
60
+ New = 58,
61
+ Piano = 59,
62
+ ExpandWidth = 60,
63
+ OpenDAW = 61,
64
+ Automation = 62,
65
+ Embed = 63,
66
+ Popout = 64,
67
+ Minimized = 65,
68
+ Maximized = 66,
69
+ Search = 67,
70
+ Generator = 68,
71
+ Groove = 69,
72
+ Table = 70,
73
+ Note = 71,
74
+ Exit = 72,
75
+ Start = 73,
76
+ Duration = 74,
77
+ Velocity = 75,
78
+ Random = 76,
79
+ Divide = 77,
80
+ Curve = 78,
81
+ Primary = 79,
82
+ Clips = 80,
83
+ NoAudio = 81,
84
+ Unknown = 82,
85
+ UserFolder = 83,
86
+ CloudFolder = 84,
87
+ Run = 85,
88
+ Insert = 86,
89
+ ArrayDown = 87,
90
+ Sun = 88,
91
+ Book = 89,
92
+ Stack = 90,
93
+ EditBox = 91,
94
+ Delete = 92,
95
+ Time = 93,
96
+ EQ = 94,
97
+ Cube = 95,
98
+ NanoWave = 96,
99
+ Midi = 97,
100
+ DinSlot = 98,
101
+ VUMeter = 99,
102
+ Playfield = 100,
103
+ Invert = 101,
104
+ Headphone = 102,
105
+ Stereo = 103,
106
+ AutoGain = 104,
107
+ AudioFile = 105,
108
+ Tool = 106,
109
+ Focus = 107,
110
+ Swap = 108,
111
+ Connected = 109,
112
+ Disconnected = 110,
113
+ Zeitgeist = 111
114
+ }
115
+ export declare namespace IconSymbol {
116
+ const toName: (symbol: IconSymbol) => string;
117
+ const fromName: (name: keyof typeof IconSymbol | string) => IconSymbol;
118
+ }
119
+ //# sourceMappingURL=IconSymbol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconSymbol.d.ts","sourceRoot":"","sources":["../src/IconSymbol.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IAClB,SAAS,IAAA;IACT,QAAQ,IAAA;IACR,KAAK,IAAA;IACL,QAAQ,IAAA;IACR,QAAQ,IAAA;IACR,WAAW,IAAA;IACX,SAAS,IAAA;IACT,OAAO,IAAA;IACP,KAAK,IAAA;IACL,KAAK,IAAA;IACL,OAAO,KAAA;IACP,MAAM,KAAA;IACN,QAAQ,KAAA;IACR,GAAG,KAAA;IACH,IAAI,KAAA;IACJ,IAAI,KAAA;IACJ,MAAM,KAAA;IACN,IAAI,KAAA;IACJ,IAAI,KAAA;IACJ,IAAI,KAAA;IACJ,QAAQ,KAAA;IACR,MAAM,KAAA;IACN,GAAG,KAAA;IACH,MAAM,KAAA;IACN,KAAK,KAAA;IACL,IAAI,KAAA;IACJ,SAAS,KAAA;IACT,MAAM,KAAA;IACN,GAAG,KAAA;IACH,QAAQ,KAAA;IACR,IAAI,KAAA;IACJ,OAAO,KAAA;IACP,QAAQ,KAAA;IACR,QAAQ,KAAA;IACR,SAAS,KAAA;IACT,OAAO,KAAA;IACP,SAAS,KAAA;IACT,IAAI,KAAA;IACJ,IAAI,KAAA;IACJ,OAAO,KAAA;IACP,IAAI,KAAA;IACJ,OAAO,KAAA;IACP,MAAM,KAAA;IACN,QAAQ,KAAA;IACR,IAAI,KAAA;IACJ,YAAY,KAAA;IACZ,QAAQ,KAAA;IACR,KAAK,KAAA;IACL,eAAe,KAAA;IACf,KAAK,KAAA;IACL,KAAK,KAAA;IACL,gBAAgB,KAAA;IAChB,QAAQ,KAAA;IACR,OAAO,KAAA;IACP,UAAU,KAAA;IACV,MAAM,KAAA;IACN,SAAS,KAAA;IACT,UAAU,KAAA;IACV,GAAG,KAAA;IACH,KAAK,KAAA;IACL,WAAW,KAAA;IACX,OAAO,KAAA;IACP,UAAU,KAAA;IACV,KAAK,KAAA;IACL,MAAM,KAAA;IACN,SAAS,KAAA;IACT,SAAS,KAAA;IACT,MAAM,KAAA;IACN,SAAS,KAAA;IACT,MAAM,KAAA;IACN,KAAK,KAAA;IACL,IAAI,KAAA;IACJ,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,QAAQ,KAAA;IACR,QAAQ,KAAA;IACR,MAAM,KAAA;IACN,MAAM,KAAA;IACN,KAAK,KAAA;IACL,OAAO,KAAA;IACP,KAAK,KAAA;IACL,OAAO,KAAA;IACP,OAAO,KAAA;IACP,UAAU,KAAA;IACV,WAAW,KAAA;IACX,GAAG,KAAA;IACH,MAAM,KAAA;IACN,SAAS,KAAA;IACT,GAAG,KAAA;IACH,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,OAAO,KAAA;IACP,MAAM,KAAA;IACN,IAAI,KAAA;IACJ,EAAE,KAAA;IACF,IAAI,KAAA;IACJ,QAAQ,KAAA;IACR,IAAI,KAAA;IACJ,OAAO,KAAA;IACP,OAAO,KAAA;IACP,SAAS,MAAA;IACT,MAAM,MAAA;IACN,SAAS,MAAA;IACT,MAAM,MAAA;IACN,QAAQ,MAAA;IACR,SAAS,MAAA;IACT,IAAI,MAAA;IACJ,KAAK,MAAA;IACL,IAAI,MAAA;IACJ,SAAS,MAAA;IACT,YAAY,MAAA;IACZ,SAAS,MAAA;CACZ;AAED,yBAAiB,UAAU,CAAC;IACjB,MAAM,MAAM,GAAI,QAAQ,UAAU,KAAG,MAA4B,CAAA;IACjE,MAAM,QAAQ,GAAI,MAAM,MAAM,OAAO,UAAU,GAAG,MAAM,KAAG,UACiB,CAAA;CACtF"}
@@ -0,0 +1,119 @@
1
+ export var IconSymbol;
2
+ (function (IconSymbol) {
3
+ IconSymbol[IconSymbol["Rectangle"] = 0] = "Rectangle";
4
+ IconSymbol[IconSymbol["Checkbox"] = 1] = "Checkbox";
5
+ IconSymbol[IconSymbol["Panel"] = 2] = "Panel";
6
+ IconSymbol[IconSymbol["MainMenu"] = 3] = "MainMenu";
7
+ IconSymbol[IconSymbol["Dropdown"] = 4] = "Dropdown";
8
+ IconSymbol[IconSymbol["AudioDevice"] = 5] = "AudioDevice";
9
+ IconSymbol[IconSymbol["GuitarTab"] = 6] = "GuitarTab";
10
+ IconSymbol[IconSymbol["Effects"] = 7] = "Effects";
11
+ IconSymbol[IconSymbol["Flask"] = 8] = "Flask";
12
+ IconSymbol[IconSymbol["Robot"] = 9] = "Robot";
13
+ IconSymbol[IconSymbol["NotePad"] = 10] = "NotePad";
14
+ IconSymbol[IconSymbol["Pencil"] = 11] = "Pencil";
15
+ IconSymbol[IconSymbol["Waveform"] = 12] = "Waveform";
16
+ IconSymbol[IconSymbol["Mix"] = 13] = "Mix";
17
+ IconSymbol[IconSymbol["Adsr"] = 14] = "Adsr";
18
+ IconSymbol[IconSymbol["Dial"] = 15] = "Dial";
19
+ IconSymbol[IconSymbol["Record"] = 16] = "Record";
20
+ IconSymbol[IconSymbol["Play"] = 17] = "Play";
21
+ IconSymbol[IconSymbol["Stop"] = 18] = "Stop";
22
+ IconSymbol[IconSymbol["Loop"] = 19] = "Loop";
23
+ IconSymbol[IconSymbol["Timeline"] = 20] = "Timeline";
24
+ IconSymbol[IconSymbol["Region"] = 21] = "Region";
25
+ IconSymbol[IconSymbol["Box"] = 22] = "Box";
26
+ IconSymbol[IconSymbol["Mixing"] = 23] = "Mixing";
27
+ IconSymbol[IconSymbol["Vinyl"] = 24] = "Vinyl";
28
+ IconSymbol[IconSymbol["Help"] = 25] = "Help";
29
+ IconSymbol[IconSymbol["Metronome"] = 26] = "Metronome";
30
+ IconSymbol[IconSymbol["System"] = 27] = "System";
31
+ IconSymbol[IconSymbol["Add"] = 28] = "Add";
32
+ IconSymbol[IconSymbol["Subtract"] = 29] = "Subtract";
33
+ IconSymbol[IconSymbol["Peak"] = 30] = "Peak";
34
+ IconSymbol[IconSymbol["LowPass"] = 31] = "LowPass";
35
+ IconSymbol[IconSymbol["HighPass"] = 32] = "HighPass";
36
+ IconSymbol[IconSymbol["LowShelf"] = 33] = "LowShelf";
37
+ IconSymbol[IconSymbol["HighShelf"] = 34] = "HighShelf";
38
+ IconSymbol[IconSymbol["RoundUp"] = 35] = "RoundUp";
39
+ IconSymbol[IconSymbol["RoundDown"] = 36] = "RoundDown";
40
+ IconSymbol[IconSymbol["Mute"] = 37] = "Mute";
41
+ IconSymbol[IconSymbol["Solo"] = 38] = "Solo";
42
+ IconSymbol[IconSymbol["Exclude"] = 39] = "Exclude";
43
+ IconSymbol[IconSymbol["Menu"] = 40] = "Menu";
44
+ IconSymbol[IconSymbol["Pointer"] = 41] = "Pointer";
45
+ IconSymbol[IconSymbol["Eraser"] = 42] = "Eraser";
46
+ IconSymbol[IconSymbol["Scissors"] = 43] = "Scissors";
47
+ IconSymbol[IconSymbol["Tape"] = 44] = "Tape";
48
+ IconSymbol[IconSymbol["CollapseDown"] = 45] = "CollapseDown";
49
+ IconSymbol[IconSymbol["FileList"] = 46] = "FileList";
50
+ IconSymbol[IconSymbol["Close"] = 47] = "Close";
51
+ IconSymbol[IconSymbol["DragConnections"] = 48] = "DragConnections";
52
+ IconSymbol[IconSymbol["Heart"] = 49] = "Heart";
53
+ IconSymbol[IconSymbol["Merge"] = 50] = "Merge";
54
+ IconSymbol[IconSymbol["SpeakerHeadphone"] = 51] = "SpeakerHeadphone";
55
+ IconSymbol[IconSymbol["AudioBus"] = 52] = "AudioBus";
56
+ IconSymbol[IconSymbol["DrumSet"] = 53] = "DrumSet";
57
+ IconSymbol[IconSymbol["BassGuitar"] = 54] = "BassGuitar";
58
+ IconSymbol[IconSymbol["Guitar"] = 55] = "Guitar";
59
+ IconSymbol[IconSymbol["Saxophone"] = 56] = "Saxophone";
60
+ IconSymbol[IconSymbol["Microphone"] = 57] = "Microphone";
61
+ IconSymbol[IconSymbol["New"] = 58] = "New";
62
+ IconSymbol[IconSymbol["Piano"] = 59] = "Piano";
63
+ IconSymbol[IconSymbol["ExpandWidth"] = 60] = "ExpandWidth";
64
+ IconSymbol[IconSymbol["OpenDAW"] = 61] = "OpenDAW";
65
+ IconSymbol[IconSymbol["Automation"] = 62] = "Automation";
66
+ IconSymbol[IconSymbol["Embed"] = 63] = "Embed";
67
+ IconSymbol[IconSymbol["Popout"] = 64] = "Popout";
68
+ IconSymbol[IconSymbol["Minimized"] = 65] = "Minimized";
69
+ IconSymbol[IconSymbol["Maximized"] = 66] = "Maximized";
70
+ IconSymbol[IconSymbol["Search"] = 67] = "Search";
71
+ IconSymbol[IconSymbol["Generator"] = 68] = "Generator";
72
+ IconSymbol[IconSymbol["Groove"] = 69] = "Groove";
73
+ IconSymbol[IconSymbol["Table"] = 70] = "Table";
74
+ IconSymbol[IconSymbol["Note"] = 71] = "Note";
75
+ IconSymbol[IconSymbol["Exit"] = 72] = "Exit";
76
+ IconSymbol[IconSymbol["Start"] = 73] = "Start";
77
+ IconSymbol[IconSymbol["Duration"] = 74] = "Duration";
78
+ IconSymbol[IconSymbol["Velocity"] = 75] = "Velocity";
79
+ IconSymbol[IconSymbol["Random"] = 76] = "Random";
80
+ IconSymbol[IconSymbol["Divide"] = 77] = "Divide";
81
+ IconSymbol[IconSymbol["Curve"] = 78] = "Curve";
82
+ IconSymbol[IconSymbol["Primary"] = 79] = "Primary";
83
+ IconSymbol[IconSymbol["Clips"] = 80] = "Clips";
84
+ IconSymbol[IconSymbol["NoAudio"] = 81] = "NoAudio";
85
+ IconSymbol[IconSymbol["Unknown"] = 82] = "Unknown";
86
+ IconSymbol[IconSymbol["UserFolder"] = 83] = "UserFolder";
87
+ IconSymbol[IconSymbol["CloudFolder"] = 84] = "CloudFolder";
88
+ IconSymbol[IconSymbol["Run"] = 85] = "Run";
89
+ IconSymbol[IconSymbol["Insert"] = 86] = "Insert";
90
+ IconSymbol[IconSymbol["ArrayDown"] = 87] = "ArrayDown";
91
+ IconSymbol[IconSymbol["Sun"] = 88] = "Sun";
92
+ IconSymbol[IconSymbol["Book"] = 89] = "Book";
93
+ IconSymbol[IconSymbol["Stack"] = 90] = "Stack";
94
+ IconSymbol[IconSymbol["EditBox"] = 91] = "EditBox";
95
+ IconSymbol[IconSymbol["Delete"] = 92] = "Delete";
96
+ IconSymbol[IconSymbol["Time"] = 93] = "Time";
97
+ IconSymbol[IconSymbol["EQ"] = 94] = "EQ";
98
+ IconSymbol[IconSymbol["Cube"] = 95] = "Cube";
99
+ IconSymbol[IconSymbol["NanoWave"] = 96] = "NanoWave";
100
+ IconSymbol[IconSymbol["Midi"] = 97] = "Midi";
101
+ IconSymbol[IconSymbol["DinSlot"] = 98] = "DinSlot";
102
+ IconSymbol[IconSymbol["VUMeter"] = 99] = "VUMeter";
103
+ IconSymbol[IconSymbol["Playfield"] = 100] = "Playfield";
104
+ IconSymbol[IconSymbol["Invert"] = 101] = "Invert";
105
+ IconSymbol[IconSymbol["Headphone"] = 102] = "Headphone";
106
+ IconSymbol[IconSymbol["Stereo"] = 103] = "Stereo";
107
+ IconSymbol[IconSymbol["AutoGain"] = 104] = "AutoGain";
108
+ IconSymbol[IconSymbol["AudioFile"] = 105] = "AudioFile";
109
+ IconSymbol[IconSymbol["Tool"] = 106] = "Tool";
110
+ IconSymbol[IconSymbol["Focus"] = 107] = "Focus";
111
+ IconSymbol[IconSymbol["Swap"] = 108] = "Swap";
112
+ IconSymbol[IconSymbol["Connected"] = 109] = "Connected";
113
+ IconSymbol[IconSymbol["Disconnected"] = 110] = "Disconnected";
114
+ IconSymbol[IconSymbol["Zeitgeist"] = 111] = "Zeitgeist";
115
+ })(IconSymbol || (IconSymbol = {}));
116
+ (function (IconSymbol) {
117
+ IconSymbol.toName = (symbol) => IconSymbol[symbol];
118
+ IconSymbol.fromName = (name) => IconSymbol[name] ?? IconSymbol.Rectangle;
119
+ })(IconSymbol || (IconSymbol = {}));
@@ -0,0 +1,3 @@
1
+ import { Comparator, int } from "@opendaw/lib-std";
2
+ export declare const IndexComparator: Comparator<int>;
3
+ //# sourceMappingURL=IndexComparator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IndexComparator.d.ts","sourceRoot":"","sources":["../src/IndexComparator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,GAAG,EAAQ,MAAM,kBAAkB,CAAA;AAEvD,eAAO,MAAM,eAAe,EAAE,UAAU,CAAC,GAAG,CAO3C,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { panic } from "@opendaw/lib-std";
2
+ export const IndexComparator = (a, b) => {
3
+ if (a === b) {
4
+ return 0;
5
+ }
6
+ const difference = a - b;
7
+ if (difference === 0) {
8
+ return panic(`Indices cannot be equal (${a}, ${b})`);
9
+ }
10
+ return difference;
11
+ };
@@ -0,0 +1,9 @@
1
+ import { AudioBusBox, AudioUnitBox, RootBox, TimelineBox, UserInterfaceBox } from "@opendaw/studio-boxes";
2
+ export type MandatoryBoxes = {
3
+ rootBox: RootBox;
4
+ timelineBox: TimelineBox;
5
+ masterBusBox: AudioBusBox;
6
+ masterAudioUnit: AudioUnitBox;
7
+ userInterfaceBox: UserInterfaceBox;
8
+ };
9
+ //# sourceMappingURL=ManadatoryBoxes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ManadatoryBoxes.d.ts","sourceRoot":"","sources":["../src/ManadatoryBoxes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAC,MAAM,uBAAuB,CAAA;AAEvG,MAAM,MAAM,cAAc,GAAG;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,WAAW,CAAA;IACxB,YAAY,EAAE,WAAW,CAAA;IACzB,eAAe,EAAE,YAAY,CAAA;IAC7B,gBAAgB,EAAE,gBAAgB,CAAA;CACrC,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
1
+ import { LiveStreamBroadcaster } from "@opendaw/lib-fusion";
2
+ import { Address } from "@opendaw/lib-box";
3
+ import { int, Terminable } from "@opendaw/lib-std";
4
+ export declare class NoteBroadcaster implements Terminable {
5
+ #private;
6
+ constructor(broadcaster: LiveStreamBroadcaster, address: Address);
7
+ noteOn(note: int): void;
8
+ noteOff(note: int): void;
9
+ reset(): void;
10
+ clear(): void;
11
+ terminate(): void;
12
+ toString(): string;
13
+ }
14
+ //# sourceMappingURL=NoteBroadcaster.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NoteBroadcaster.d.ts","sourceRoot":"","sources":["../src/NoteBroadcaster.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAC,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAkB,GAAG,EAAE,UAAU,EAAa,MAAM,kBAAkB,CAAA;AAE7E,qBAAa,eAAgB,YAAW,UAAU;;gBAOlC,WAAW,EAAE,qBAAqB,EAAE,OAAO,EAAE,OAAO;IAUhE,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IACvB,OAAO,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IAExB,KAAK,IAAI,IAAI;IACb,KAAK,IAAI,IAAI;IACb,SAAS,IAAI,IAAI;IAEjB,QAAQ,IAAI,MAAM;CACrB"}
@@ -0,0 +1,23 @@
1
+ import { Bits, EmptyExec, Terminator } from "@opendaw/lib-std";
2
+ export class NoteBroadcaster {
3
+ #terminator = new Terminator();
4
+ #broadcaster;
5
+ #address;
6
+ #bits;
7
+ constructor(broadcaster, address) {
8
+ this.#broadcaster = broadcaster;
9
+ this.#address = address;
10
+ this.#bits = new Bits(128);
11
+ this.#terminator.own(this.#broadcaster.broadcastIntegers(this.#address, new Int32Array(this.#bits.buffer), EmptyExec));
12
+ }
13
+ noteOn(note) { if (note >= 0 && note < 128) {
14
+ this.#bits.setBit(note, true);
15
+ } }
16
+ noteOff(note) { if (note >= 0 && note < 128) {
17
+ this.#bits.setBit(note, false);
18
+ } }
19
+ reset() { }
20
+ clear() { this.#bits.clear(); }
21
+ terminate() { this.#terminator.terminate(); }
22
+ toString() { return `{${this.constructor.name}}`; }
23
+ }
@@ -0,0 +1,9 @@
1
+ import { byte, Terminable, unitValue } from "@opendaw/lib-std";
2
+ export interface NoteSender {
3
+ noteOn(note: byte, velocity: unitValue): void;
4
+ noteOff(note: byte): void;
5
+ }
6
+ export declare namespace NoteSustainer {
7
+ const start: (sender: NoteSender, note: byte, velocity?: unitValue) => Terminable;
8
+ }
9
+ //# sourceMappingURL=NoteSender.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NoteSender.d.ts","sourceRoot":"","sources":["../src/NoteSender.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAA;AAE5D,MAAM,WAAW,UAAU;IACvB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAA;IAC7C,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;CAC5B;AAED,yBAAiB,aAAa,CAAC;IACpB,MAAM,KAAK,GAAI,QAAQ,UAAU,EAAE,MAAM,IAAI,EAAE,WAAU,SAAe,KAAG,UAWjF,CAAA;CACJ"}
@@ -0,0 +1,15 @@
1
+ export var NoteSustainer;
2
+ (function (NoteSustainer) {
3
+ NoteSustainer.start = (sender, note, velocity = 1.0) => {
4
+ let playing = true;
5
+ sender.noteOn(note, velocity);
6
+ return {
7
+ terminate: () => {
8
+ if (playing) {
9
+ sender.noteOff(note);
10
+ playing = false;
11
+ }
12
+ }
13
+ };
14
+ };
15
+ })(NoteSustainer || (NoteSustainer = {}));
@@ -0,0 +1,12 @@
1
+ import { byte, Observer, Subscription, Terminable } from "@opendaw/lib-std";
2
+ import { Address } from "@opendaw/lib-box";
3
+ import { LiveStreamReceiver } from "@opendaw/lib-fusion";
4
+ export declare class NoteStreamReceiver implements Terminable {
5
+ #private;
6
+ constructor(receiver: LiveStreamReceiver, address: Address);
7
+ isNoteOn(note: byte): boolean;
8
+ isAnyNoteOn(): boolean;
9
+ subscribe(observer: Observer<this>): Subscription;
10
+ terminate(): void;
11
+ }
12
+ //# sourceMappingURL=NoteStreamReceiver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NoteStreamReceiver.d.ts","sourceRoot":"","sources":["../src/NoteStreamReceiver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,IAAI,EAAY,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAa,MAAM,kBAAkB,CAAA;AACrG,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAA;AAEtD,qBAAa,kBAAmB,YAAW,UAAU;;gBASrC,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO;IAa1D,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAC7B,WAAW,IAAI,OAAO;IAEtB,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY;IAEjD,SAAS,IAAI,IAAI;CACpB"}
@@ -0,0 +1,23 @@
1
+ import { Bits, Notifier, Terminator } from "@opendaw/lib-std";
2
+ export class NoteStreamReceiver {
3
+ #terminator = new Terminator();
4
+ #receiver;
5
+ #address;
6
+ #bits;
7
+ #notifier;
8
+ constructor(receiver, address) {
9
+ this.#receiver = receiver;
10
+ this.#address = address;
11
+ this.#bits = new Bits(128);
12
+ this.#notifier = new Notifier();
13
+ this.#terminator.own(this.#receiver.subscribeIntegers(this.#address, (array) => {
14
+ if (this.#bits.replace(array.buffer)) {
15
+ this.#notifier.notify(this);
16
+ }
17
+ }));
18
+ }
19
+ isNoteOn(note) { return this.#bits.getBit(note); }
20
+ isAnyNoteOn() { return this.#bits.nonEmpty(); }
21
+ subscribe(observer) { return this.#notifier.subscribe(observer); }
22
+ terminate() { this.#terminator.terminate(); }
23
+ }
@@ -0,0 +1,14 @@
1
+ import { FieldKeys, PointerTypes, PrimitiveField, PrimitiveValues } from "@opendaw/lib-box";
2
+ import { StringMapping, Terminable, unitValue, ValueMapping } from "@opendaw/lib-std";
3
+ import { AutomatableParameterFieldAdapter } from "./AutomatableParameterFieldAdapter";
4
+ import { BoxAdaptersContext } from "./BoxAdaptersContext";
5
+ export declare class ParameterAdapterSet implements Terminable {
6
+ #private;
7
+ constructor(context: BoxAdaptersContext);
8
+ terminate(): void;
9
+ parameters(): ReadonlyArray<AutomatableParameterFieldAdapter>;
10
+ parameterAt(fieldIndices: FieldKeys): AutomatableParameterFieldAdapter;
11
+ createParameter<T extends PrimitiveValues>(field: PrimitiveField<T, PointerTypes>, valueMapping: ValueMapping<T>, stringMapping: StringMapping<T>, name: string, anchor?: unitValue): AutomatableParameterFieldAdapter<T>;
12
+ removeParameter<T extends PrimitiveValues>(parameter: AutomatableParameterFieldAdapter<T>): void;
13
+ }
14
+ //# sourceMappingURL=ParameterAdapterSet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParameterAdapterSet.d.ts","sourceRoot":"","sources":["../src/ParameterAdapterSet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAA;AACzF,OAAO,EAA2C,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAC,MAAM,kBAAkB,CAAA;AAC7H,OAAO,EAAC,gCAAgC,EAAC,MAAM,oCAAoC,CAAA;AAEnF,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AAEvD,qBAAa,mBAAoB,YAAW,UAAU;;gBAItC,OAAO,EAAE,kBAAkB;IAKvC,SAAS,IAAI,IAAI;IAKjB,UAAU,IAAI,aAAa,CAAC,gCAAgC,CAAC;IAC7D,WAAW,CAAC,YAAY,EAAE,SAAS,GAAG,gCAAgC;IAKtE,eAAe,CAAC,CAAC,SAAS,eAAe,EACrC,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,YAAY,CAAC,EACtC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,EAC7B,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,EAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,SAAS,GAAG,gCAAgC,CAAC,CAAC,CAAC;IAO5D,eAAe,CAAC,CAAC,SAAS,eAAe,EAAE,SAAS,EAAE,gCAAgC,CAAC,CAAC,CAAC,GAAG,IAAI;CAGnG"}
@@ -0,0 +1,27 @@
1
+ import { assert, NumberArrayComparator, SortedSet } from "@opendaw/lib-std";
2
+ import { AutomatableParameterFieldAdapter } from "./AutomatableParameterFieldAdapter";
3
+ export class ParameterAdapterSet {
4
+ #context;
5
+ #parameters;
6
+ constructor(context) {
7
+ this.#context = context;
8
+ this.#parameters = new SortedSet(adapter => adapter.address.fieldKeys, NumberArrayComparator);
9
+ }
10
+ terminate() {
11
+ this.#parameters.forEach(parameter => parameter.terminate());
12
+ this.#parameters.clear();
13
+ }
14
+ parameters() { return this.#parameters.values(); }
15
+ parameterAt(fieldIndices) {
16
+ return this.#parameters.getOrThrow(fieldIndices, () => new Error(`No ParameterAdapter found at [${fieldIndices}]`));
17
+ }
18
+ createParameter(field, valueMapping, stringMapping, name, anchor) {
19
+ const adapter = new AutomatableParameterFieldAdapter(this.#context, field, valueMapping, stringMapping, name, anchor);
20
+ const added = this.#parameters.add(adapter);
21
+ assert(added, `Could not add adapter for ${field}`);
22
+ return adapter;
23
+ }
24
+ removeParameter(parameter) {
25
+ this.#parameters.removeByValue(parameter);
26
+ }
27
+ }
@@ -0,0 +1,11 @@
1
+ import { Option, Terminable } from "@opendaw/lib-std";
2
+ import { Address } from "@opendaw/lib-box";
3
+ import { AutomatableParameterFieldAdapter } from "./AutomatableParameterFieldAdapter";
4
+ export declare class ParameterFieldAdapters {
5
+ #private;
6
+ constructor();
7
+ register(adapter: AutomatableParameterFieldAdapter): Terminable;
8
+ get(address: Address): AutomatableParameterFieldAdapter;
9
+ opt(address: Address): Option<AutomatableParameterFieldAdapter>;
10
+ }
11
+ //# sourceMappingURL=ParameterFieldAdapters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParameterFieldAdapters.d.ts","sourceRoot":"","sources":["../src/ParameterFieldAdapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAa,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAC,gCAAgC,EAAC,MAAM,oCAAoC,CAAA;AAEnF,qBAAa,sBAAsB;;;IAO/B,QAAQ,CAAC,OAAO,EAAE,gCAAgC,GAAG,UAAU;IAK/D,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,gCAAgC;IACvD,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,gCAAgC,CAAC;CAClE"}
@@ -0,0 +1,13 @@
1
+ import { Address } from "@opendaw/lib-box";
2
+ export class ParameterFieldAdapters {
3
+ #set;
4
+ constructor() {
5
+ this.#set = Address.newSet(adapter => adapter.field.address);
6
+ }
7
+ register(adapter) {
8
+ this.#set.add(adapter);
9
+ return { terminate: () => this.#set.removeByValue(adapter) };
10
+ }
11
+ get(address) { return this.#set.get(address); }
12
+ opt(address) { return this.#set.opt(address); }
13
+ }