@opendaw/studio-adapters 0.0.99 → 0.0.101

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 (59) hide show
  1. package/dist/AutomatableParameterFieldAdapter.d.ts +6 -1
  2. package/dist/AutomatableParameterFieldAdapter.d.ts.map +1 -1
  3. package/dist/AutomatableParameterFieldAdapter.js +24 -6
  4. package/dist/BoxAdapters.d.ts.map +1 -1
  5. package/dist/BoxAdapters.js +6 -0
  6. package/dist/DeviceManualUrls.d.ts +3 -0
  7. package/dist/DeviceManualUrls.d.ts.map +1 -1
  8. package/dist/DeviceManualUrls.js +3 -0
  9. package/dist/NoteStreamReceiver.d.ts +2 -1
  10. package/dist/NoteStreamReceiver.d.ts.map +1 -1
  11. package/dist/NoteStreamReceiver.js +25 -13
  12. package/dist/ParameterAdapterSet.d.ts +1 -1
  13. package/dist/ParameterAdapterSet.d.ts.map +1 -1
  14. package/dist/ParameterAdapterSet.js +2 -2
  15. package/dist/ParameterFieldAdapters.d.ts +10 -0
  16. package/dist/ParameterFieldAdapters.d.ts.map +1 -1
  17. package/dist/ParameterFieldAdapters.js +30 -3
  18. package/dist/ScriptCompiler.d.ts +23 -0
  19. package/dist/ScriptCompiler.d.ts.map +1 -0
  20. package/dist/ScriptCompiler.js +190 -0
  21. package/dist/ScriptDeclaration.d.ts +37 -0
  22. package/dist/ScriptDeclaration.d.ts.map +1 -0
  23. package/dist/ScriptDeclaration.js +209 -0
  24. package/dist/audio-unit/AudioUnitTracks.d.ts +1 -0
  25. package/dist/audio-unit/AudioUnitTracks.d.ts.map +1 -1
  26. package/dist/audio-unit/AudioUnitTracks.js +1 -0
  27. package/dist/devices/audio-effects/WerkstattDeviceBoxAdapter.d.ts +31 -0
  28. package/dist/devices/audio-effects/WerkstattDeviceBoxAdapter.d.ts.map +1 -0
  29. package/dist/devices/audio-effects/WerkstattDeviceBoxAdapter.js +55 -0
  30. package/dist/devices/instruments/ApparatDeviceBoxAdapter.d.ts +32 -0
  31. package/dist/devices/instruments/ApparatDeviceBoxAdapter.d.ts.map +1 -0
  32. package/dist/devices/instruments/ApparatDeviceBoxAdapter.js +57 -0
  33. package/dist/devices/midi-effects/SpielwerkDeviceBoxAdapter.d.ts +29 -0
  34. package/dist/devices/midi-effects/SpielwerkDeviceBoxAdapter.d.ts.map +1 -0
  35. package/dist/devices/midi-effects/SpielwerkDeviceBoxAdapter.js +52 -0
  36. package/dist/factories/DeviceFactory.d.ts +1 -0
  37. package/dist/factories/DeviceFactory.d.ts.map +1 -1
  38. package/dist/factories/InstrumentBox.d.ts +2 -2
  39. package/dist/factories/InstrumentBox.d.ts.map +1 -1
  40. package/dist/factories/InstrumentFactories.d.ts +7 -5
  41. package/dist/factories/InstrumentFactories.d.ts.map +1 -1
  42. package/dist/factories/InstrumentFactories.js +21 -2
  43. package/dist/index.d.ts +5 -0
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +5 -0
  46. package/dist/offline-renderer.d.ts +1 -0
  47. package/dist/offline-renderer.d.ts.map +1 -1
  48. package/dist/preset/PresetDecoder.js +1 -1
  49. package/dist/preset/PresetEncoder.js +1 -1
  50. package/dist/project/ProjectSkeleton.d.ts +1 -1
  51. package/dist/project/ProjectSkeleton.d.ts.map +1 -1
  52. package/dist/project/ProjectSkeleton.js +5 -6
  53. package/dist/protocols.d.ts +1 -0
  54. package/dist/protocols.d.ts.map +1 -1
  55. package/dist/selection/VertexSelection.d.ts.map +1 -1
  56. package/dist/selection/VertexSelection.js +2 -1
  57. package/dist/timeline/TrackBoxAdapter.d.ts.map +1 -1
  58. package/dist/timeline/TrackBoxAdapter.js +31 -1
  59. package/package.json +9 -9
@@ -3,10 +3,11 @@ import { ppqn } from "@opendaw/lib-dsp";
3
3
  import { Address, PrimitiveField, PrimitiveType, PrimitiveValues } from "@opendaw/lib-box";
4
4
  import { Pointers } from "@opendaw/studio-enums";
5
5
  import { TrackBoxAdapter } from "./timeline/TrackBoxAdapter";
6
+ import { AudioUnitTracks } from "./audio-unit/AudioUnitTracks";
6
7
  import { BoxAdaptersContext } from "./BoxAdaptersContext";
7
8
  export declare class AutomatableParameterFieldAdapter<T extends PrimitiveValues = any> implements Parameter<T>, Terminable {
8
9
  #private;
9
- constructor(context: BoxAdaptersContext, field: PrimitiveField<T, any>, valueMapping: ValueMapping<T>, stringMapping: StringMapping<T>, name: string, anchor?: unitValue);
10
+ constructor(context: BoxAdaptersContext, field: PrimitiveField<T, any>, valueMapping: ValueMapping<T>, stringMapping: StringMapping<T>, name: string, anchor?: unitValue, resetValue?: T);
10
11
  registerMidiControl(): Terminable;
11
12
  get field(): PrimitiveField<T, Pointers.Automation>;
12
13
  get valueMapping(): ValueMapping<T>;
@@ -16,6 +17,10 @@ export declare class AutomatableParameterFieldAdapter<T extends PrimitiveValues
16
17
  get type(): PrimitiveType;
17
18
  get address(): Address;
18
19
  get track(): Option<TrackBoxAdapter>;
20
+ registerTracks(tracks: AudioUnitTracks): Terminable;
21
+ touchStart(): void;
22
+ touchEnd(): void;
23
+ updateMappings(valueMapping: ValueMapping<T>, stringMapping: StringMapping<T>): void;
19
24
  valueAt(position: ppqn): T;
20
25
  subscribe(observer: Observer<AutomatableParameterFieldAdapter<T>>): Subscription;
21
26
  catchupAndSubscribe(observer: Observer<AutomatableParameterFieldAdapter<T>>): Subscription;
@@ -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;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;IAKjB,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,eAAe,EAAC,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AAQvD,qBAAa,gCAAgC,CAAC,CAAC,SAAS,eAAe,GAAG,GAAG,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU;;gBAmBlG,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,EAClB,UAAU,CAAC,EAAE,CAAC;IA2D1B,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,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,UAAU;IAGnD,UAAU,IAAI,IAAI;IAIlB,QAAQ,IAAI,IAAI;IAEhB,cAAc,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAMpF,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;IAMjB,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"}
@@ -9,7 +9,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
9
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
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
- var _AutomatableParameterFieldAdapter_context, _AutomatableParameterFieldAdapter_field, _AutomatableParameterFieldAdapter_valueMapping, _AutomatableParameterFieldAdapter_stringMapping, _AutomatableParameterFieldAdapter_name, _AutomatableParameterFieldAdapter_anchor, _AutomatableParameterFieldAdapter_terminator, _AutomatableParameterFieldAdapter_valueChangeNotifier, _AutomatableParameterFieldAdapter_controlSource, _AutomatableParameterFieldAdapter_trackBoxAdapter, _AutomatableParameterFieldAdapter_automationHandle, _AutomatableParameterFieldAdapter_controlledValue, _AutomatableParameterFieldAdapter_midiControlled;
12
+ var _AutomatableParameterFieldAdapter_context, _AutomatableParameterFieldAdapter_field, _AutomatableParameterFieldAdapter_name, _AutomatableParameterFieldAdapter_anchor, _AutomatableParameterFieldAdapter_resetValue, _AutomatableParameterFieldAdapter_terminator, _AutomatableParameterFieldAdapter_valueChangeNotifier, _AutomatableParameterFieldAdapter_controlSource, _AutomatableParameterFieldAdapter_valueMapping, _AutomatableParameterFieldAdapter_stringMapping, _AutomatableParameterFieldAdapter_trackBoxAdapter, _AutomatableParameterFieldAdapter_automationHandle, _AutomatableParameterFieldAdapter_controlledValue, _AutomatableParameterFieldAdapter_midiControlled;
13
13
  import { assert, clamp, Listeners, Notifier, Option, panic, Terminator } from "@opendaw/lib-std";
14
14
  import { Pointers } from "@opendaw/studio-enums";
15
15
  import { TrackBoxAdapter } from "./timeline/TrackBoxAdapter";
@@ -20,16 +20,17 @@ const ExternalControlTypes = [
20
20
  Pointers.ParameterController
21
21
  ];
22
22
  export class AutomatableParameterFieldAdapter {
23
- constructor(context, field, valueMapping, stringMapping, name, anchor) {
23
+ constructor(context, field, valueMapping, stringMapping, name, anchor, resetValue) {
24
24
  _AutomatableParameterFieldAdapter_context.set(this, void 0);
25
25
  _AutomatableParameterFieldAdapter_field.set(this, void 0);
26
- _AutomatableParameterFieldAdapter_valueMapping.set(this, void 0);
27
- _AutomatableParameterFieldAdapter_stringMapping.set(this, void 0);
28
26
  _AutomatableParameterFieldAdapter_name.set(this, void 0);
29
27
  _AutomatableParameterFieldAdapter_anchor.set(this, void 0);
28
+ _AutomatableParameterFieldAdapter_resetValue.set(this, void 0);
30
29
  _AutomatableParameterFieldAdapter_terminator.set(this, new Terminator());
31
30
  _AutomatableParameterFieldAdapter_valueChangeNotifier.set(this, void 0);
32
31
  _AutomatableParameterFieldAdapter_controlSource.set(this, void 0);
32
+ _AutomatableParameterFieldAdapter_valueMapping.set(this, void 0);
33
+ _AutomatableParameterFieldAdapter_stringMapping.set(this, void 0);
33
34
  _AutomatableParameterFieldAdapter_trackBoxAdapter.set(this, Option.None);
34
35
  _AutomatableParameterFieldAdapter_automationHandle.set(this, Option.None);
35
36
  _AutomatableParameterFieldAdapter_controlledValue.set(this, null);
@@ -40,6 +41,7 @@ export class AutomatableParameterFieldAdapter {
40
41
  __classPrivateFieldSet(this, _AutomatableParameterFieldAdapter_stringMapping, stringMapping, "f");
41
42
  __classPrivateFieldSet(this, _AutomatableParameterFieldAdapter_name, name, "f");
42
43
  __classPrivateFieldSet(this, _AutomatableParameterFieldAdapter_anchor, anchor ?? 0.0, "f");
44
+ __classPrivateFieldSet(this, _AutomatableParameterFieldAdapter_resetValue, Option.wrap(resetValue), "f");
43
45
  __classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_terminator, "f").own(__classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_context, "f").parameterFieldAdapters.register(this));
44
46
  __classPrivateFieldSet(this, _AutomatableParameterFieldAdapter_valueChangeNotifier, __classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_terminator, "f").own(new Notifier()), "f");
45
47
  __classPrivateFieldSet(this, _AutomatableParameterFieldAdapter_controlSource, new Listeners(), "f");
@@ -109,6 +111,19 @@ export class AutomatableParameterFieldAdapter {
109
111
  get type() { return __classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_field, "f").type; }
110
112
  get address() { return __classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_field, "f").address; }
111
113
  get track() { return __classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_trackBoxAdapter, "f"); }
114
+ registerTracks(tracks) {
115
+ return __classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_context, "f").parameterFieldAdapters.registerTracks(this.address, tracks);
116
+ }
117
+ touchStart() {
118
+ __classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_context, "f").parameterFieldAdapters.touchStart(this.address);
119
+ __classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_context, "f").parameterFieldAdapters.notifyWrite(this, this.getUnitValue());
120
+ }
121
+ touchEnd() { __classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_context, "f").parameterFieldAdapters.touchEnd(this.address); }
122
+ updateMappings(valueMapping, stringMapping) {
123
+ __classPrivateFieldSet(this, _AutomatableParameterFieldAdapter_valueMapping, valueMapping, "f");
124
+ __classPrivateFieldSet(this, _AutomatableParameterFieldAdapter_stringMapping, stringMapping, "f");
125
+ __classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_valueChangeNotifier, "f").notify(this);
126
+ }
112
127
  valueAt(position) {
113
128
  const optTrack = __classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_trackBoxAdapter, "f");
114
129
  if (optTrack.nonEmpty()) {
@@ -136,6 +151,9 @@ export class AutomatableParameterFieldAdapter {
136
151
  }
137
152
  getValue() { return __classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_field, "f").getValue(); }
138
153
  setValue(value) {
154
+ if (value === this.getValue()) {
155
+ return;
156
+ }
139
157
  const previousUnitValue = this.getUnitValue();
140
158
  __classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_field, "f").setValue(value);
141
159
  __classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_context, "f").parameterFieldAdapters.notifyWrite(this, previousUnitValue);
@@ -158,14 +176,14 @@ export class AutomatableParameterFieldAdapter {
158
176
  console.debug(`Unknown text input: '${result.value}'`);
159
177
  }
160
178
  }
161
- reset() { this.setValue(__classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_valueMapping, "f").clamp(__classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_field, "f").initValue)); }
179
+ reset() { this.setValue(__classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_resetValue, "f").unwrapOrElse(__classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_field, "f").initValue)); }
162
180
  terminate() {
163
181
  __classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_automationHandle, "f").ifSome(handle => handle.terminate());
164
182
  __classPrivateFieldSet(this, _AutomatableParameterFieldAdapter_automationHandle, Option.None, "f");
165
183
  __classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_terminator, "f").terminate();
166
184
  }
167
185
  }
168
- _AutomatableParameterFieldAdapter_context = new WeakMap(), _AutomatableParameterFieldAdapter_field = new WeakMap(), _AutomatableParameterFieldAdapter_valueMapping = new WeakMap(), _AutomatableParameterFieldAdapter_stringMapping = new WeakMap(), _AutomatableParameterFieldAdapter_name = new WeakMap(), _AutomatableParameterFieldAdapter_anchor = new WeakMap(), _AutomatableParameterFieldAdapter_terminator = new WeakMap(), _AutomatableParameterFieldAdapter_valueChangeNotifier = new WeakMap(), _AutomatableParameterFieldAdapter_controlSource = new WeakMap(), _AutomatableParameterFieldAdapter_trackBoxAdapter = new WeakMap(), _AutomatableParameterFieldAdapter_automationHandle = new WeakMap(), _AutomatableParameterFieldAdapter_controlledValue = new WeakMap(), _AutomatableParameterFieldAdapter_midiControlled = new WeakMap();
186
+ _AutomatableParameterFieldAdapter_context = new WeakMap(), _AutomatableParameterFieldAdapter_field = new WeakMap(), _AutomatableParameterFieldAdapter_name = new WeakMap(), _AutomatableParameterFieldAdapter_anchor = new WeakMap(), _AutomatableParameterFieldAdapter_resetValue = new WeakMap(), _AutomatableParameterFieldAdapter_terminator = new WeakMap(), _AutomatableParameterFieldAdapter_valueChangeNotifier = new WeakMap(), _AutomatableParameterFieldAdapter_controlSource = new WeakMap(), _AutomatableParameterFieldAdapter_valueMapping = new WeakMap(), _AutomatableParameterFieldAdapter_stringMapping = new WeakMap(), _AutomatableParameterFieldAdapter_trackBoxAdapter = new WeakMap(), _AutomatableParameterFieldAdapter_automationHandle = new WeakMap(), _AutomatableParameterFieldAdapter_controlledValue = new WeakMap(), _AutomatableParameterFieldAdapter_midiControlled = new WeakMap();
169
187
  const mapPointerToControlSource = (pointer) => {
170
188
  switch (pointer) {
171
189
  case Pointers.Automation:
@@ -1 +1 @@
1
- {"version":3,"file":"BoxAdapters.d.ts","sourceRoot":"","sources":["../src/BoxAdapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,UAAU,EACV,KAAK,EAEL,MAAM,EAIN,UAAU,EAEb,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,GAAG,EAAS,MAAM,kBAAkB,CAAA;AAuG5C,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AAyBvC,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;IAkBnG,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;CAmE3C"}
1
+ {"version":3,"file":"BoxAdapters.d.ts","sourceRoot":"","sources":["../src/BoxAdapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,UAAU,EACV,KAAK,EAEL,MAAM,EAIN,UAAU,EAEb,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,GAAG,EAAS,MAAM,kBAAkB,CAAA;AA4G5C,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AA0BvC,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;IAkBnG,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;CAsE3C"}
@@ -45,6 +45,8 @@ import { TapeDeviceBoxAdapter } from "./devices/instruments/TapeDeviceBoxAdapter
45
45
  import { VaporisateurDeviceBoxAdapter } from "./devices/instruments/VaporisateurDeviceBoxAdapter";
46
46
  import { ArpeggioDeviceBoxAdapter } from "./devices/midi-effects/ArpeggioDeviceBoxAdapter";
47
47
  import { PitchDeviceBoxAdapter } from "./devices/midi-effects/PitchDeviceBoxAdapter";
48
+ import { SpielwerkDeviceBoxAdapter } from "./devices/midi-effects/SpielwerkDeviceBoxAdapter";
49
+ import { ApparatDeviceBoxAdapter } from "./devices/instruments/ApparatDeviceBoxAdapter";
48
50
  import { NanoDeviceBoxAdapter } from "./devices/instruments/NanoDeviceBoxAdapter";
49
51
  import { PlayfieldDeviceBoxAdapter } from "./devices/instruments/PlayfieldDeviceBoxAdapter";
50
52
  import { StereoToolDeviceBoxAdapter } from "./devices/audio-effects/StereoToolDeviceBoxAdapter";
@@ -66,6 +68,7 @@ import { TidalDeviceBoxAdapter } from "./devices/audio-effects/TidalDeviceBoxAda
66
68
  import { DattorroReverbDeviceBoxAdapter } from "./devices/audio-effects/DattorroReverbDeviceBoxAdapter";
67
69
  import { NeuralAmpDeviceBoxAdapter } from "./devices/audio-effects/NeuralAmpDeviceBoxAdapter";
68
70
  import { WaveshaperDeviceBoxAdapter } from "./devices/audio-effects/WaveshaperDeviceBoxAdapter";
71
+ import { WerkstattDeviceBoxAdapter } from "./devices/audio-effects/WerkstattDeviceBoxAdapter";
69
72
  import { NeuralAmpModelBoxAdapter } from "./nam/NeuralAmpModelBoxAdapter";
70
73
  import { AudioPitchStretchBoxAdapter } from "./audio/AudioPitchStretchBoxAdapter";
71
74
  import { TransientMarkerBoxAdapter } from "./audio/TransientMarkerBoxAdapter";
@@ -128,6 +131,7 @@ _BoxAdapters_context = new WeakMap(), _BoxAdapters_adapters = new WeakMap(), _Bo
128
131
  visitAudioPitchStretchBox: (box) => new AudioPitchStretchBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
129
132
  visitTransientMarkerBox: (box) => new TransientMarkerBoxAdapter(box),
130
133
  visitWarpMarkerBox: (box) => new WarpMarkerBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
134
+ visitApparatDeviceBox: (box) => new ApparatDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
131
135
  visitAudioRegionBox: (box) => new AudioRegionBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
132
136
  visitAudioUnitBox: (box) => new AudioUnitBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
133
137
  visitAuxSendBox: (box) => new AuxSendBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
@@ -167,6 +171,7 @@ _BoxAdapters_context = new WeakMap(), _BoxAdapters_adapters = new WeakMap(), _Bo
167
171
  visitRootBox: (box) => new RootBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
168
172
  visitSoundfontDeviceBox: (box) => new SoundfontDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
169
173
  visitSoundfontFileBox: (box) => new SoundfontFileBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
174
+ visitSpielwerkDeviceBox: (box) => new SpielwerkDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
170
175
  visitStereoToolDeviceBox: (box) => new StereoToolDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
171
176
  visitTapeDeviceBox: (box) => new TapeDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
172
177
  visitTimelineBox: (box) => new TimelineBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
@@ -179,6 +184,7 @@ _BoxAdapters_context = new WeakMap(), _BoxAdapters_adapters = new WeakMap(), _Bo
179
184
  visitValueRegionBox: (box) => new ValueRegionBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
180
185
  visitVaporisateurDeviceBox: (box) => new VaporisateurDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
181
186
  visitWaveshaperDeviceBox: (box) => new WaveshaperDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
187
+ visitWerkstattDeviceBox: (box) => new WerkstattDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
182
188
  visitVelocityDeviceBox: (box) => new VelocityDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
183
189
  visitZeitgeistDeviceBox: (box) => new ZeitgeistDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box)
184
190
  }), `Could not find factory for ${unknownBox}`);
@@ -2,6 +2,7 @@ export declare namespace DeviceManualUrls {
2
2
  const AudioBus = "manuals/audio-bus";
3
3
  const Arpeggio = "manuals/devices/midi/arpeggio";
4
4
  const Pitch = "manuals/devices/midi/pitch";
5
+ const Spielwerk = "manuals/devices/midi/spielwerk";
5
6
  const Velocity = "manuals/devices/midi/velocity";
6
7
  const Zeitgeist = "manuals/devices/midi/zeitgeist";
7
8
  const StereoTool = "manuals/devices/audio/stereo-tool";
@@ -18,6 +19,8 @@ export declare namespace DeviceManualUrls {
18
19
  const Modular = "manuals/devices/audio/modular";
19
20
  const NeuralAmp = "manuals/devices/audio/neural-amp";
20
21
  const Waveshaper = "manuals/devices/audio/waveshaper";
22
+ const Werkstatt = "manuals/devices/audio/werkstatt";
23
+ const Apparat = "manuals/devices/instruments/apparat";
21
24
  const Tape = "manuals/devices/instruments/tape";
22
25
  const Nano = "manuals/devices/instruments/nano";
23
26
  const Playfield = "manuals/devices/instruments/playfield";
@@ -1 +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,IAAI,+BAA+B,CAAA;IACzC,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;IAC/C,MAAM,SAAS,qCAAqC,CAAA;IACpD,MAAM,UAAU,qCAAqC,CAAA;IAGrD,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"}
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,SAAS,mCAAmC,CAAA;IAClD,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,IAAI,+BAA+B,CAAA;IACzC,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;IAC/C,MAAM,SAAS,qCAAqC,CAAA;IACpD,MAAM,UAAU,qCAAqC,CAAA;IACrD,MAAM,SAAS,oCAAoC,CAAA;IAGnD,MAAM,OAAO,wCAAwC,CAAA;IACrD,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"}
@@ -5,6 +5,7 @@ export var DeviceManualUrls;
5
5
  // MIDI Effects
6
6
  DeviceManualUrls.Arpeggio = "manuals/devices/midi/arpeggio";
7
7
  DeviceManualUrls.Pitch = "manuals/devices/midi/pitch";
8
+ DeviceManualUrls.Spielwerk = "manuals/devices/midi/spielwerk";
8
9
  DeviceManualUrls.Velocity = "manuals/devices/midi/velocity";
9
10
  DeviceManualUrls.Zeitgeist = "manuals/devices/midi/zeitgeist";
10
11
  // Audio Effects
@@ -22,7 +23,9 @@ export var DeviceManualUrls;
22
23
  DeviceManualUrls.Modular = "manuals/devices/audio/modular";
23
24
  DeviceManualUrls.NeuralAmp = "manuals/devices/audio/neural-amp";
24
25
  DeviceManualUrls.Waveshaper = "manuals/devices/audio/waveshaper";
26
+ DeviceManualUrls.Werkstatt = "manuals/devices/audio/werkstatt";
25
27
  // Instruments
28
+ DeviceManualUrls.Apparat = "manuals/devices/instruments/apparat";
26
29
  DeviceManualUrls.Tape = "manuals/devices/instruments/tape";
27
30
  DeviceManualUrls.Nano = "manuals/devices/instruments/nano";
28
31
  DeviceManualUrls.Playfield = "manuals/devices/instruments/playfield";
@@ -3,7 +3,8 @@ import { Address } from "@opendaw/lib-box";
3
3
  import { LiveStreamReceiver } from "@opendaw/lib-fusion";
4
4
  export declare class NoteStreamReceiver implements Terminable {
5
5
  #private;
6
- constructor(receiver: LiveStreamReceiver, address: Address);
6
+ constructor(receiver: LiveStreamReceiver, address?: Address);
7
+ bind(receiver: LiveStreamReceiver, address: Address): Terminable;
7
8
  isNoteOn(note: byte): boolean;
8
9
  isAnyNoteOn(): boolean;
9
10
  subscribe(observer: Observer<this>): Subscription;
@@ -1 +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"}
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;;gBAOrC,QAAQ,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,OAAO;IAQ3D,IAAI,CAAC,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU;IAQhE,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;CAYpB"}
@@ -9,28 +9,40 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
9
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
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
- var _NoteStreamReceiver_terminator, _NoteStreamReceiver_receiver, _NoteStreamReceiver_address, _NoteStreamReceiver_bits, _NoteStreamReceiver_notifier;
13
- import { Bits, Notifier, Terminator } from "@opendaw/lib-std";
12
+ var _NoteStreamReceiver_instances, _NoteStreamReceiver_terminator, _NoteStreamReceiver_bits, _NoteStreamReceiver_notifier, _NoteStreamReceiver_binding, _NoteStreamReceiver_subscribe;
13
+ import { Bits, Notifier, Terminable, Terminator } from "@opendaw/lib-std";
14
14
  export class NoteStreamReceiver {
15
15
  constructor(receiver, address) {
16
+ _NoteStreamReceiver_instances.add(this);
16
17
  _NoteStreamReceiver_terminator.set(this, new Terminator());
17
- _NoteStreamReceiver_receiver.set(this, void 0);
18
- _NoteStreamReceiver_address.set(this, void 0);
19
18
  _NoteStreamReceiver_bits.set(this, void 0);
20
19
  _NoteStreamReceiver_notifier.set(this, void 0);
21
- __classPrivateFieldSet(this, _NoteStreamReceiver_receiver, receiver, "f");
22
- __classPrivateFieldSet(this, _NoteStreamReceiver_address, address, "f");
20
+ _NoteStreamReceiver_binding.set(this, Terminable.Empty);
23
21
  __classPrivateFieldSet(this, _NoteStreamReceiver_bits, new Bits(128), "f");
24
22
  __classPrivateFieldSet(this, _NoteStreamReceiver_notifier, new Notifier(), "f");
25
- __classPrivateFieldGet(this, _NoteStreamReceiver_terminator, "f").own(__classPrivateFieldGet(this, _NoteStreamReceiver_receiver, "f").subscribeIntegers(__classPrivateFieldGet(this, _NoteStreamReceiver_address, "f"), (array) => {
26
- if (__classPrivateFieldGet(this, _NoteStreamReceiver_bits, "f").replace(array.buffer)) {
27
- __classPrivateFieldGet(this, _NoteStreamReceiver_notifier, "f").notify(this);
28
- }
29
- }));
23
+ if (address !== undefined) {
24
+ __classPrivateFieldSet(this, _NoteStreamReceiver_binding, __classPrivateFieldGet(this, _NoteStreamReceiver_instances, "m", _NoteStreamReceiver_subscribe).call(this, receiver, address), "f");
25
+ }
26
+ }
27
+ bind(receiver, address) {
28
+ __classPrivateFieldGet(this, _NoteStreamReceiver_binding, "f").terminate();
29
+ __classPrivateFieldGet(this, _NoteStreamReceiver_bits, "f").clear();
30
+ __classPrivateFieldSet(this, _NoteStreamReceiver_binding, __classPrivateFieldGet(this, _NoteStreamReceiver_instances, "m", _NoteStreamReceiver_subscribe).call(this, receiver, address), "f");
31
+ __classPrivateFieldGet(this, _NoteStreamReceiver_notifier, "f").notify(this);
32
+ return __classPrivateFieldGet(this, _NoteStreamReceiver_binding, "f");
30
33
  }
31
34
  isNoteOn(note) { return __classPrivateFieldGet(this, _NoteStreamReceiver_bits, "f").getBit(note); }
32
35
  isAnyNoteOn() { return __classPrivateFieldGet(this, _NoteStreamReceiver_bits, "f").nonEmpty(); }
33
36
  subscribe(observer) { return __classPrivateFieldGet(this, _NoteStreamReceiver_notifier, "f").subscribe(observer); }
34
- terminate() { __classPrivateFieldGet(this, _NoteStreamReceiver_terminator, "f").terminate(); }
37
+ terminate() {
38
+ __classPrivateFieldGet(this, _NoteStreamReceiver_binding, "f").terminate();
39
+ __classPrivateFieldGet(this, _NoteStreamReceiver_terminator, "f").terminate();
40
+ }
35
41
  }
36
- _NoteStreamReceiver_terminator = new WeakMap(), _NoteStreamReceiver_receiver = new WeakMap(), _NoteStreamReceiver_address = new WeakMap(), _NoteStreamReceiver_bits = new WeakMap(), _NoteStreamReceiver_notifier = new WeakMap();
42
+ _NoteStreamReceiver_terminator = new WeakMap(), _NoteStreamReceiver_bits = new WeakMap(), _NoteStreamReceiver_notifier = new WeakMap(), _NoteStreamReceiver_binding = new WeakMap(), _NoteStreamReceiver_instances = new WeakSet(), _NoteStreamReceiver_subscribe = function _NoteStreamReceiver_subscribe(receiver, address) {
43
+ return receiver.subscribeIntegers(address, (array) => {
44
+ if (__classPrivateFieldGet(this, _NoteStreamReceiver_bits, "f").replace(array.buffer)) {
45
+ __classPrivateFieldGet(this, _NoteStreamReceiver_notifier, "f").notify(this);
46
+ }
47
+ });
48
+ };
@@ -8,7 +8,7 @@ export declare class ParameterAdapterSet implements Terminable {
8
8
  terminate(): void;
9
9
  parameters(): ReadonlyArray<AutomatableParameterFieldAdapter>;
10
10
  parameterAt(address: Address): AutomatableParameterFieldAdapter;
11
- createParameter<T extends PrimitiveValues>(field: PrimitiveField<T, PointerTypes>, valueMapping: ValueMapping<T>, stringMapping: StringMapping<T>, name: string, anchor?: unitValue): AutomatableParameterFieldAdapter<T>;
11
+ createParameter<T extends PrimitiveValues>(field: PrimitiveField<T, PointerTypes>, valueMapping: ValueMapping<T>, stringMapping: StringMapping<T>, name: string, anchor?: unitValue, resetValue?: T): AutomatableParameterFieldAdapter<T>;
12
12
  removeParameter<T extends PrimitiveValues>(address: Address): AutomatableParameterFieldAdapter<T>;
13
13
  }
14
14
  //# sourceMappingURL=ParameterAdapterSet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ParameterAdapterSet.d.ts","sourceRoot":"","sources":["../src/ParameterAdapterSet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAA;AACvF,OAAO,EAAoB,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAC,MAAM,kBAAkB,CAAA;AACtG,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,OAAO,EAAE,OAAO,GAAG,gCAAgC;IAK/D,eAAe,CAAC,CAAC,SAAS,eAAe,EAAE,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;IAQnG,eAAe,CAAC,CAAC,SAAS,eAAe,EAAE,OAAO,EAAE,OAAO,GAAG,gCAAgC,CAAC,CAAC,CAAC;CAGpG"}
1
+ {"version":3,"file":"ParameterAdapterSet.d.ts","sourceRoot":"","sources":["../src/ParameterAdapterSet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAA;AACvF,OAAO,EAAoB,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAC,MAAM,kBAAkB,CAAA;AACtG,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,OAAO,EAAE,OAAO,GAAG,gCAAgC;IAK/D,eAAe,CAAC,CAAC,SAAS,eAAe,EAAE,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,EAClB,UAAU,CAAC,EAAE,CAAC,GAAG,gCAAgC,CAAC,CAAC,CAAC;IAQ/F,eAAe,CAAC,CAAC,SAAS,eAAe,EAAE,OAAO,EAAE,OAAO,GAAG,gCAAgC,CAAC,CAAC,CAAC;CAGpG"}
@@ -28,8 +28,8 @@ export class ParameterAdapterSet {
28
28
  parameterAt(address) {
29
29
  return __classPrivateFieldGet(this, _ParameterAdapterSet_parameters, "f").getOrThrow(address, () => new Error(`No ParameterAdapter found at [${address.toString()}]`));
30
30
  }
31
- createParameter(field, valueMapping, stringMapping, name, anchor) {
32
- const adapter = new AutomatableParameterFieldAdapter(__classPrivateFieldGet(this, _ParameterAdapterSet_context, "f"), field, valueMapping, stringMapping, name, anchor);
31
+ createParameter(field, valueMapping, stringMapping, name, anchor, resetValue) {
32
+ const adapter = new AutomatableParameterFieldAdapter(__classPrivateFieldGet(this, _ParameterAdapterSet_context, "f"), field, valueMapping, stringMapping, name, anchor, resetValue);
33
33
  const added = __classPrivateFieldGet(this, _ParameterAdapterSet_parameters, "f").add(adapter);
34
34
  assert(added, `Could not add adapter for ${field}`);
35
35
  return adapter;
@@ -1,6 +1,8 @@
1
1
  import { Observer, Option, Subscription, Terminable, unitValue } from "@opendaw/lib-std";
2
2
  import { Address } from "@opendaw/lib-box";
3
3
  import { AutomatableParameterFieldAdapter } from "./AutomatableParameterFieldAdapter";
4
+ import { AudioUnitTracks } from "./audio-unit/AudioUnitTracks";
5
+ export type AutomationMode = "read" | "touch" | "latch";
4
6
  export type ParameterWriteEvent = {
5
7
  adapter: AutomatableParameterFieldAdapter;
6
8
  previousUnitValue: unitValue;
@@ -11,6 +13,14 @@ export declare class ParameterFieldAdapters {
11
13
  register(adapter: AutomatableParameterFieldAdapter): Terminable;
12
14
  get(address: Address): AutomatableParameterFieldAdapter;
13
15
  opt(address: Address): Option<AutomatableParameterFieldAdapter>;
16
+ registerTracks(address: Address, tracks: AudioUnitTracks): Terminable;
17
+ getTracks(address: Address): Option<AudioUnitTracks>;
18
+ setMode(address: Address, mode: AutomationMode): void;
19
+ getMode(address: Address): AutomationMode;
20
+ touchStart(address: Address): void;
21
+ touchEnd(address: Address): void;
22
+ isTouched(address: Address): boolean;
23
+ subscribeTouchEnd(observer: Observer<Address>): Subscription;
14
24
  subscribeWrites(observer: Observer<ParameterWriteEvent>): Subscription;
15
25
  notifyWrite(adapter: AutomatableParameterFieldAdapter, previousUnitValue: unitValue): void;
16
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ParameterFieldAdapters.d.ts","sourceRoot":"","sources":["../src/ParameterFieldAdapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,QAAQ,EAAE,MAAM,EAAa,YAAY,EAAE,UAAU,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAA;AAC3G,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAC,gCAAgC,EAAC,MAAM,oCAAoC,CAAA;AAEnF,MAAM,MAAM,mBAAmB,GAAG;IAC9B,OAAO,EAAE,gCAAgC,CAAA;IACzC,iBAAiB,EAAE,SAAS,CAAA;CAC/B,CAAA;AAED,qBAAa,sBAAsB;;;IAS/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;IAE/D,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,YAAY;IAItE,WAAW,CAAC,OAAO,EAAE,gCAAgC,EAAE,iBAAiB,EAAE,SAAS,GAAG,IAAI;CAG7F"}
1
+ {"version":3,"file":"ParameterFieldAdapters.d.ts","sourceRoot":"","sources":["../src/ParameterFieldAdapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,QAAQ,EAAE,MAAM,EAAa,YAAY,EAAE,UAAU,EAAE,SAAS,EAAC,MAAM,kBAAkB,CAAA;AAC3G,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAC,gCAAgC,EAAC,MAAM,oCAAoC,CAAA;AACnF,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAA;AAE5D,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAA;AAEvD,MAAM,MAAM,mBAAmB,GAAG;IAC9B,OAAO,EAAE,gCAAgC,CAAA;IACzC,iBAAiB,EAAE,SAAS,CAAA;CAC/B,CAAA;AAED,qBAAa,sBAAsB;;;IAiB/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;IAE/D,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,GAAG,UAAU;IAMrE,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC;IAIpD,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI;IACrD,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,cAAc;IAEzC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIhC,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IACpC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,YAAY;IAE5D,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,YAAY;IAItE,WAAW,CAAC,OAAO,EAAE,gCAAgC,EAAE,iBAAiB,EAAE,SAAS,GAAG,IAAI;CAG7F"}
@@ -9,15 +9,23 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
9
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
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
- var _ParameterFieldAdapters_set, _ParameterFieldAdapters_writeNotifier;
13
- import { Notifier } from "@opendaw/lib-std";
12
+ var _ParameterFieldAdapters_set, _ParameterFieldAdapters_writeNotifier, _ParameterFieldAdapters_tracksMap, _ParameterFieldAdapters_touchedSet, _ParameterFieldAdapters_touchEndNotifier, _ParameterFieldAdapters_modeMap;
13
+ import { Notifier, Option } from "@opendaw/lib-std";
14
14
  import { Address } from "@opendaw/lib-box";
15
15
  export class ParameterFieldAdapters {
16
16
  constructor() {
17
17
  _ParameterFieldAdapters_set.set(this, void 0);
18
18
  _ParameterFieldAdapters_writeNotifier.set(this, void 0);
19
+ _ParameterFieldAdapters_tracksMap.set(this, void 0);
20
+ _ParameterFieldAdapters_touchedSet.set(this, void 0);
21
+ _ParameterFieldAdapters_touchEndNotifier.set(this, void 0);
22
+ _ParameterFieldAdapters_modeMap.set(this, void 0);
19
23
  __classPrivateFieldSet(this, _ParameterFieldAdapters_set, Address.newSet(adapter => adapter.field.address), "f");
20
24
  __classPrivateFieldSet(this, _ParameterFieldAdapters_writeNotifier, new Notifier(), "f");
25
+ __classPrivateFieldSet(this, _ParameterFieldAdapters_tracksMap, new Map(), "f");
26
+ __classPrivateFieldSet(this, _ParameterFieldAdapters_touchedSet, new Set(), "f");
27
+ __classPrivateFieldSet(this, _ParameterFieldAdapters_touchEndNotifier, new Notifier(), "f");
28
+ __classPrivateFieldSet(this, _ParameterFieldAdapters_modeMap, new Map(), "f");
21
29
  }
22
30
  register(adapter) {
23
31
  __classPrivateFieldGet(this, _ParameterFieldAdapters_set, "f").add(adapter);
@@ -25,6 +33,25 @@ export class ParameterFieldAdapters {
25
33
  }
26
34
  get(address) { return __classPrivateFieldGet(this, _ParameterFieldAdapters_set, "f").get(address); }
27
35
  opt(address) { return __classPrivateFieldGet(this, _ParameterFieldAdapters_set, "f").opt(address); }
36
+ registerTracks(address, tracks) {
37
+ const key = address.toString();
38
+ __classPrivateFieldGet(this, _ParameterFieldAdapters_tracksMap, "f").set(key, tracks);
39
+ return { terminate: () => __classPrivateFieldGet(this, _ParameterFieldAdapters_tracksMap, "f").delete(key) };
40
+ }
41
+ getTracks(address) {
42
+ return Option.wrap(__classPrivateFieldGet(this, _ParameterFieldAdapters_tracksMap, "f").get(address.toString()));
43
+ }
44
+ setMode(address, mode) { __classPrivateFieldGet(this, _ParameterFieldAdapters_modeMap, "f").set(address.toString(), mode); }
45
+ getMode(address) { return __classPrivateFieldGet(this, _ParameterFieldAdapters_modeMap, "f").get(address.toString()) ?? "read"; }
46
+ touchStart(address) { __classPrivateFieldGet(this, _ParameterFieldAdapters_touchedSet, "f").add(address.toString()); }
47
+ touchEnd(address) {
48
+ const key = address.toString();
49
+ if (__classPrivateFieldGet(this, _ParameterFieldAdapters_touchedSet, "f").delete(key)) {
50
+ __classPrivateFieldGet(this, _ParameterFieldAdapters_touchEndNotifier, "f").notify(address);
51
+ }
52
+ }
53
+ isTouched(address) { return __classPrivateFieldGet(this, _ParameterFieldAdapters_touchedSet, "f").has(address.toString()); }
54
+ subscribeTouchEnd(observer) { return __classPrivateFieldGet(this, _ParameterFieldAdapters_touchEndNotifier, "f").subscribe(observer); }
28
55
  subscribeWrites(observer) {
29
56
  return __classPrivateFieldGet(this, _ParameterFieldAdapters_writeNotifier, "f").subscribe(observer);
30
57
  }
@@ -32,4 +59,4 @@ export class ParameterFieldAdapters {
32
59
  __classPrivateFieldGet(this, _ParameterFieldAdapters_writeNotifier, "f").notify({ adapter, previousUnitValue });
33
60
  }
34
61
  }
35
- _ParameterFieldAdapters_set = new WeakMap(), _ParameterFieldAdapters_writeNotifier = new WeakMap();
62
+ _ParameterFieldAdapters_set = new WeakMap(), _ParameterFieldAdapters_writeNotifier = new WeakMap(), _ParameterFieldAdapters_tracksMap = new WeakMap(), _ParameterFieldAdapters_touchedSet = new WeakMap(), _ParameterFieldAdapters_touchEndNotifier = new WeakMap(), _ParameterFieldAdapters_modeMap = new WeakMap();
@@ -0,0 +1,23 @@
1
+ import { Editing } from "@opendaw/lib-std";
2
+ import { BoxGraph, Field, StringField } from "@opendaw/lib-box";
3
+ import { Pointers } from "@opendaw/studio-enums";
4
+ import { DeviceBox } from "./DeviceBox";
5
+ export declare namespace ScriptCompiler {
6
+ interface ScriptDeviceBox extends DeviceBox {
7
+ readonly graph: BoxGraph;
8
+ readonly code: StringField;
9
+ readonly parameters: Field<Pointers.Parameter>;
10
+ readonly samples: Field<Pointers.Sample>;
11
+ }
12
+ type Config = {
13
+ readonly headerTag: string;
14
+ readonly registryName: string;
15
+ readonly functionName: string;
16
+ };
17
+ const create: (config: Config) => {
18
+ stripHeader: (source: string) => string;
19
+ load: (audioContext: BaseAudioContext, deviceBox: ScriptDeviceBox) => Promise<void>;
20
+ compile: (audioContext: BaseAudioContext, editing: Editing, deviceBox: ScriptDeviceBox, source: string, append?: boolean) => Promise<void>;
21
+ };
22
+ }
23
+ //# sourceMappingURL=ScriptCompiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScriptCompiler.d.ts","sourceRoot":"","sources":["../src/ScriptCompiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,OAAO,EAAkB,MAAM,kBAAkB,CAAA;AACvE,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAG9C,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAA;AAmIrC,yBAAiB,cAAc,CAAC;IAC5B,UAAiB,eAAgB,SAAQ,SAAS;QAC9C,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;QACxB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;QAC1B,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QAC9C,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;KAC3C;IAED,KAAY,MAAM,GAAG;QACjB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;QAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;QAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;KAChC,CAAA;IAEM,MAAM,MAAM,GAAI,QAAQ,MAAM;8BAMP,MAAM,KAAG,MAAM;6BACV,gBAAgB,aAAa,eAAe,KAAG,OAAO,CAAC,IAAI,CAAC;gCAYzD,gBAAgB,WACrB,OAAO,aACL,eAAe,UAClB,MAAM,WACN,OAAO,KAAW,OAAO,CAAC,IAAI,CAAC;KA2B9D,CAAA;CACJ"}