@opendaw/studio-adapters 0.0.70 → 0.0.72

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 (175) hide show
  1. package/dist/AutomatableParameterFieldAdapter.d.ts.map +1 -1
  2. package/dist/AutomatableParameterFieldAdapter.js +3 -1
  3. package/dist/BoxAdapters.d.ts.map +1 -1
  4. package/dist/BoxAdapters.js +4 -0
  5. package/dist/BoxAdaptersContext.d.ts +1 -2
  6. package/dist/BoxAdaptersContext.d.ts.map +1 -1
  7. package/dist/ClipSequencing.d.ts +1 -1
  8. package/dist/ClipSequencing.d.ts.map +1 -1
  9. package/dist/DeviceAdapter.d.ts +2 -0
  10. package/dist/DeviceAdapter.d.ts.map +1 -1
  11. package/dist/DeviceManualUrls.d.ts +25 -0
  12. package/dist/DeviceManualUrls.d.ts.map +1 -0
  13. package/dist/DeviceManualUrls.js +29 -0
  14. package/dist/EngineProcessorAttachment.d.ts +1 -3
  15. package/dist/EngineProcessorAttachment.d.ts.map +1 -1
  16. package/dist/EngineStateSchema.d.ts +1 -0
  17. package/dist/EngineStateSchema.d.ts.map +1 -1
  18. package/dist/EngineStateSchema.js +1 -0
  19. package/dist/TempoRange.d.ts +5 -0
  20. package/dist/TempoRange.d.ts.map +1 -0
  21. package/dist/TempoRange.js +1 -0
  22. package/dist/Validator.d.ts +0 -2
  23. package/dist/Validator.d.ts.map +1 -1
  24. package/dist/Validator.js +4 -3
  25. package/dist/VaryingTempoMap.d.ts +18 -0
  26. package/dist/VaryingTempoMap.d.ts.map +1 -0
  27. package/dist/VaryingTempoMap.js +105 -0
  28. package/dist/audio/AudioFileBoxAdapter.js +2 -2
  29. package/dist/audio-unit/AudioBusBoxAdapter.d.ts +3 -2
  30. package/dist/audio-unit/AudioBusBoxAdapter.d.ts.map +1 -1
  31. package/dist/audio-unit/AudioBusBoxAdapter.js +4 -2
  32. package/dist/audio-unit/AudioUnitBoxAdapter.d.ts +1 -0
  33. package/dist/audio-unit/AudioUnitBoxAdapter.d.ts.map +1 -1
  34. package/dist/audio-unit/AudioUnitBoxAdapter.js +1 -0
  35. package/dist/devices/audio-effects/CompressorDeviceBoxAdapter.d.ts +1 -0
  36. package/dist/devices/audio-effects/CompressorDeviceBoxAdapter.d.ts.map +1 -1
  37. package/dist/devices/audio-effects/CompressorDeviceBoxAdapter.js +2 -0
  38. package/dist/devices/audio-effects/CrusherDeviceBoxAdapter.d.ts +1 -0
  39. package/dist/devices/audio-effects/CrusherDeviceBoxAdapter.d.ts.map +1 -1
  40. package/dist/devices/audio-effects/CrusherDeviceBoxAdapter.js +2 -0
  41. package/dist/devices/audio-effects/DattorroReverbDeviceBoxAdapter.d.ts +1 -0
  42. package/dist/devices/audio-effects/DattorroReverbDeviceBoxAdapter.d.ts.map +1 -1
  43. package/dist/devices/audio-effects/DattorroReverbDeviceBoxAdapter.js +2 -0
  44. package/dist/devices/audio-effects/DelayDeviceBoxAdapter.d.ts +14 -2
  45. package/dist/devices/audio-effects/DelayDeviceBoxAdapter.d.ts.map +1 -1
  46. package/dist/devices/audio-effects/DelayDeviceBoxAdapter.js +22 -9
  47. package/dist/devices/audio-effects/FoldDeviceBoxAdapter.d.ts +1 -0
  48. package/dist/devices/audio-effects/FoldDeviceBoxAdapter.d.ts.map +1 -1
  49. package/dist/devices/audio-effects/FoldDeviceBoxAdapter.js +2 -0
  50. package/dist/devices/audio-effects/MaximizerDeviceBoxAdapter.d.ts +31 -0
  51. package/dist/devices/audio-effects/MaximizerDeviceBoxAdapter.d.ts.map +1 -0
  52. package/dist/devices/audio-effects/MaximizerDeviceBoxAdapter.js +53 -0
  53. package/dist/devices/audio-effects/ModularDeviceBoxAdapter.d.ts +1 -0
  54. package/dist/devices/audio-effects/ModularDeviceBoxAdapter.d.ts.map +1 -1
  55. package/dist/devices/audio-effects/ModularDeviceBoxAdapter.js +2 -0
  56. package/dist/devices/audio-effects/RevampDeviceBoxAdapter.d.ts +1 -0
  57. package/dist/devices/audio-effects/RevampDeviceBoxAdapter.d.ts.map +1 -1
  58. package/dist/devices/audio-effects/RevampDeviceBoxAdapter.js +2 -0
  59. package/dist/devices/audio-effects/ReverbDeviceBoxAdapter.d.ts +1 -0
  60. package/dist/devices/audio-effects/ReverbDeviceBoxAdapter.d.ts.map +1 -1
  61. package/dist/devices/audio-effects/ReverbDeviceBoxAdapter.js +2 -0
  62. package/dist/devices/audio-effects/StereoToolDeviceBoxAdapter.d.ts +1 -0
  63. package/dist/devices/audio-effects/StereoToolDeviceBoxAdapter.d.ts.map +1 -1
  64. package/dist/devices/audio-effects/StereoToolDeviceBoxAdapter.js +2 -0
  65. package/dist/devices/audio-effects/TidalDeviceBoxAdapter.d.ts +1 -0
  66. package/dist/devices/audio-effects/TidalDeviceBoxAdapter.d.ts.map +1 -1
  67. package/dist/devices/audio-effects/TidalDeviceBoxAdapter.js +2 -0
  68. package/dist/devices/audio-effects/UnknownAudioEffectDeviceBoxAdapter.d.ts +1 -0
  69. package/dist/devices/audio-effects/UnknownAudioEffectDeviceBoxAdapter.d.ts.map +1 -1
  70. package/dist/devices/audio-effects/UnknownAudioEffectDeviceBoxAdapter.js +1 -0
  71. package/dist/devices/instruments/MIDIOutputDeviceBoxAdapter.d.ts +1 -0
  72. package/dist/devices/instruments/MIDIOutputDeviceBoxAdapter.d.ts.map +1 -1
  73. package/dist/devices/instruments/MIDIOutputDeviceBoxAdapter.js +2 -0
  74. package/dist/devices/instruments/NanoDeviceBoxAdapter.d.ts +1 -0
  75. package/dist/devices/instruments/NanoDeviceBoxAdapter.d.ts.map +1 -1
  76. package/dist/devices/instruments/NanoDeviceBoxAdapter.js +2 -0
  77. package/dist/devices/instruments/Playfield/PlayfieldSampleBoxAdapter.d.ts +1 -0
  78. package/dist/devices/instruments/Playfield/PlayfieldSampleBoxAdapter.d.ts.map +1 -1
  79. package/dist/devices/instruments/Playfield/PlayfieldSampleBoxAdapter.js +1 -0
  80. package/dist/devices/instruments/PlayfieldDeviceBoxAdapter.d.ts +1 -0
  81. package/dist/devices/instruments/PlayfieldDeviceBoxAdapter.d.ts.map +1 -1
  82. package/dist/devices/instruments/PlayfieldDeviceBoxAdapter.js +2 -0
  83. package/dist/devices/instruments/SoundfontDeviceBoxAdapter.d.ts +1 -0
  84. package/dist/devices/instruments/SoundfontDeviceBoxAdapter.d.ts.map +1 -1
  85. package/dist/devices/instruments/SoundfontDeviceBoxAdapter.js +2 -0
  86. package/dist/devices/instruments/TapeDeviceBoxAdapter.d.ts +1 -0
  87. package/dist/devices/instruments/TapeDeviceBoxAdapter.d.ts.map +1 -1
  88. package/dist/devices/instruments/TapeDeviceBoxAdapter.js +2 -0
  89. package/dist/devices/instruments/VaporisateurDeviceBoxAdapter.d.ts +1 -0
  90. package/dist/devices/instruments/VaporisateurDeviceBoxAdapter.d.ts.map +1 -1
  91. package/dist/devices/instruments/VaporisateurDeviceBoxAdapter.js +2 -0
  92. package/dist/devices/midi-effects/ArpeggioDeviceBoxAdapter.d.ts +1 -0
  93. package/dist/devices/midi-effects/ArpeggioDeviceBoxAdapter.d.ts.map +1 -1
  94. package/dist/devices/midi-effects/ArpeggioDeviceBoxAdapter.js +2 -0
  95. package/dist/devices/midi-effects/PitchDeviceBoxAdapter.d.ts +1 -0
  96. package/dist/devices/midi-effects/PitchDeviceBoxAdapter.d.ts.map +1 -1
  97. package/dist/devices/midi-effects/PitchDeviceBoxAdapter.js +2 -0
  98. package/dist/devices/midi-effects/UnknownMidiEffectDeviceBoxAdapter.d.ts +1 -0
  99. package/dist/devices/midi-effects/UnknownMidiEffectDeviceBoxAdapter.d.ts.map +1 -1
  100. package/dist/devices/midi-effects/UnknownMidiEffectDeviceBoxAdapter.js +1 -0
  101. package/dist/devices/midi-effects/VelocityDeviceBoxAdapter.d.ts +1 -0
  102. package/dist/devices/midi-effects/VelocityDeviceBoxAdapter.d.ts.map +1 -1
  103. package/dist/devices/midi-effects/VelocityDeviceBoxAdapter.js +2 -0
  104. package/dist/devices/midi-effects/ZeitgeistDeviceBoxAdapter.d.ts +1 -0
  105. package/dist/devices/midi-effects/ZeitgeistDeviceBoxAdapter.d.ts.map +1 -1
  106. package/dist/devices/midi-effects/ZeitgeistDeviceBoxAdapter.js +2 -0
  107. package/dist/engine/EnginePreferences.d.ts +4 -0
  108. package/dist/engine/EnginePreferences.d.ts.map +1 -0
  109. package/dist/engine/EnginePreferences.js +1 -0
  110. package/dist/engine/EnginePreferencesSchema.d.ts +22 -0
  111. package/dist/engine/EnginePreferencesSchema.d.ts.map +1 -0
  112. package/dist/engine/EnginePreferencesSchema.js +33 -0
  113. package/dist/factories/DeviceFactory.d.ts +8 -0
  114. package/dist/factories/DeviceFactory.d.ts.map +1 -0
  115. package/dist/factories/DeviceFactory.js +1 -0
  116. package/dist/factories/InstrumentFactories.d.ts.map +1 -1
  117. package/dist/factories/InstrumentFactories.js +7 -0
  118. package/dist/factories/InstrumentFactory.d.ts +2 -4
  119. package/dist/factories/InstrumentFactory.d.ts.map +1 -1
  120. package/dist/index.d.ts +11 -0
  121. package/dist/index.d.ts.map +1 -1
  122. package/dist/index.js +10 -0
  123. package/dist/project/ProjectQueries.d.ts.map +1 -1
  124. package/dist/project/ProjectQueries.js +6 -2
  125. package/dist/project/ProjectSkeleton.d.ts.map +1 -1
  126. package/dist/project/ProjectSkeleton.js +4 -3
  127. package/dist/project/ProjectUtils.d.ts.map +1 -1
  128. package/dist/project/ProjectUtils.js +17 -16
  129. package/dist/protocols.d.ts +0 -3
  130. package/dist/protocols.d.ts.map +1 -1
  131. package/dist/sample/Sample.d.ts +2 -2
  132. package/dist/sample/SampleLoaderManager.d.ts +2 -1
  133. package/dist/sample/SampleLoaderManager.d.ts.map +1 -1
  134. package/dist/sample/SampleMetaData.d.ts +1 -1
  135. package/dist/selection/FilteredSelection.js +2 -2
  136. package/dist/selection/VertexSelection.d.ts.map +1 -1
  137. package/dist/selection/VertexSelection.js +0 -1
  138. package/dist/soundfont/Soundfont.d.ts +1 -1
  139. package/dist/timeline/RegionBoxAdapter.d.ts +8 -0
  140. package/dist/timeline/RegionBoxAdapter.d.ts.map +1 -1
  141. package/dist/timeline/RegionEditing.d.ts.map +1 -1
  142. package/dist/timeline/RegionEditing.js +0 -1
  143. package/dist/timeline/SignatureEventBoxAdapter.d.ts +24 -0
  144. package/dist/timeline/SignatureEventBoxAdapter.d.ts.map +1 -0
  145. package/dist/timeline/SignatureEventBoxAdapter.js +42 -0
  146. package/dist/timeline/SignatureTrackAdapter.d.ts +42 -0
  147. package/dist/timeline/SignatureTrackAdapter.d.ts.map +1 -0
  148. package/dist/timeline/SignatureTrackAdapter.js +280 -0
  149. package/dist/timeline/TimelineBoxAdapter.d.ts +7 -2
  150. package/dist/timeline/TimelineBoxAdapter.d.ts.map +1 -1
  151. package/dist/timeline/TimelineBoxAdapter.js +52 -7
  152. package/dist/timeline/TrackBoxAdapter.d.ts +1 -0
  153. package/dist/timeline/TrackBoxAdapter.d.ts.map +1 -1
  154. package/dist/timeline/TrackBoxAdapter.js +1 -0
  155. package/dist/timeline/clip/AudioClipBoxAdapter.d.ts +1 -2
  156. package/dist/timeline/clip/AudioClipBoxAdapter.d.ts.map +1 -1
  157. package/dist/timeline/clip/AudioClipBoxAdapter.js +3 -4
  158. package/dist/timeline/collection/NoteEventCollectionBoxAdapter.d.ts.map +1 -1
  159. package/dist/timeline/collection/NoteEventCollectionBoxAdapter.js +10 -8
  160. package/dist/timeline/collection/ValueEventCollectionBoxAdapter.d.ts +2 -2
  161. package/dist/timeline/collection/ValueEventCollectionBoxAdapter.d.ts.map +1 -1
  162. package/dist/timeline/collection/ValueEventCollectionBoxAdapter.js +25 -8
  163. package/dist/timeline/event/ValueEventBoxAdapter.d.ts +1 -1
  164. package/dist/timeline/event/ValueEventBoxAdapter.d.ts.map +1 -1
  165. package/dist/timeline/event/ValueEventBoxAdapter.js +6 -2
  166. package/dist/timeline/region/AudioRegionBoxAdapter.d.ts +4 -0
  167. package/dist/timeline/region/AudioRegionBoxAdapter.d.ts.map +1 -1
  168. package/dist/timeline/region/AudioRegionBoxAdapter.js +17 -13
  169. package/dist/timeline/region/NoteRegionBoxAdapter.d.ts +5 -1
  170. package/dist/timeline/region/NoteRegionBoxAdapter.d.ts.map +1 -1
  171. package/dist/timeline/region/NoteRegionBoxAdapter.js +4 -0
  172. package/dist/timeline/region/ValueRegionBoxAdapter.d.ts +4 -0
  173. package/dist/timeline/region/ValueRegionBoxAdapter.d.ts.map +1 -1
  174. package/dist/timeline/region/ValueRegionBoxAdapter.js +4 -0
  175. package/package.json +10 -9
@@ -1 +1 @@
1
- {"version":3,"file":"AutomatableParameterFieldAdapter.d.ts","sourceRoot":"","sources":["../src/AutomatableParameterFieldAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,qBAAqB,EAIrB,QAAQ,EACR,MAAM,EAEN,SAAS,EACT,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,UAAU,EAEV,SAAS,EACT,YAAY,EACf,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAAC,OAAO,EAA8B,cAAc,EAAE,aAAa,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAA;AACpH,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAE9C,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AAQvD,qBAAa,gCAAgC,CAAC,CAAC,SAAS,eAAe,GAAG,GAAG,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU;;gBAiBlG,OAAO,EAAE,kBAAkB,EAC3B,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;IA0D9B,mBAAmB,IAAI,UAAU;IAWjC,IAAI,KAAK,IAAI,cAAc,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAqB;IACxE,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,OAAO,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC;IAW1B,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY;IAEhF,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY;IAK1F,iCAAiC,CAAC,QAAQ,EAAE,qBAAqB,GAAG,YAAY;IAMhF,QAAQ,IAAI,CAAC;IACb,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IACpC,YAAY,IAAI,SAAS;IACzB,kBAAkB,IAAI,CAAC;IACvB,sBAAsB,IAAI,SAAS;IACnC,uBAAuB,IAAI,QAAQ,CAAC,YAAY,CAAC;IACjD,aAAa,IAAI,QAAQ,CAAC,YAAY,CAAC;IACvC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAWjC,KAAK,IAAI,IAAI;IAEb,SAAS,IAAI,IAAI;CAKpB"}
1
+ {"version":3,"file":"AutomatableParameterFieldAdapter.d.ts","sourceRoot":"","sources":["../src/AutomatableParameterFieldAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,qBAAqB,EAIrB,QAAQ,EACR,MAAM,EAEN,SAAS,EACT,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,UAAU,EAEV,SAAS,EACT,YAAY,EACf,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAAC,OAAO,EAA8B,cAAc,EAAE,aAAa,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAA;AACpH,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAE9C,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AAQvD,qBAAa,gCAAgC,CAAC,CAAC,SAAS,eAAe,GAAG,GAAG,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU;;gBAiBlG,OAAO,EAAE,kBAAkB,EAC3B,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;IA0D9B,mBAAmB,IAAI,UAAU;IAWjC,IAAI,KAAK,IAAI,cAAc,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAqB;IACxE,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,OAAO,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC;IAW1B,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY;IAIhF,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY;IAK1F,iCAAiC,CAAC,QAAQ,EAAE,qBAAqB,GAAG,YAAY;IAMhF,QAAQ,IAAI,CAAC;IACb,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IACpC,YAAY,IAAI,SAAS;IACzB,kBAAkB,IAAI,CAAC;IACvB,sBAAsB,IAAI,SAAS;IACnC,uBAAuB,IAAI,QAAQ,CAAC,YAAY,CAAC;IACjD,aAAa,IAAI,QAAQ,CAAC,YAAY,CAAC;IACvC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAWjC,KAAK,IAAI,IAAI;IAEb,SAAS,IAAI,IAAI;CAKpB"}
@@ -119,7 +119,9 @@ export class AutomatableParameterFieldAdapter {
119
119
  }
120
120
  return this.getValue();
121
121
  }
122
- subscribe(observer) { return __classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_valueChangeNotifier, "f").subscribe(observer); }
122
+ subscribe(observer) {
123
+ return __classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_valueChangeNotifier, "f").subscribe(observer);
124
+ }
123
125
  catchupAndSubscribe(observer) {
124
126
  observer(this);
125
127
  return this.subscribe(observer);
@@ -1 +1 @@
1
- {"version":3,"file":"BoxAdapters.d.ts","sourceRoot":"","sources":["../src/BoxAdapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,UAAU,EACV,KAAK,EAKL,UAAU,EAEb,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,GAAG,EAAS,MAAM,kBAAkB,CAAA;AAiG5C,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AAmBvC,qBAAa,WAAY,YAAW,UAAU;;gBAO9B,OAAO,EAAE,kBAAkB;IAkBvC,SAAS,IAAI,IAAI;IAMjB,UAAU,CAAC,GAAG,SAAS,GAAG,EAAE,CAAC,SAAS,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;CA6EtG"}
1
+ {"version":3,"file":"BoxAdapters.d.ts","sourceRoot":"","sources":["../src/BoxAdapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,UAAU,EACV,KAAK,EAKL,UAAU,EAEb,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,GAAG,EAAS,MAAM,kBAAkB,CAAA;AAmG5C,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AAqBvC,qBAAa,WAAY,YAAW,UAAU;;gBAO9B,OAAO,EAAE,kBAAkB;IAkBvC,SAAS,IAAI,IAAI;IAMjB,UAAU,CAAC,GAAG,SAAS,GAAG,EAAE,CAAC,SAAS,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;CA+EtG"}
@@ -55,6 +55,7 @@ import { UnknownAudioEffectDeviceBoxAdapter } from "./devices/audio-effects/Unkn
55
55
  import { UnknownMidiEffectDeviceBoxAdapter } from "./devices/midi-effects/UnknownMidiEffectDeviceBoxAdapter";
56
56
  import { SoundfontDeviceBoxAdapter } from "./devices/instruments/SoundfontDeviceBoxAdapter";
57
57
  import { SoundfontFileBoxAdapter } from "./soundfont/SoundfontFileBoxAdapter";
58
+ import { MaximizerDeviceBoxAdapter } from "./devices/audio-effects/MaximizerDeviceBoxAdapter";
58
59
  import { CompressorDeviceBoxAdapter } from "./devices/audio-effects/CompressorDeviceBoxAdapter";
59
60
  import { CrusherDeviceBoxAdapter } from "./devices/audio-effects/CrusherDeviceBoxAdapter";
60
61
  import { FoldDeviceBoxAdapter } from "./devices/audio-effects/FoldDeviceBoxAdapter";
@@ -66,6 +67,7 @@ import { AudioPitchStretchBoxAdapter } from "./audio/AudioPitchStretchBoxAdapter
66
67
  import { TransientMarkerBoxAdapter } from "./audio/TransientMarkerBoxAdapter";
67
68
  import { WarpMarkerBoxAdapter } from "./audio/WarpMarkerBoxAdapter";
68
69
  import { AudioTimeStretchBoxAdapter } from "./audio/AudioTimeStretchBoxAdapter";
70
+ import { SignatureEventBoxAdapter } from "./timeline/SignatureEventBoxAdapter";
69
71
  export class BoxAdapters {
70
72
  constructor(context) {
71
73
  _BoxAdapters_instances.add(this);
@@ -124,6 +126,7 @@ _BoxAdapters_context = new WeakMap(), _BoxAdapters_adapters = new WeakMap(), _Bo
124
126
  visitAudioRegionBox: (box) => new AudioRegionBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
125
127
  visitAudioUnitBox: (box) => new AudioUnitBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
126
128
  visitAuxSendBox: (box) => new AuxSendBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
129
+ visitMaximizerDeviceBox: (box) => new MaximizerDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
127
130
  visitCompressorDeviceBox: (box) => new CompressorDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
128
131
  visitCrusherDeviceBox: (box) => new CrusherDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
129
132
  visitDattorroReverbDeviceBox: (box) => new DattorroReverbDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
@@ -133,6 +136,7 @@ _BoxAdapters_context = new WeakMap(), _BoxAdapters_adapters = new WeakMap(), _Bo
133
136
  visitFoldDeviceBox: (box) => new FoldDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
134
137
  visitGrooveShuffleBox: (box) => new GrooveShuffleBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
135
138
  visitMarkerBox: (box) => new MarkerBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
139
+ visitSignatureEventBox: (box) => new SignatureEventBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
136
140
  visitMIDIOutputDeviceBox: (box) => new MIDIOutputDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
137
141
  visitModularAudioInputBox: (box) => new ModularAudioInputAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
138
142
  visitModularAudioOutputBox: (box) => new ModularAudioOutputAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
@@ -8,7 +8,7 @@ import { ParameterFieldAdapters } from "./ParameterFieldAdapters";
8
8
  import { BoxAdapters } from "./BoxAdapters";
9
9
  import { SampleLoaderManager } from "./sample/SampleLoaderManager";
10
10
  import { SoundfontLoaderManager } from "./soundfont/SoundfontLoaderManager";
11
- import { ppqn, TempoMap } from "@opendaw/lib-dsp";
11
+ import { TempoMap } from "@opendaw/lib-dsp";
12
12
  export interface BoxAdaptersContext extends Terminable {
13
13
  get boxGraph(): BoxGraph;
14
14
  get boxAdapters(): BoxAdapters;
@@ -20,7 +20,6 @@ export interface BoxAdaptersContext extends Terminable {
20
20
  get liveStreamBroadcaster(): LiveStreamBroadcaster;
21
21
  get clipSequencing(): ClipSequencing;
22
22
  get parameterFieldAdapters(): ParameterFieldAdapters;
23
- get signatureDuration(): ppqn;
24
23
  get tempoMap(): TempoMap;
25
24
  get isMainThread(): boolean;
26
25
  get isAudioContext(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"BoxAdaptersContext.d.ts","sourceRoot":"","sources":["../src/BoxAdaptersContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAC,qBAAqB,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAA;AAC7E,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,kBAAkB,EAAC,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAA;AACzC,OAAO,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAC,sBAAsB,EAAC,MAAM,oCAAoC,CAAA;AACzE,OAAO,EAAC,IAAI,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AAE/C,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IAClD,IAAI,QAAQ,IAAI,QAAQ,CAAA;IACxB,IAAI,WAAW,IAAI,WAAW,CAAA;IAC9B,IAAI,aAAa,IAAI,mBAAmB,CAAA;IACxC,IAAI,gBAAgB,IAAI,sBAAsB,CAAA;IAC9C,IAAI,cAAc,IAAI,cAAc,CAAA;IACpC,IAAI,kBAAkB,IAAI,kBAAkB,CAAA;IAC5C,IAAI,kBAAkB,IAAI,kBAAkB,CAAA;IAC5C,IAAI,qBAAqB,IAAI,qBAAqB,CAAA;IAClD,IAAI,cAAc,IAAI,cAAc,CAAA;IACpC,IAAI,sBAAsB,IAAI,sBAAsB,CAAA;IACpD,IAAI,iBAAiB,IAAI,IAAI,CAAA;IAC7B,IAAI,QAAQ,IAAI,QAAQ,CAAA;IACxB,IAAI,YAAY,IAAI,OAAO,CAAA;IAC3B,IAAI,cAAc,IAAI,OAAO,CAAA;CAChC"}
1
+ {"version":3,"file":"BoxAdaptersContext.d.ts","sourceRoot":"","sources":["../src/BoxAdaptersContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAC,qBAAqB,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAA;AAC7E,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,kBAAkB,EAAC,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAA;AACzC,OAAO,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAC,sBAAsB,EAAC,MAAM,oCAAoC,CAAA;AACzE,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AAEzC,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IAClD,IAAI,QAAQ,IAAI,QAAQ,CAAA;IACxB,IAAI,WAAW,IAAI,WAAW,CAAA;IAC9B,IAAI,aAAa,IAAI,mBAAmB,CAAA;IACxC,IAAI,gBAAgB,IAAI,sBAAsB,CAAA;IAC9C,IAAI,cAAc,IAAI,cAAc,CAAA;IACpC,IAAI,kBAAkB,IAAI,kBAAkB,CAAA;IAC5C,IAAI,kBAAkB,IAAI,kBAAkB,CAAA;IAC5C,IAAI,qBAAqB,IAAI,qBAAqB,CAAA;IAClD,IAAI,cAAc,IAAI,cAAc,CAAA;IACpC,IAAI,sBAAsB,IAAI,sBAAsB,CAAA;IACpD,IAAI,QAAQ,IAAI,QAAQ,CAAA;IACxB,IAAI,YAAY,IAAI,OAAO,CAAA;IAC3B,IAAI,cAAc,IAAI,OAAO,CAAA;CAChC"}
@@ -7,6 +7,6 @@ export type Section = {
7
7
  sectionTo: ppqn;
8
8
  };
9
9
  export interface ClipSequencing extends Terminable {
10
- iterate(trackKey: UUID.Bytes, a: ppqn, b: ppqn): Generator<Section>;
10
+ iterate(trackKey: UUID.Bytes, a: ppqn, b: ppqn): IterableIterator<Section>;
11
11
  }
12
12
  //# sourceMappingURL=ClipSequencing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClipSequencing.d.ts","sourceRoot":"","sources":["../src/ClipSequencing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAA;AAErD,MAAM,MAAM,OAAO,GAAG;IAClB,OAAO,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAA;IAClC,WAAW,EAAE,IAAI,CAAA;IACjB,SAAS,EAAE,IAAI,CAAA;CAClB,CAAA;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAC9C,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;CACtE"}
1
+ {"version":3,"file":"ClipSequencing.d.ts","sourceRoot":"","sources":["../src/ClipSequencing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAA;AAErD,MAAM,MAAM,OAAO,GAAG;IAClB,OAAO,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAA;IAClC,WAAW,EAAE,IAAI,CAAA;IACjB,SAAS,EAAE,IAAI,CAAA;CAClB,CAAA;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAC9C,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;CAC7E"}
@@ -44,10 +44,12 @@ export interface DeviceHost extends BoxAdapter, LabeledAudioOutputsOwner {
44
44
  get minimizedField(): BooleanField;
45
45
  get isAudioUnit(): boolean;
46
46
  get label(): string;
47
+ deviceHost(): DeviceHost;
47
48
  audioUnitBoxAdapter(): AudioUnitBoxAdapter;
48
49
  }
49
50
  export interface DeviceBoxAdapter extends BoxAdapter {
50
51
  readonly type: DeviceType;
52
+ readonly manualUrl: string;
51
53
  get box(): Box;
52
54
  get labelField(): StringField;
53
55
  get enabledField(): BooleanField;
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceAdapter.d.ts","sourceRoot":"","sources":["../src/DeviceAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DeviceAdapter.d.ts","sourceRoot":"","sources":["../src/DeviceAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAChG,OAAO,EAAiB,UAAU,EAAO,MAAM,EAAc,MAAM,kBAAkB,CAAA;AACrF,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAC,2BAA2B,EAAC,MAAM,+BAA+B,CAAA;AACzE,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AACvC,OAAO,EAAC,qBAAqB,EAAC,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAA;AAEpE,OAAO,EAAC,wBAAwB,EAAC,MAAM,4BAA4B,CAAA;AAEnE,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,KAAK,GAAG,YAAY,GAAG,cAAc,CAAA;AAC9E,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAA;AAEpD,yBAAiB,aAAa,CAAC;IACpB,MAAM,WAAW,GAAI,MAAM,aAAa,sCAS9C,CAAA;CACJ;AAED,MAAM,WAAW,uBAAwB,SAAQ,sBAAsB,CAAC,QAAQ,CAAC,cAAc,CAAC;IAC5F,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,wBAAwB;IACxH,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,eAAe,GAAG,QAAQ,CAAC,cAAc,CAAA;AAElF,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,CAAE,SAAQ,gBAAgB;IAC7G,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,aAAa,CAAA;IAC7C,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAA;IAElC,IAAI,UAAU,IAAI,UAAU,CAAA;IAC5B,IAAI,YAAY,IAAI,YAAY,CAAA;IAChC,IAAI,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,0BAA2B,SAAQ,gBAAgB,EAAE,wBAAwB;IAC1F,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;IAE3B,IAAI,SAAS,IAAI,WAAW,CAAA;IAC5B,IAAI,gBAAgB,IAAI,SAAS,CAAA;IACjC,IAAI,iBAAiB,IAAI,OAAO,CAAA;CACnC;AAED,MAAM,WAAW,UAAW,SAAQ,UAAU,EAAE,wBAAwB;IACpE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAA;IAE7B,IAAI,WAAW,IAAI,2BAA2B,CAAC,uBAAuB,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAA;IAChG,IAAI,YAAY,IAAI,MAAM,CAAC,qBAAqB,CAAC,CAAA;IACjD,IAAI,YAAY,IAAI,2BAA2B,CAAC,wBAAwB,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAA;IACnG,IAAI,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAA;IACvE,IAAI,WAAW,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAA;IAClD,IAAI,cAAc,IAAI,YAAY,CAAA;IAClC,IAAI,WAAW,IAAI,OAAO,CAAA;IAC1B,IAAI,KAAK,IAAI,MAAM,CAAA;IAEnB,UAAU,IAAI,UAAU,CAAA;IACxB,mBAAmB,IAAI,mBAAmB,CAAA;CAC7C;AAED,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAChD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAE1B,IAAI,GAAG,IAAI,GAAG,CAAA;IACd,IAAI,UAAU,IAAI,WAAW,CAAA;IAC7B,IAAI,YAAY,IAAI,YAAY,CAAA;IAChC,IAAI,cAAc,IAAI,YAAY,CAAA;IAClC,IAAI,OAAO,IAAI,aAAa,CAAA;IAE5B,UAAU,IAAI,UAAU,CAAA;IACxB,mBAAmB,IAAI,mBAAmB,CAAA;CAC7C;AAED,yBAAiB,OAAO,CAAC;IACd,MAAM,KAAK,EAAE,UAAU,CAAC,gBAAgB,CAG6B,CAAA;IACrE,MAAM,QAAQ,EAAE,UAAU,CAAC,sBAAsB,CAEkB,CAAA;IACnE,MAAM,YAAY,EAAE,UAAU,CAAC,0BAA0B,CACyC,CAAA;IAClG,MAAM,YAAY,EAAE,UAAU,CAAC,uBAAuB,CAC6C,CAAA;IACnG,MAAM,aAAa,EAAE,UAAU,CAAC,wBAAwB,CAC4C,CAAA;IACpG,MAAM,MAAM,EAAE,UAAU,CAAC,UAAU,CAC0D,CAAA;IAE7F,MAAM,mBAAmB,GAAI,SAAS,aAAa,CAAC,sBAAsB,CAAC,KAAG,IAepF,CAAA;CACJ"}
@@ -0,0 +1,25 @@
1
+ export declare namespace DeviceManualUrls {
2
+ const AudioBus = "manuals/audio-bus";
3
+ const Arpeggio = "manuals/devices/midi/arpeggio";
4
+ const Pitch = "manuals/devices/midi/pitch";
5
+ const Velocity = "manuals/devices/midi/velocity";
6
+ const Zeitgeist = "manuals/devices/midi/zeitgeist";
7
+ const StereoTool = "manuals/devices/audio/stereo-tool";
8
+ const Delay = "manuals/devices/audio/delay";
9
+ const DattorroReverb = "manuals/devices/audio/dattorro-reverb";
10
+ const Maximizer = "manuals/devices/audio/maximizer";
11
+ const Compressor = "manuals/devices/audio/compressor";
12
+ const Reverb = "manuals/devices/audio/cheap-reverb";
13
+ const Crusher = "manuals/devices/audio/crusher";
14
+ const Fold = "manuals/devices/audio/fold";
15
+ const Tidal = "manuals/devices/audio/tidal";
16
+ const Revamp = "manuals/devices/audio/revamp";
17
+ const Modular = "manuals/devices/audio/modular";
18
+ const Tape = "manuals/devices/instruments/tape";
19
+ const Nano = "manuals/devices/instruments/nano";
20
+ const Playfield = "manuals/devices/instruments/playfield";
21
+ const Vaporisateur = "manuals/devices/instruments/vaporisateur";
22
+ const MIDIOutput = "manuals/devices/instruments/midi-output";
23
+ const Soundfont = "manuals/devices/instruments/soundfont";
24
+ }
25
+ //# sourceMappingURL=DeviceManualUrls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeviceManualUrls.d.ts","sourceRoot":"","sources":["../src/DeviceManualUrls.ts"],"names":[],"mappings":"AAAA,yBAAiB,gBAAgB,CAAC;IAEvB,MAAM,QAAQ,sBAAsB,CAAA;IAGpC,MAAM,QAAQ,kCAAkC,CAAA;IAChD,MAAM,KAAK,+BAA+B,CAAA;IAC1C,MAAM,QAAQ,kCAAkC,CAAA;IAChD,MAAM,SAAS,mCAAmC,CAAA;IAGlD,MAAM,UAAU,sCAAsC,CAAA;IACtD,MAAM,KAAK,gCAAgC,CAAA;IAC3C,MAAM,cAAc,0CAA0C,CAAA;IAC9D,MAAM,SAAS,oCAAoC,CAAA;IACnD,MAAM,UAAU,qCAAqC,CAAA;IACrD,MAAM,MAAM,uCAAuC,CAAA;IACnD,MAAM,OAAO,kCAAkC,CAAA;IAC/C,MAAM,IAAI,+BAA+B,CAAA;IACzC,MAAM,KAAK,gCAAgC,CAAA;IAC3C,MAAM,MAAM,iCAAiC,CAAA;IAC7C,MAAM,OAAO,kCAAkC,CAAA;IAG/C,MAAM,IAAI,qCAAqC,CAAA;IAC/C,MAAM,IAAI,qCAAqC,CAAA;IAC/C,MAAM,SAAS,0CAA0C,CAAA;IACzD,MAAM,YAAY,6CAA6C,CAAA;IAC/D,MAAM,UAAU,4CAA4C,CAAA;IAC5D,MAAM,SAAS,0CAA0C,CAAA;CACnE"}
@@ -0,0 +1,29 @@
1
+ export var DeviceManualUrls;
2
+ (function (DeviceManualUrls) {
3
+ // Audio Units
4
+ DeviceManualUrls.AudioBus = "manuals/audio-bus";
5
+ // MIDI Effects
6
+ DeviceManualUrls.Arpeggio = "manuals/devices/midi/arpeggio";
7
+ DeviceManualUrls.Pitch = "manuals/devices/midi/pitch";
8
+ DeviceManualUrls.Velocity = "manuals/devices/midi/velocity";
9
+ DeviceManualUrls.Zeitgeist = "manuals/devices/midi/zeitgeist";
10
+ // Audio Effects
11
+ DeviceManualUrls.StereoTool = "manuals/devices/audio/stereo-tool";
12
+ DeviceManualUrls.Delay = "manuals/devices/audio/delay";
13
+ DeviceManualUrls.DattorroReverb = "manuals/devices/audio/dattorro-reverb";
14
+ DeviceManualUrls.Maximizer = "manuals/devices/audio/maximizer";
15
+ DeviceManualUrls.Compressor = "manuals/devices/audio/compressor";
16
+ DeviceManualUrls.Reverb = "manuals/devices/audio/cheap-reverb";
17
+ DeviceManualUrls.Crusher = "manuals/devices/audio/crusher";
18
+ DeviceManualUrls.Fold = "manuals/devices/audio/fold";
19
+ DeviceManualUrls.Tidal = "manuals/devices/audio/tidal";
20
+ DeviceManualUrls.Revamp = "manuals/devices/audio/revamp";
21
+ DeviceManualUrls.Modular = "manuals/devices/audio/modular";
22
+ // Instruments
23
+ DeviceManualUrls.Tape = "manuals/devices/instruments/tape";
24
+ DeviceManualUrls.Nano = "manuals/devices/instruments/nano";
25
+ DeviceManualUrls.Playfield = "manuals/devices/instruments/playfield";
26
+ DeviceManualUrls.Vaporisateur = "manuals/devices/instruments/vaporisateur";
27
+ DeviceManualUrls.MIDIOutput = "manuals/devices/instruments/midi-output";
28
+ DeviceManualUrls.Soundfont = "manuals/devices/instruments/soundfont";
29
+ })(DeviceManualUrls || (DeviceManualUrls = {}));
@@ -1,7 +1,5 @@
1
1
  import { int, Option } from "@opendaw/lib-std";
2
- export type ProcessorOptions = {
3
- pauseOnLoopDisabled?: boolean;
4
- };
2
+ export type ProcessorOptions = {};
5
3
  export type EngineProcessorAttachment = {
6
4
  syncStreamBuffer: SharedArrayBuffer;
7
5
  controlFlagsBuffer: SharedArrayBuffer;
@@ -1 +1 @@
1
- {"version":3,"file":"EngineProcessorAttachment.d.ts","sourceRoot":"","sources":["../src/EngineProcessorAttachment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,MAAM,EAAC,MAAM,kBAAkB,CAAA;AAE5C,MAAM,MAAM,gBAAgB,GAAG;IAAE,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAGhE,MAAM,MAAM,yBAAyB,GAAG;IACpC,gBAAgB,EAAE,iBAAiB,CAAA;IACnC,kBAAkB,EAAE,iBAAiB,CAAA;IACrC,OAAO,EAAE,eAAe,CAAA;IACxB,mBAAmB,CAAC,EAAE,wBAAwB,CAAA;IAC9C,OAAO,CAAC,EAAE,gBAAgB,CAAA;CAC7B,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"}
1
+ {"version":3,"file":"EngineProcessorAttachment.d.ts","sourceRoot":"","sources":["../src/EngineProcessorAttachment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,MAAM,EAAC,MAAM,kBAAkB,CAAA;AAE5C,MAAM,MAAM,gBAAgB,GAAG,EAAE,CAAA;AAGjC,MAAM,MAAM,yBAAyB,GAAG;IACpC,gBAAgB,EAAE,iBAAiB,CAAA;IACnC,kBAAkB,EAAE,iBAAiB,CAAA;IACrC,OAAO,EAAE,eAAe,CAAA;IACxB,mBAAmB,CAAC,EAAE,wBAAwB,CAAA;IAC9C,OAAO,CAAC,EAAE,gBAAgB,CAAA;CAC7B,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"}
@@ -1,6 +1,7 @@
1
1
  import { Schema } from "@opendaw/lib-std";
2
2
  export declare const EngineStateSchema: () => Schema.IO<{
3
3
  position: number;
4
+ bpm: number;
4
5
  playbackTimestamp: number;
5
6
  countInBeatsRemaining: number;
6
7
  isPlaying: boolean;
@@ -1 +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;;;;;;;EAO5B,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAA"}
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;;;;;;;;EAQ5B,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { Schema } from "@opendaw/lib-std";
2
2
  export const EngineStateSchema = Schema.createBuilder({
3
3
  position: Schema.float,
4
+ bpm: Schema.float,
4
5
  playbackTimestamp: Schema.float,
5
6
  countInBeatsRemaining: Schema.float,
6
7
  isPlaying: Schema.bool,
@@ -0,0 +1,5 @@
1
+ export declare const TempoRange: {
2
+ readonly min: 30;
3
+ readonly max: 1000;
4
+ };
5
+ //# sourceMappingURL=TempoRange.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TempoRange.d.ts","sourceRoot":"","sources":["../src/TempoRange.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;CAAgC,CAAA"}
@@ -0,0 +1 @@
1
+ export const TempoRange = { min: 30, max: 1000 };
@@ -2,8 +2,6 @@ import { BoxGraph } from "@opendaw/lib-box";
2
2
  import { Attempt, int } from "@opendaw/lib-std";
3
3
  export declare namespace Validator {
4
4
  const isTimeSignatureValid: (numerator: int, denominator: int) => Attempt<[int, int], string>;
5
- const MIN_BPM = 30;
6
- const MAX_BPM = 1000;
7
5
  const clampBpm: (bpm: number) => number;
8
6
  const hasOverlappingRegions: (boxGraph: BoxGraph) => boolean;
9
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Validator.d.ts","sourceRoot":"","sources":["../src/Validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AAEzC,OAAO,EAAS,OAAO,EAAmB,GAAG,EAAC,MAAM,kBAAkB,CAAA;AAItE,yBAAiB,SAAS,CAAC;IAChB,MAAM,oBAAoB,GAAI,WAAW,GAAG,EAAE,aAAa,GAAG,KAAG,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAQjG,CAAA;IAEM,MAAM,OAAO,KAAO,CAAA;IACpB,MAAM,OAAO,OAAS,CAAA;IAEtB,MAAM,QAAQ,GAAI,KAAK,MAAM,KAAG,MAAqE,CAAA;IAErG,MAAM,qBAAqB,GAAI,UAAU,QAAQ,KAAG,OAe3C,CAAA;CACnB"}
1
+ {"version":3,"file":"Validator.d.ts","sourceRoot":"","sources":["../src/Validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AAEzC,OAAO,EAAS,OAAO,EAAmB,GAAG,EAAC,MAAM,kBAAkB,CAAA;AAKtE,yBAAiB,SAAS,CAAC;IAChB,MAAM,oBAAoB,GAAI,WAAW,GAAG,EAAE,aAAa,GAAG,KAAG,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAQjG,CAAA;IAEM,MAAM,QAAQ,GAAI,KAAK,MAAM,KAAG,MAE5B,CAAA;IAEJ,MAAM,qBAAqB,GAAI,UAAU,QAAQ,KAAG,OAe3C,CAAA;CACnB"}
package/dist/Validator.js CHANGED
@@ -2,6 +2,7 @@ import { AudioRegionBox } from "@opendaw/studio-boxes";
2
2
  import { Arrays, Attempts, clamp } from "@opendaw/lib-std";
3
3
  import { UnionBoxTypes } from "./unions";
4
4
  import { TimeBase } from "@opendaw/lib-dsp";
5
+ import { TempoRange } from "./TempoRange";
5
6
  export var Validator;
6
7
  (function (Validator) {
7
8
  Validator.isTimeSignatureValid = (numerator, denominator) => {
@@ -13,9 +14,9 @@ export var Validator;
13
14
  }
14
15
  return Attempts.ok([numerator, denominator]);
15
16
  };
16
- Validator.MIN_BPM = 30.0;
17
- Validator.MAX_BPM = 1000.0;
18
- Validator.clampBpm = (bpm) => Number.isFinite(bpm) ? clamp(bpm, Validator.MIN_BPM, Validator.MAX_BPM) : 120.0;
17
+ Validator.clampBpm = (bpm) => Number.isFinite(bpm)
18
+ ? clamp(bpm, TempoRange.min, TempoRange.max)
19
+ : 120.0;
19
20
  Validator.hasOverlappingRegions = (boxGraph) => boxGraph.boxes()
20
21
  .some(box => box.accept({
21
22
  visitTrackBox: (box) => {
@@ -0,0 +1,18 @@
1
+ import { bpm, ppqn, seconds, TempoMap } from "@opendaw/lib-dsp";
2
+ import { Observer, Subscription } from "@opendaw/lib-std";
3
+ import { TimelineBoxAdapter } from "./timeline/TimelineBoxAdapter";
4
+ /**
5
+ * TempoMap implementation that handles varying tempo (tempo automation).
6
+ * Steps through at TempoChangeGrid intervals to match BlockRenderer behavior.
7
+ */
8
+ export declare class VaryingTempoMap implements TempoMap {
9
+ #private;
10
+ constructor(adapter: TimelineBoxAdapter);
11
+ getTempoAt(position: ppqn): bpm;
12
+ ppqnToSeconds(position: ppqn): seconds;
13
+ secondsToPPQN(time: seconds): ppqn;
14
+ intervalToSeconds(fromPPQN: ppqn, toPPQN: ppqn): seconds;
15
+ intervalToPPQN(fromSeconds: seconds, toSeconds: seconds): ppqn;
16
+ subscribe(observer: Observer<TempoMap>): Subscription;
17
+ }
18
+ //# sourceMappingURL=VaryingTempoMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VaryingTempoMap.d.ts","sourceRoot":"","sources":["../src/VaryingTempoMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,IAAI,EAAQ,OAAO,EAAmB,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AACpF,OAAO,EAAC,QAAQ,EAAgB,YAAY,EAAa,MAAM,kBAAkB,CAAA;AACjF,OAAO,EAAC,kBAAkB,EAAC,MAAM,+BAA+B,CAAA;AAEhE;;;GAGG;AACH,qBAAa,eAAgB,YAAW,QAAQ;;gBAGhC,OAAO,EAAE,kBAAkB;IAIvC,UAAU,CAAC,QAAQ,EAAE,IAAI,GAAG,GAAG;IAQ/B,aAAa,CAAC,QAAQ,EAAE,IAAI,GAAG,OAAO;IAItC,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IA+BlC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO;IAwBxD,cAAc,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI;IAQ9D,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,YAAY;CAQxD"}
@@ -0,0 +1,105 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _VaryingTempoMap_instances, _VaryingTempoMap_adapter, _VaryingTempoMap_absoluteSecondsToPPQN;
13
+ import { PPQN, TempoChangeGrid } from "@opendaw/lib-dsp";
14
+ import { quantizeCeil, Terminator } from "@opendaw/lib-std";
15
+ /**
16
+ * TempoMap implementation that handles varying tempo (tempo automation).
17
+ * Steps through at TempoChangeGrid intervals to match BlockRenderer behavior.
18
+ */
19
+ export class VaryingTempoMap {
20
+ constructor(adapter) {
21
+ _VaryingTempoMap_instances.add(this);
22
+ _VaryingTempoMap_adapter.set(this, void 0);
23
+ __classPrivateFieldSet(this, _VaryingTempoMap_adapter, adapter, "f");
24
+ }
25
+ getTempoAt(position) {
26
+ const storageBpm = __classPrivateFieldGet(this, _VaryingTempoMap_adapter, "f").box.bpm.getValue();
27
+ return __classPrivateFieldGet(this, _VaryingTempoMap_adapter, "f").tempoTrackEvents.mapOr(collection => collection.valueAt(position, storageBpm), storageBpm);
28
+ }
29
+ ppqnToSeconds(position) {
30
+ return this.intervalToSeconds(0, position);
31
+ }
32
+ secondsToPPQN(time) {
33
+ return __classPrivateFieldGet(this, _VaryingTempoMap_instances, "m", _VaryingTempoMap_absoluteSecondsToPPQN).call(this, time);
34
+ }
35
+ intervalToSeconds(fromPPQN, toPPQN) {
36
+ if (fromPPQN >= toPPQN) {
37
+ return 0.0;
38
+ }
39
+ const storageBpm = __classPrivateFieldGet(this, _VaryingTempoMap_adapter, "f").box.bpm.getValue();
40
+ const tempoEvents = __classPrivateFieldGet(this, _VaryingTempoMap_adapter, "f").tempoTrackEvents;
41
+ if (tempoEvents.isEmpty()) {
42
+ return PPQN.pulsesToSeconds(toPPQN - fromPPQN, storageBpm);
43
+ }
44
+ const collection = tempoEvents.unwrap();
45
+ if (collection.events.isEmpty()) {
46
+ return PPQN.pulsesToSeconds(toPPQN - fromPPQN, storageBpm);
47
+ }
48
+ let totalSeconds = 0.0;
49
+ let currentPPQN = fromPPQN;
50
+ while (currentPPQN < toPPQN) {
51
+ const currentBpm = collection.valueAt(currentPPQN, storageBpm);
52
+ const nextGrid = quantizeCeil(currentPPQN, TempoChangeGrid);
53
+ const segmentEnd = nextGrid <= currentPPQN ? nextGrid + TempoChangeGrid : nextGrid;
54
+ const actualEnd = Math.min(segmentEnd, toPPQN);
55
+ totalSeconds += PPQN.pulsesToSeconds(actualEnd - currentPPQN, currentBpm);
56
+ currentPPQN = actualEnd;
57
+ }
58
+ return totalSeconds;
59
+ }
60
+ intervalToPPQN(fromSeconds, toSeconds) {
61
+ if (fromSeconds >= toSeconds) {
62
+ return 0.0;
63
+ }
64
+ // Find PPQN positions for both absolute times, return the difference
65
+ const fromPPQN = __classPrivateFieldGet(this, _VaryingTempoMap_instances, "m", _VaryingTempoMap_absoluteSecondsToPPQN).call(this, fromSeconds);
66
+ const toPPQN = __classPrivateFieldGet(this, _VaryingTempoMap_instances, "m", _VaryingTempoMap_absoluteSecondsToPPQN).call(this, toSeconds);
67
+ return toPPQN - fromPPQN;
68
+ }
69
+ subscribe(observer) {
70
+ const terminator = new Terminator();
71
+ terminator.ownAll(__classPrivateFieldGet(this, _VaryingTempoMap_adapter, "f").box.bpm.subscribe(() => observer(this)), __classPrivateFieldGet(this, _VaryingTempoMap_adapter, "f").catchupAndSubscribeTempoAutomation(() => observer(this)));
72
+ return terminator;
73
+ }
74
+ }
75
+ _VaryingTempoMap_adapter = new WeakMap(), _VaryingTempoMap_instances = new WeakSet(), _VaryingTempoMap_absoluteSecondsToPPQN = function _VaryingTempoMap_absoluteSecondsToPPQN(targetSeconds) {
76
+ if (targetSeconds <= 0) {
77
+ return 0.0;
78
+ }
79
+ const storageBpm = __classPrivateFieldGet(this, _VaryingTempoMap_adapter, "f").box.bpm.getValue();
80
+ const tempoEvents = __classPrivateFieldGet(this, _VaryingTempoMap_adapter, "f").tempoTrackEvents;
81
+ if (tempoEvents.isEmpty()) {
82
+ return PPQN.secondsToPulses(targetSeconds, storageBpm);
83
+ }
84
+ const collection = tempoEvents.unwrap();
85
+ if (collection.events.isEmpty()) {
86
+ return PPQN.secondsToPulses(targetSeconds, storageBpm);
87
+ }
88
+ let accumulatedSeconds = 0.0;
89
+ let accumulatedPPQN = 0.0;
90
+ while (accumulatedSeconds < targetSeconds) {
91
+ const currentBpm = collection.valueAt(accumulatedPPQN, storageBpm);
92
+ const nextGrid = quantizeCeil(accumulatedPPQN, TempoChangeGrid);
93
+ const segmentEnd = nextGrid <= accumulatedPPQN ? nextGrid + TempoChangeGrid : nextGrid;
94
+ const segmentPPQN = segmentEnd - accumulatedPPQN;
95
+ const segmentSeconds = PPQN.pulsesToSeconds(segmentPPQN, currentBpm);
96
+ if (accumulatedSeconds + segmentSeconds >= targetSeconds) {
97
+ const remainingSeconds = targetSeconds - accumulatedSeconds;
98
+ accumulatedPPQN += PPQN.secondsToPulses(remainingSeconds, currentBpm);
99
+ break;
100
+ }
101
+ accumulatedSeconds += segmentSeconds;
102
+ accumulatedPPQN = segmentEnd;
103
+ }
104
+ return accumulatedPPQN;
105
+ };
@@ -39,12 +39,12 @@ export class AudioFileBoxAdapter {
39
39
  }
40
40
  else if (state.type === "error") {
41
41
  subscription.terminate();
42
- reject(state.reason);
42
+ reject(new Error(state.reason));
43
43
  }
44
44
  });
45
45
  return promise;
46
46
  }), "f");
47
- __classPrivateFieldGet(this, _AudioFileBoxAdapter_terminator, "f").own(box.transientMarkers.pointerHub.catchupAndSubscribe({
47
+ __classPrivateFieldGet(this, _AudioFileBoxAdapter_terminator, "f").ownAll(box.transientMarkers.pointerHub.catchupAndSubscribe({
48
48
  onAdded: (pointer) => {
49
49
  const marker = __classPrivateFieldGet(this, _AudioFileBoxAdapter_context, "f").boxAdapters.adapterFor(pointer.box, TransientMarkerBoxAdapter);
50
50
  if (__classPrivateFieldGet(this, _AudioFileBoxAdapter_transientMarkerAdapters, "f").add(marker)) {
@@ -1,15 +1,16 @@
1
- import { Address, BooleanField, StringField } from "@opendaw/lib-box";
2
1
  import { Observer, Subscription, UUID } from "@opendaw/lib-std";
2
+ import { Address, BooleanField, StringField } from "@opendaw/lib-box";
3
+ import { IconSymbol } from "@opendaw/studio-enums";
3
4
  import { AudioBusBox } from "@opendaw/studio-boxes";
4
5
  import { DeviceBoxAdapter, DeviceHost } from "../DeviceAdapter";
5
6
  import { LabeledAudioOutput, LabeledAudioOutputsOwner } from "../LabeledAudioOutputsOwner";
6
7
  import { BoxAdaptersContext } from "../BoxAdaptersContext";
7
8
  import { AudioUnitBoxAdapter } from "./AudioUnitBoxAdapter";
8
- import { IconSymbol } from "@opendaw/studio-enums";
9
9
  export declare class AudioBusBoxAdapter implements DeviceBoxAdapter, LabeledAudioOutputsOwner {
10
10
  #private;
11
11
  readonly type = "bus";
12
12
  readonly accepts = "audio";
13
+ readonly manualUrl = "manuals/audio-bus";
13
14
  constructor(context: BoxAdaptersContext, box: AudioBusBox);
14
15
  catchupAndSubscribe(observer: Observer<this>): Subscription;
15
16
  get uuid(): UUID.Bytes;
@@ -1 +1 @@
1
- {"version":3,"file":"AudioBusBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/audio-unit/AudioBusBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,YAAY,EAAe,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAChF,OAAO,EAAC,QAAQ,EAAU,YAAY,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrE,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAC,gBAAgB,EAAE,UAAU,EAAU,MAAM,kBAAkB,CAAA;AACtE,OAAO,EAAC,kBAAkB,EAAE,wBAAwB,EAAC,MAAM,6BAA6B,CAAA;AACxF,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAA;AAEhD,qBAAa,kBAAmB,YAAW,gBAAgB,EAAE,wBAAwB;;IACjF,QAAQ,CAAC,IAAI,SAAQ;IACrB,QAAQ,CAAC,OAAO,WAAU;gBAKd,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,WAAW;IAKzD,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY;IAK3D,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,GAAG,IAAI,WAAW,CAAmB;IACzC,IAAI,YAAY,IAAI,YAAY,CAA2B;IAC3D,IAAI,cAAc,IAAI,YAAY,CAA6B;IAC/D,IAAI,SAAS,IAAI,WAAW,CAAwB;IACpD,IAAI,UAAU,IAAI,WAAW,CAAyB;IACtD,IAAI,UAAU,IAAI,WAAW,CAAyB;IACtD,IAAI,UAAU,IAAI,UAAU,CAAuE;IAEnG,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAEzC,mBAAmB,IAAI,QAAQ,CAAC,kBAAkB,CAAC;IAIpD,SAAS,IAAI,IAAI;IAEjB,QAAQ,IAAI,MAAM;CACrB"}
1
+ {"version":3,"file":"AudioBusBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/audio-unit/AudioBusBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAU,YAAY,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrE,OAAO,EAAC,OAAO,EAAE,YAAY,EAAe,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAChF,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAC,gBAAgB,EAAE,UAAU,EAAU,MAAM,kBAAkB,CAAA;AACtE,OAAO,EAAC,kBAAkB,EAAE,wBAAwB,EAAC,MAAM,6BAA6B,CAAA;AACxF,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAA;AAGzD,qBAAa,kBAAmB,YAAW,gBAAgB,EAAE,wBAAwB;;IACjF,QAAQ,CAAC,IAAI,SAAQ;IACrB,QAAQ,CAAC,OAAO,WAAU;IAC1B,QAAQ,CAAC,SAAS,uBAA4B;gBAKlC,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,WAAW;IAKzD,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY;IAK3D,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,GAAG,IAAI,WAAW,CAAmB;IACzC,IAAI,YAAY,IAAI,YAAY,CAA2B;IAC3D,IAAI,cAAc,IAAI,YAAY,CAA6B;IAC/D,IAAI,SAAS,IAAI,WAAW,CAAwB;IACpD,IAAI,UAAU,IAAI,WAAW,CAAyB;IACtD,IAAI,UAAU,IAAI,WAAW,CAAyB;IACtD,IAAI,UAAU,IAAI,UAAU,CAAuE;IAEnG,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAExC,mBAAmB,IAAI,QAAQ,CAAC,kBAAkB,CAAC;IAIrD,SAAS,IAAI,IAAI;IAEjB,QAAQ,IAAI,MAAM;CACrB"}
@@ -10,14 +10,16 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
12
  var _AudioBusBoxAdapter_context, _AudioBusBoxAdapter_box;
13
- import { Propagation } from "@opendaw/lib-box";
14
13
  import { Option } from "@opendaw/lib-std";
15
- import { Devices } from "../DeviceAdapter";
14
+ import { Propagation } from "@opendaw/lib-box";
16
15
  import { IconSymbol } from "@opendaw/studio-enums";
16
+ import { Devices } from "../DeviceAdapter";
17
+ import { DeviceManualUrls } from "../DeviceManualUrls";
17
18
  export class AudioBusBoxAdapter {
18
19
  constructor(context, box) {
19
20
  this.type = "bus";
20
21
  this.accepts = "audio";
22
+ this.manualUrl = DeviceManualUrls.AudioBus;
21
23
  _AudioBusBoxAdapter_context.set(this, void 0);
22
24
  _AudioBusBoxAdapter_box.set(this, void 0);
23
25
  __classPrivateFieldSet(this, _AudioBusBoxAdapter_context, context, "f");
@@ -47,6 +47,7 @@ export declare class AudioUnitBoxAdapter implements DeviceHost, BoxAdapter {
47
47
  get minimizedField(): BooleanField;
48
48
  get isAudioUnit(): boolean;
49
49
  get label(): string;
50
+ deviceHost(): DeviceHost;
50
51
  audioUnitBoxAdapter(): AudioUnitBoxAdapter;
51
52
  labeledAudioOutputs(): Iterable<LabeledAudioOutput>;
52
53
  indicesLimit(): [int, int];
@@ -1 +1 @@
1
- {"version":3,"file":"AudioUnitBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/audio-unit/AudioUnitBoxAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AudioUnitBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/audio-unit/AudioUnitBoxAdapter.ts"],"names":[],"mappings":"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"}
@@ -70,6 +70,7 @@ export class AudioUnitBoxAdapter {
70
70
  get minimizedField() { return __classPrivateFieldGet(this, _AudioUnitBoxAdapter_input, "f").getValue().unwrap().minimizedField; }
71
71
  get isAudioUnit() { return true; }
72
72
  get label() { return __classPrivateFieldGet(this, _AudioUnitBoxAdapter_input, "f").getValue().mapOr(input => input.labelField.getValue(), ""); }
73
+ deviceHost() { return this; }
73
74
  audioUnitBoxAdapter() { return this; }
74
75
  *labeledAudioOutputs() {
75
76
  const optInput = this.input.getValue();
@@ -10,6 +10,7 @@ export declare class CompressorDeviceBoxAdapter implements AudioEffectDeviceAdap
10
10
  #private;
11
11
  readonly type = "audio-effect";
12
12
  readonly accepts = "audio";
13
+ readonly manualUrl = "manuals/devices/audio/compressor";
13
14
  readonly namedParameter: {
14
15
  readonly lookahead: import("../..").AutomatableParameterFieldAdapter<boolean>;
15
16
  readonly automakeup: import("../..").AutomatableParameterFieldAdapter<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"CompressorDeviceBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/audio-effects/CompressorDeviceBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAwB,IAAI,EAAe,MAAM,kBAAkB,CAAA;AAC1E,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAC7F,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,wBAAwB,EAAE,UAAU,EAAU,MAAM,qBAAqB,CAAA;AACjF,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAE3D,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAA;AAExE,qBAAa,0BAA2B,YAAW,wBAAwB;;IACvE,QAAQ,CAAC,IAAI,kBAAiB;IAC9B,QAAQ,CAAC,OAAO,WAAU;IAM1B,QAAQ,CAAC,cAAc;;;;;;;;;;;;;MAAA;gBAEX,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,mBAAmB;IAOjE,IAAI,GAAG,IAAI,mBAAmB,CAAmB;IACjD,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,UAAU,IAAI,UAAU,CAAyB;IACrD,IAAI,UAAU,IAAI,WAAW,CAAyB;IACtD,IAAI,YAAY,IAAI,YAAY,CAA2B;IAC3D,IAAI,cAAc,IAAI,YAAY,CAA6B;IAC/D,IAAI,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAwB;IAC1E,IAAI,SAAS,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAA6B;IAE9E,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAEzC,mBAAmB,IAAI,QAAQ,CAAC,kBAAkB,CAAC;IAIpD,SAAS,IAAI,IAAI;CAmCpB"}
1
+ {"version":3,"file":"CompressorDeviceBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/audio-effects/CompressorDeviceBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAwB,IAAI,EAAe,MAAM,kBAAkB,CAAA;AAC1E,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAC7F,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,wBAAwB,EAAE,UAAU,EAAU,MAAM,qBAAqB,CAAA;AACjF,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAG3D,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAA;AAExE,qBAAa,0BAA2B,YAAW,wBAAwB;;IACvE,QAAQ,CAAC,IAAI,kBAAiB;IAC9B,QAAQ,CAAC,OAAO,WAAU;IAC1B,QAAQ,CAAC,SAAS,sCAA8B;IAMhD,QAAQ,CAAC,cAAc;;;;;;;;;;;;;MAAA;gBAEX,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,mBAAmB;IAOjE,IAAI,GAAG,IAAI,mBAAmB,CAAmB;IACjD,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,UAAU,IAAI,UAAU,CAAyB;IACrD,IAAI,UAAU,IAAI,WAAW,CAAyB;IACtD,IAAI,YAAY,IAAI,YAAY,CAA2B;IAC3D,IAAI,cAAc,IAAI,YAAY,CAA6B;IAC/D,IAAI,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAwB;IAC1E,IAAI,SAAS,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAA6B;IAE9E,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAEzC,mBAAmB,IAAI,QAAQ,CAAC,kBAAkB,CAAC;IAIpD,SAAS,IAAI,IAAI;CAmCpB"}
@@ -12,12 +12,14 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
12
12
  var _CompressorDeviceBoxAdapter_instances, _CompressorDeviceBoxAdapter_context, _CompressorDeviceBoxAdapter_box, _CompressorDeviceBoxAdapter_parametric, _CompressorDeviceBoxAdapter_wrapParameters;
13
13
  import { Option, StringMapping, ValueMapping } from "@opendaw/lib-std";
14
14
  import { Devices } from "../../DeviceAdapter";
15
+ import { DeviceManualUrls } from "../../DeviceManualUrls";
15
16
  import { ParameterAdapterSet } from "../../ParameterAdapterSet";
16
17
  export class CompressorDeviceBoxAdapter {
17
18
  constructor(context, box) {
18
19
  _CompressorDeviceBoxAdapter_instances.add(this);
19
20
  this.type = "audio-effect";
20
21
  this.accepts = "audio";
22
+ this.manualUrl = DeviceManualUrls.Compressor;
21
23
  _CompressorDeviceBoxAdapter_context.set(this, void 0);
22
24
  _CompressorDeviceBoxAdapter_box.set(this, void 0);
23
25
  _CompressorDeviceBoxAdapter_parametric.set(this, void 0);
@@ -10,6 +10,7 @@ export declare class CrusherDeviceBoxAdapter implements AudioEffectDeviceAdapter
10
10
  #private;
11
11
  readonly type = "audio-effect";
12
12
  readonly accepts = "audio";
13
+ readonly manualUrl = "manuals/devices/audio/crusher";
13
14
  readonly namedParameter: {
14
15
  readonly crush: import("../..").AutomatableParameterFieldAdapter<number>;
15
16
  readonly bits: import("../..").AutomatableParameterFieldAdapter<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"CrusherDeviceBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/audio-effects/CrusherDeviceBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,IAAI,EAAe,MAAM,kBAAkB,CAAA;AAC1E,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAC7F,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,wBAAwB,EAAE,UAAU,EAAU,MAAM,qBAAqB,CAAA;AACjF,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAE3D,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAA;AAExE,qBAAa,uBAAwB,YAAW,wBAAwB;;IACpE,QAAQ,CAAC,IAAI,kBAAiB;IAC9B,QAAQ,CAAC,OAAO,WAAU;IAM1B,QAAQ,CAAC,cAAc;;;;;MAAA;gBAEX,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,gBAAgB;IAO9D,IAAI,GAAG,IAAI,gBAAgB,CAAmB;IAC9C,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,UAAU,IAAI,UAAU,CAAyB;IACrD,IAAI,UAAU,IAAI,WAAW,CAAyB;IACtD,IAAI,YAAY,IAAI,YAAY,CAA2B;IAC3D,IAAI,cAAc,IAAI,YAAY,CAA6B;IAC/D,IAAI,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAwB;IAE1E,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAEzC,mBAAmB,IAAI,QAAQ,CAAC,kBAAkB,CAAC;IAIpD,SAAS,IAAI,IAAI;CAwBpB"}
1
+ {"version":3,"file":"CrusherDeviceBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/audio-effects/CrusherDeviceBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,IAAI,EAAe,MAAM,kBAAkB,CAAA;AAC1E,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAC7F,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,wBAAwB,EAAE,UAAU,EAAU,MAAM,qBAAqB,CAAA;AACjF,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAG3D,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAA;AAExE,qBAAa,uBAAwB,YAAW,wBAAwB;;IACpE,QAAQ,CAAC,IAAI,kBAAiB;IAC9B,QAAQ,CAAC,OAAO,WAAU;IAC1B,QAAQ,CAAC,SAAS,mCAA2B;IAM7C,QAAQ,CAAC,cAAc;;;;;MAAA;gBAEX,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,gBAAgB;IAO9D,IAAI,GAAG,IAAI,gBAAgB,CAAmB;IAC9C,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,UAAU,IAAI,UAAU,CAAyB;IACrD,IAAI,UAAU,IAAI,WAAW,CAAyB;IACtD,IAAI,YAAY,IAAI,YAAY,CAA2B;IAC3D,IAAI,cAAc,IAAI,YAAY,CAA6B;IAC/D,IAAI,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAwB;IAE1E,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAEzC,mBAAmB,IAAI,QAAQ,CAAC,kBAAkB,CAAC;IAIpD,SAAS,IAAI,IAAI;CAwBpB"}
@@ -12,12 +12,14 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
12
12
  var _CrusherDeviceBoxAdapter_instances, _CrusherDeviceBoxAdapter_context, _CrusherDeviceBoxAdapter_box, _CrusherDeviceBoxAdapter_parametric, _CrusherDeviceBoxAdapter_wrapParameters;
13
13
  import { Option, StringMapping, ValueMapping } from "@opendaw/lib-std";
14
14
  import { Devices } from "../../DeviceAdapter";
15
+ import { DeviceManualUrls } from "../../DeviceManualUrls";
15
16
  import { ParameterAdapterSet } from "../../ParameterAdapterSet";
16
17
  export class CrusherDeviceBoxAdapter {
17
18
  constructor(context, box) {
18
19
  _CrusherDeviceBoxAdapter_instances.add(this);
19
20
  this.type = "audio-effect";
20
21
  this.accepts = "audio";
22
+ this.manualUrl = DeviceManualUrls.Crusher;
21
23
  _CrusherDeviceBoxAdapter_context.set(this, void 0);
22
24
  _CrusherDeviceBoxAdapter_box.set(this, void 0);
23
25
  _CrusherDeviceBoxAdapter_parametric.set(this, void 0);
@@ -10,6 +10,7 @@ export declare class DattorroReverbDeviceBoxAdapter implements AudioEffectDevice
10
10
  #private;
11
11
  readonly type = "audio-effect";
12
12
  readonly accepts = "audio";
13
+ readonly manualUrl = "manuals/devices/audio/dattorro-reverb";
13
14
  readonly namedParameter: {
14
15
  readonly preDelay: import("../..").AutomatableParameterFieldAdapter<number>;
15
16
  readonly bandwidth: import("../..").AutomatableParameterFieldAdapter<number>;