@opendaw/studio-adapters 0.0.100 → 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.
@@ -7,7 +7,7 @@ import { AudioUnitTracks } from "./audio-unit/AudioUnitTracks";
7
7
  import { BoxAdaptersContext } from "./BoxAdaptersContext";
8
8
  export declare class AutomatableParameterFieldAdapter<T extends PrimitiveValues = any> implements Parameter<T>, Terminable {
9
9
  #private;
10
- 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);
11
11
  registerMidiControl(): Terminable;
12
12
  get field(): PrimitiveField<T, Pointers.Automation>;
13
13
  get valueMapping(): ValueMapping<T>;
@@ -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,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;;gBAkBlG,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,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"}
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_name, _AutomatableParameterFieldAdapter_anchor, _AutomatableParameterFieldAdapter_terminator, _AutomatableParameterFieldAdapter_valueChangeNotifier, _AutomatableParameterFieldAdapter_controlSource, _AutomatableParameterFieldAdapter_valueMapping, _AutomatableParameterFieldAdapter_stringMapping, _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,11 +20,12 @@ 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
26
  _AutomatableParameterFieldAdapter_name.set(this, void 0);
27
27
  _AutomatableParameterFieldAdapter_anchor.set(this, void 0);
28
+ _AutomatableParameterFieldAdapter_resetValue.set(this, void 0);
28
29
  _AutomatableParameterFieldAdapter_terminator.set(this, new Terminator());
29
30
  _AutomatableParameterFieldAdapter_valueChangeNotifier.set(this, void 0);
30
31
  _AutomatableParameterFieldAdapter_controlSource.set(this, void 0);
@@ -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");
@@ -174,14 +176,14 @@ export class AutomatableParameterFieldAdapter {
174
176
  console.debug(`Unknown text input: '${result.value}'`);
175
177
  }
176
178
  }
177
- 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)); }
178
180
  terminate() {
179
181
  __classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_automationHandle, "f").ifSome(handle => handle.terminate());
180
182
  __classPrivateFieldSet(this, _AutomatableParameterFieldAdapter_automationHandle, Option.None, "f");
181
183
  __classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_terminator, "f").terminate();
182
184
  }
183
185
  }
184
- _AutomatableParameterFieldAdapter_context = new WeakMap(), _AutomatableParameterFieldAdapter_field = new WeakMap(), _AutomatableParameterFieldAdapter_name = new WeakMap(), _AutomatableParameterFieldAdapter_anchor = 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();
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();
185
187
  const mapPointerToControlSource = (pointer) => {
186
188
  switch (pointer) {
187
189
  case Pointers.Automation:
@@ -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,12 +1,10 @@
1
- import { Editing, UUID } from "@opendaw/lib-std";
1
+ import { Editing } from "@opendaw/lib-std";
2
2
  import { BoxGraph, Field, StringField } from "@opendaw/lib-box";
3
3
  import { Pointers } from "@opendaw/studio-enums";
4
+ import { DeviceBox } from "./DeviceBox";
4
5
  export declare namespace ScriptCompiler {
5
- interface DeviceBox {
6
+ interface ScriptDeviceBox extends DeviceBox {
6
7
  readonly graph: BoxGraph;
7
- readonly address: {
8
- readonly uuid: UUID.Bytes;
9
- };
10
8
  readonly code: StringField;
11
9
  readonly parameters: Field<Pointers.Parameter>;
12
10
  readonly samples: Field<Pointers.Sample>;
@@ -18,8 +16,8 @@ export declare namespace ScriptCompiler {
18
16
  };
19
17
  const create: (config: Config) => {
20
18
  stripHeader: (source: string) => string;
21
- load: (audioContext: BaseAudioContext, deviceBox: DeviceBox) => Promise<void>;
22
- compile: (audioContext: BaseAudioContext, editing: Editing, deviceBox: DeviceBox, source: string, append?: boolean) => Promise<void>;
19
+ load: (audioContext: BaseAudioContext, deviceBox: ScriptDeviceBox) => Promise<void>;
20
+ compile: (audioContext: BaseAudioContext, editing: Editing, deviceBox: ScriptDeviceBox, source: string, append?: boolean) => Promise<void>;
23
21
  };
24
22
  }
25
23
  //# sourceMappingURL=ScriptCompiler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScriptCompiler.d.ts","sourceRoot":"","sources":["../src/ScriptCompiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,OAAO,EAAa,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACvE,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAqI9C,yBAAiB,cAAc,CAAC;IAC5B,UAAiB,SAAS;QACtB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;QACxB,QAAQ,CAAC,OAAO,EAAE;YAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAA;SAAE,CAAA;QAC/C,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,SAAS,KAAG,OAAO,CAAC,IAAI,CAAC;gCAYnD,gBAAgB,WACrB,OAAO,aACL,SAAS,UACZ,MAAM,WACN,OAAO,KAAW,OAAO,CAAC,IAAI,CAAC;KAyB9D,CAAA;CACJ"}
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"}
@@ -1,6 +1,6 @@
1
1
  import { asInstanceOf, isDefined, UUID } from "@opendaw/lib-std";
2
2
  import { WerkstattParameterBox, WerkstattSampleBox } from "@opendaw/studio-boxes";
3
- import { ScriptParamDeclaration } from "./ScriptParamDeclaration";
3
+ import { ScriptDeclaration } from "./ScriptDeclaration";
4
4
  const COMPILER_VERSION = 1;
5
5
  const createHeaderPattern = (tag) => new RegExp(`^// @${tag} (\\w+) (\\d+) (\\d+)\n`);
6
6
  const parseHeader = (source, pattern) => {
@@ -42,7 +42,7 @@ const reconcileParameters = (deviceBox, declared, order) => {
42
42
  const unifiedIndex = order.get(declaration.label) ?? 0;
43
43
  const existing = existingByLabel.get(declaration.label);
44
44
  const previous = previousDeclarations.get(declaration.label);
45
- const declarationChanged = !isDefined(previous) || !ScriptParamDeclaration.isEqual(previous, declaration);
45
+ const declarationChanged = !isDefined(previous) || !ScriptDeclaration.isEqual(previous, declaration);
46
46
  if (isDefined(existing) && declarationChanged) {
47
47
  existing.delete();
48
48
  existingByLabel.delete(declaration.label);
@@ -147,7 +147,7 @@ export var ScriptCompiler;
147
147
  if (update === 0) {
148
148
  return;
149
149
  }
150
- const params = ScriptParamDeclaration.parseParams(userCode);
150
+ const params = ScriptDeclaration.parseParams(userCode);
151
151
  const declMap = new Map();
152
152
  for (const declaration of params) {
153
153
  declMap.set(declaration.label, declaration);
@@ -165,13 +165,15 @@ export var ScriptCompiler;
165
165
  const newUpdate = maxUpdate + 1;
166
166
  maxUpdate = newUpdate;
167
167
  const uuid = UUID.toString(deviceBox.address.uuid);
168
- const params = ScriptParamDeclaration.parseParams(userCode);
169
- const samples = ScriptParamDeclaration.parseSamples(userCode);
170
- const order = ScriptParamDeclaration.parseDeclarationOrder(userCode);
168
+ const params = ScriptDeclaration.parseParams(userCode);
169
+ const samples = ScriptDeclaration.parseSamples(userCode);
170
+ const order = ScriptDeclaration.parseDeclarationOrder(userCode);
171
171
  const wrappedCode = wrapCode(config, uuid, newUpdate, userCode);
172
172
  validateCode(wrappedCode);
173
+ const label = ScriptDeclaration.parseLabel(userCode);
173
174
  const modifier = () => {
174
175
  deviceBox.code.setValue(createHeader(newUpdate) + userCode);
176
+ label.ifSome(name => deviceBox.label.setValue(name));
175
177
  reconcileParameters(deviceBox, params, order);
176
178
  reconcileSamples(deviceBox, samples, order);
177
179
  };
@@ -1,4 +1,4 @@
1
- import { Observable, StringMapping, Terminable, ValueMapping } from "@opendaw/lib-std";
1
+ import { Observable, Option, StringMapping, Terminable, ValueMapping } from "@opendaw/lib-std";
2
2
  import { Field, StringField } from "@opendaw/lib-box";
3
3
  import { Pointers } from "@opendaw/studio-enums";
4
4
  import { ParameterAdapterSet } from "./ParameterAdapterSet";
@@ -14,8 +14,9 @@ export interface ParamDeclaration {
14
14
  export interface SampleDeclaration {
15
15
  readonly label: string;
16
16
  }
17
- export declare namespace ScriptParamDeclaration {
17
+ export declare namespace ScriptDeclaration {
18
18
  export const isEqual: (a: ParamDeclaration, b: ParamDeclaration) => boolean;
19
+ export const parseLabel: (code: string) => Option<string>;
19
20
  export const parseParams: (code: string) => ReadonlyArray<ParamDeclaration>;
20
21
  export const parseSamples: (code: string) => ReadonlyArray<SampleDeclaration>;
21
22
  export const parseDeclarationOrder: (code: string) => Map<string, number>;
@@ -33,4 +34,4 @@ export declare namespace ScriptParamDeclaration {
33
34
  export const subscribeScriptParams: (parametric: ParameterAdapterSet, codeField: StringField, parametersField: Field<Pointers.Parameter>) => ScriptParamsBinding;
34
35
  export {};
35
36
  }
36
- //# sourceMappingURL=ScriptParamDeclaration.d.ts.map
37
+ //# sourceMappingURL=ScriptDeclaration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScriptDeclaration.d.ts","sourceRoot":"","sources":["../src/ScriptDeclaration.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAC,MAAM,kBAAkB,CAAA;AACzI,OAAO,EAAC,KAAK,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAE9C,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAA;AAEzD,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAA;AAEzE,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACzB;AAuFD,yBAAiB,iBAAiB,CAAC;IAC/B,MAAM,CAAC,MAAM,OAAO,MAJU,gBAAgB,KAAK,gBAAgB,KAAG,OAI1B,CAAA;IAE5C,MAAM,CAAC,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAAM,CAAC,MAAM,CAMtD,CAAA;IAED,MAAM,CAAC,MAAM,WAAW,GAAI,MAAM,MAAM,KAAG,aAAa,CAAC,gBAAgB,CAQxE,CAAA;IAED,MAAM,CAAC,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,aAAa,CAAC,iBAAiB,CAe1E,CAAA;IAED,MAAM,CAAC,MAAM,qBAAqB,GAAI,MAAM,MAAM,KAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAYtE,CAAA;IAED,MAAM,CAAC,MAAM,mBAAmB,GAAI,aAAa,gBAAgB,KAAG,YAAY,CAAC,MAAM,CAatF,CAAA;IAED,MAAM,CAAC,MAAM,oBAAoB,GAAI,aAAa,gBAAgB,KAAG,aAAa,CAAC,MAAM,CAaxF,CAAA;IAED,KAAK,YAAY,GAAG;QAChB,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;QAClC,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;KACvC,CAAA;IAED,MAAM,CAAC,MAAM,oBAAoB,GAAI,aAAa,gBAAgB,KAAG,YAGnE,CAAA;IAEF,MAAM,MAAM,mBAAmB,GAAG;QAC9B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;QAC/B,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;KACzC,CAAA;IAED,MAAM,CAAC,MAAM,qBAAqB,GAAI,YAAY,mBAAmB,EAC/B,WAAW,WAAW,EACtB,iBAAiB,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAG,mBA0ClF,CAAA;;CACJ"}
@@ -1,5 +1,6 @@
1
- import { asInstanceOf, isDefined, Notifier, StringMapping, Terminable, ValueMapping } from "@opendaw/lib-std";
1
+ import { asInstanceOf, isDefined, Notifier, Option, StringMapping, Terminable, ValueMapping } from "@opendaw/lib-std";
2
2
  import { WerkstattParameterBox } from "@opendaw/studio-boxes";
3
+ const LABEL_LINE = /^\/\/ @label .+$/m;
3
4
  const PARAM_LINE = /^\/\/ @param .+$/gm;
4
5
  const SAMPLE_LINE = /^\/\/ @sample .+$/gm;
5
6
  const DECLARATION_LINE = /^\/\/ @(?:param|sample) \S+/gm;
@@ -77,10 +78,21 @@ const parseSingleParam = (line) => {
77
78
  };
78
79
  const declarationEquals = (a, b) => a.mapping === b.mapping && a.min === b.min && a.max === b.max && a.unit === b.unit;
79
80
  const declarationFullEquals = (a, b) => declarationEquals(a, b) && Math.abs(a.defaultValue - b.defaultValue) < 1e-6;
80
- export var ScriptParamDeclaration;
81
- (function (ScriptParamDeclaration) {
82
- ScriptParamDeclaration.isEqual = declarationFullEquals;
83
- ScriptParamDeclaration.parseParams = (code) => {
81
+ export var ScriptDeclaration;
82
+ (function (ScriptDeclaration) {
83
+ ScriptDeclaration.isEqual = declarationFullEquals;
84
+ ScriptDeclaration.parseLabel = (code) => {
85
+ const match = LABEL_LINE.exec(code);
86
+ if (match === null) {
87
+ return Option.None;
88
+ }
89
+ const label = match[0].replace(/^\/\/ @label\s+/, "").trim();
90
+ if (label.length === 0) {
91
+ throw new Error("Malformed @label: expected: // @label <name>");
92
+ }
93
+ return Option.wrap(label);
94
+ };
95
+ ScriptDeclaration.parseParams = (code) => {
84
96
  const params = [];
85
97
  let match;
86
98
  PARAM_LINE.lastIndex = 0;
@@ -89,7 +101,7 @@ export var ScriptParamDeclaration;
89
101
  }
90
102
  return params;
91
103
  };
92
- ScriptParamDeclaration.parseSamples = (code) => {
104
+ ScriptDeclaration.parseSamples = (code) => {
93
105
  const samples = [];
94
106
  let match;
95
107
  SAMPLE_LINE.lastIndex = 0;
@@ -105,7 +117,7 @@ export var ScriptParamDeclaration;
105
117
  }
106
118
  return samples;
107
119
  };
108
- ScriptParamDeclaration.parseDeclarationOrder = (code) => {
120
+ ScriptDeclaration.parseDeclarationOrder = (code) => {
109
121
  const order = new Map();
110
122
  let match;
111
123
  DECLARATION_LINE.lastIndex = 0;
@@ -118,7 +130,7 @@ export var ScriptParamDeclaration;
118
130
  }
119
131
  return order;
120
132
  };
121
- ScriptParamDeclaration.resolveValueMapping = (declaration) => {
133
+ ScriptDeclaration.resolveValueMapping = (declaration) => {
122
134
  switch (declaration.mapping) {
123
135
  case "unipolar":
124
136
  return ValueMapping.unipolar();
@@ -132,7 +144,7 @@ export var ScriptParamDeclaration;
132
144
  return ValueMapping.linearInteger(0, 1);
133
145
  }
134
146
  };
135
- ScriptParamDeclaration.resolveStringMapping = (declaration) => {
147
+ ScriptDeclaration.resolveStringMapping = (declaration) => {
136
148
  switch (declaration.mapping) {
137
149
  case "unipolar":
138
150
  return StringMapping.percent();
@@ -146,26 +158,26 @@ export var ScriptParamDeclaration;
146
158
  return BoolStringMapping;
147
159
  }
148
160
  };
149
- ScriptParamDeclaration.resolveParamMappings = (declaration) => ({
150
- valueMapping: ScriptParamDeclaration.resolveValueMapping(declaration),
151
- stringMapping: ScriptParamDeclaration.resolveStringMapping(declaration)
161
+ ScriptDeclaration.resolveParamMappings = (declaration) => ({
162
+ valueMapping: ScriptDeclaration.resolveValueMapping(declaration),
163
+ stringMapping: ScriptDeclaration.resolveStringMapping(declaration)
152
164
  });
153
- ScriptParamDeclaration.subscribeScriptParams = (parametric, codeField, parametersField) => {
165
+ ScriptDeclaration.subscribeScriptParams = (parametric, codeField, parametersField) => {
154
166
  const cachedDeclarations = new Map();
155
167
  const codeChangedNotifier = new Notifier();
156
168
  const terminable = Terminable.many(parametersField.pointerHub.catchupAndSubscribe({
157
169
  onAdded: (({ box: parameterBox }) => {
158
170
  const paramBox = asInstanceOf(parameterBox, WerkstattParameterBox);
159
171
  const label = paramBox.label.getValue();
160
- const declarations = ScriptParamDeclaration.parseParams(codeField.getValue());
172
+ const declarations = ScriptDeclaration.parseParams(codeField.getValue());
161
173
  const declaration = declarations.find(decl => decl.label === label);
162
174
  const { valueMapping, stringMapping } = isDefined(declaration)
163
- ? ScriptParamDeclaration.resolveParamMappings(declaration)
175
+ ? ScriptDeclaration.resolveParamMappings(declaration)
164
176
  : {
165
177
  valueMapping: ValueMapping.unipolar(),
166
178
  stringMapping: StringMapping.percent({ fractionDigits: 1 })
167
179
  };
168
- parametric.createParameter(paramBox.value, valueMapping, stringMapping, label);
180
+ parametric.createParameter(paramBox.value, valueMapping, stringMapping, label, undefined, paramBox.defaultValue.getValue());
169
181
  if (isDefined(declaration)) {
170
182
  cachedDeclarations.set(label, declaration);
171
183
  }
@@ -176,7 +188,7 @@ export var ScriptParamDeclaration;
176
188
  parametric.removeParameter(paramBox.value.address);
177
189
  })
178
190
  }), codeField.subscribe(() => {
179
- const declarations = ScriptParamDeclaration.parseParams(codeField.getValue());
191
+ const declarations = ScriptDeclaration.parseParams(codeField.getValue());
180
192
  for (const adapter of parametric.parameters()) {
181
193
  const newDeclaration = declarations.find(decl => decl.label === adapter.name);
182
194
  if (!isDefined(newDeclaration)) {
@@ -186,7 +198,7 @@ export var ScriptParamDeclaration;
186
198
  if (isDefined(oldDeclaration) && declarationEquals(oldDeclaration, newDeclaration)) {
187
199
  continue;
188
200
  }
189
- const { valueMapping, stringMapping } = ScriptParamDeclaration.resolveParamMappings(newDeclaration);
201
+ const { valueMapping, stringMapping } = ScriptDeclaration.resolveParamMappings(newDeclaration);
190
202
  adapter.updateMappings(valueMapping, stringMapping);
191
203
  cachedDeclarations.set(adapter.name, newDeclaration);
192
204
  }
@@ -194,4 +206,4 @@ export var ScriptParamDeclaration;
194
206
  }), codeChangedNotifier);
195
207
  return { terminable, codeChanged: codeChangedNotifier };
196
208
  };
197
- })(ScriptParamDeclaration || (ScriptParamDeclaration = {}));
209
+ })(ScriptDeclaration || (ScriptDeclaration = {}));
@@ -14,7 +14,7 @@ import { Option, Terminator } from "@opendaw/lib-std";
14
14
  import { Devices } from "../../DeviceAdapter";
15
15
  import { DeviceManualUrls } from "../../DeviceManualUrls";
16
16
  import { ParameterAdapterSet } from "../../ParameterAdapterSet";
17
- import { ScriptParamDeclaration } from "../../ScriptParamDeclaration";
17
+ import { ScriptDeclaration } from "../../ScriptDeclaration";
18
18
  export class WerkstattDeviceBoxAdapter {
19
19
  constructor(context, box) {
20
20
  _WerkstattDeviceBoxAdapter_terminator.set(this, new Terminator());
@@ -28,7 +28,7 @@ export class WerkstattDeviceBoxAdapter {
28
28
  __classPrivateFieldSet(this, _WerkstattDeviceBoxAdapter_context, context, "f");
29
29
  __classPrivateFieldSet(this, _WerkstattDeviceBoxAdapter_box, box, "f");
30
30
  __classPrivateFieldSet(this, _WerkstattDeviceBoxAdapter_parametric, __classPrivateFieldGet(this, _WerkstattDeviceBoxAdapter_terminator, "f").own(new ParameterAdapterSet(__classPrivateFieldGet(this, _WerkstattDeviceBoxAdapter_context, "f"))), "f");
31
- const { terminable, codeChanged } = ScriptParamDeclaration.subscribeScriptParams(__classPrivateFieldGet(this, _WerkstattDeviceBoxAdapter_parametric, "f"), box.code, box.parameters);
31
+ const { terminable, codeChanged } = ScriptDeclaration.subscribeScriptParams(__classPrivateFieldGet(this, _WerkstattDeviceBoxAdapter_parametric, "f"), box.code, box.parameters);
32
32
  __classPrivateFieldGet(this, _WerkstattDeviceBoxAdapter_terminator, "f").own(terminable);
33
33
  __classPrivateFieldSet(this, _WerkstattDeviceBoxAdapter_codeChanged, codeChanged, "f");
34
34
  }
@@ -15,7 +15,7 @@ import { Devices } from "../../DeviceAdapter";
15
15
  import { DeviceManualUrls } from "../../DeviceManualUrls";
16
16
  import { ParameterAdapterSet } from "../../ParameterAdapterSet";
17
17
  import { TrackType } from "../../timeline/TrackType";
18
- import { ScriptParamDeclaration } from "../../ScriptParamDeclaration";
18
+ import { ScriptDeclaration } from "../../ScriptDeclaration";
19
19
  export class ApparatDeviceBoxAdapter {
20
20
  constructor(context, box) {
21
21
  _ApparatDeviceBoxAdapter_terminator.set(this, new Terminator());
@@ -29,7 +29,7 @@ export class ApparatDeviceBoxAdapter {
29
29
  __classPrivateFieldSet(this, _ApparatDeviceBoxAdapter_context, context, "f");
30
30
  __classPrivateFieldSet(this, _ApparatDeviceBoxAdapter_box, box, "f");
31
31
  __classPrivateFieldSet(this, _ApparatDeviceBoxAdapter_parametric, __classPrivateFieldGet(this, _ApparatDeviceBoxAdapter_terminator, "f").own(new ParameterAdapterSet(__classPrivateFieldGet(this, _ApparatDeviceBoxAdapter_context, "f"))), "f");
32
- const { terminable, codeChanged } = ScriptParamDeclaration.subscribeScriptParams(__classPrivateFieldGet(this, _ApparatDeviceBoxAdapter_parametric, "f"), box.code, box.parameters);
32
+ const { terminable, codeChanged } = ScriptDeclaration.subscribeScriptParams(__classPrivateFieldGet(this, _ApparatDeviceBoxAdapter_parametric, "f"), box.code, box.parameters);
33
33
  __classPrivateFieldGet(this, _ApparatDeviceBoxAdapter_terminator, "f").own(terminable);
34
34
  __classPrivateFieldSet(this, _ApparatDeviceBoxAdapter_codeChanged, codeChanged, "f");
35
35
  }
@@ -14,7 +14,7 @@ import { Terminator } from "@opendaw/lib-std";
14
14
  import { Devices } from "../../DeviceAdapter";
15
15
  import { DeviceManualUrls } from "../../DeviceManualUrls";
16
16
  import { ParameterAdapterSet } from "../../ParameterAdapterSet";
17
- import { ScriptParamDeclaration } from "../../ScriptParamDeclaration";
17
+ import { ScriptDeclaration } from "../../ScriptDeclaration";
18
18
  export class SpielwerkDeviceBoxAdapter {
19
19
  constructor(context, box) {
20
20
  _SpielwerkDeviceBoxAdapter_terminator.set(this, new Terminator());
@@ -28,7 +28,7 @@ export class SpielwerkDeviceBoxAdapter {
28
28
  __classPrivateFieldSet(this, _SpielwerkDeviceBoxAdapter_context, context, "f");
29
29
  __classPrivateFieldSet(this, _SpielwerkDeviceBoxAdapter_box, box, "f");
30
30
  __classPrivateFieldSet(this, _SpielwerkDeviceBoxAdapter_parametric, __classPrivateFieldGet(this, _SpielwerkDeviceBoxAdapter_terminator, "f").own(new ParameterAdapterSet(__classPrivateFieldGet(this, _SpielwerkDeviceBoxAdapter_context, "f"))), "f");
31
- const { terminable, codeChanged } = ScriptParamDeclaration.subscribeScriptParams(__classPrivateFieldGet(this, _SpielwerkDeviceBoxAdapter_parametric, "f"), box.code, box.parameters);
31
+ const { terminable, codeChanged } = ScriptDeclaration.subscribeScriptParams(__classPrivateFieldGet(this, _SpielwerkDeviceBoxAdapter_parametric, "f"), box.code, box.parameters);
32
32
  __classPrivateFieldGet(this, _SpielwerkDeviceBoxAdapter_terminator, "f").own(terminable);
33
33
  __classPrivateFieldSet(this, _SpielwerkDeviceBoxAdapter_codeChanged, codeChanged, "f");
34
34
  }
package/dist/index.d.ts CHANGED
@@ -31,7 +31,7 @@ export * from "./RecordingProcessorOptions";
31
31
  export * from "./RingBuffer";
32
32
  export * from "./RootBoxAdapter";
33
33
  export * from "./ScriptCompiler";
34
- export * from "./ScriptParamDeclaration";
34
+ export * from "./ScriptDeclaration";
35
35
  export * from "./TempoRange";
36
36
  export * from "./UnionAdapterTypes";
37
37
  export * from "./Validator";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -33,7 +33,7 @@ export * from "./RecordingProcessorOptions";
33
33
  export * from "./RingBuffer";
34
34
  export * from "./RootBoxAdapter";
35
35
  export * from "./ScriptCompiler";
36
- export * from "./ScriptParamDeclaration";
36
+ export * from "./ScriptDeclaration";
37
37
  export * from "./TempoRange";
38
38
  export * from "./UnionAdapterTypes";
39
39
  export * from "./Validator";
@@ -81,7 +81,7 @@ export var PresetDecoder;
81
81
  console.debug("ReplaceAudioUnit with preset...");
82
82
  const skeleton = ProjectSkeleton.empty({
83
83
  createDefaultUser: false,
84
- createOutputCompressor: false
84
+ createOutputMaximizer: false
85
85
  });
86
86
  const sourceBoxGraph = skeleton.boxGraph;
87
87
  const targetBoxGraph = targetAudioUnitBox.graph;
@@ -8,7 +8,7 @@ export var PresetEncoder;
8
8
  const header = ByteArrayOutput.create();
9
9
  header.writeInt(PresetHeader.MAGIC_HEADER_OPEN);
10
10
  header.writeInt(PresetHeader.FORMAT_VERSION);
11
- const preset = ProjectSkeleton.empty({ createOutputCompressor: false, createDefaultUser: false });
11
+ const preset = ProjectSkeleton.empty({ createOutputMaximizer: false, createDefaultUser: false });
12
12
  const { boxGraph, mandatoryBoxes: { rootBox, primaryAudioBusBox } } = preset;
13
13
  const audioUnitBoxes = [audioUnitBox];
14
14
  const excludeBox = (box) => TransferUtils.shouldExclude(box) || TransferUtils.excludeTimelinePredicate(box);
@@ -7,7 +7,7 @@ export type ProjectSkeleton = {
7
7
  };
8
8
  export declare namespace ProjectSkeleton {
9
9
  const empty: (options: {
10
- createOutputCompressor: boolean;
10
+ createOutputMaximizer: boolean;
11
11
  createDefaultUser: boolean;
12
12
  }) => ProjectSkeleton;
13
13
  const encode: (boxGraph: BoxGraph) => ArrayBufferLike;
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectSkeleton.d.ts","sourceRoot":"","sources":["../../src/project/ProjectSkeleton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAGH,KAAK,EAQR,MAAM,uBAAuB,CAAA;AAa9B,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAA;AAE7D,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,cAAc,EAAE,qBAAqB,CAAA;CACxC,CAAA;AAED,yBAAiB,eAAe,CAAC;IAItB,MAAM,KAAK,GAAI,SAAS;QAC3B,sBAAsB,EAAE,OAAO,CAAC;QAChC,iBAAiB,EAAE,OAAO,CAAA;KAC7B,KAAG,eAuDH,CAAA;IAEM,MAAM,MAAM,GAAI,UAAU,QAAQ,oBAQxC,CAAA;IAEM,MAAM,MAAM,GAAI,aAAa,eAAe,KAAG,eAYrD,CAAA;IAEM,MAAM,kBAAkB,GAAI,UAAU,QAAQ,KAAG,qBAiBvD,CAAA;CACJ"}
1
+ {"version":3,"file":"ProjectSkeleton.d.ts","sourceRoot":"","sources":["../../src/project/ProjectSkeleton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAGH,KAAK,EAQR,MAAM,uBAAuB,CAAA;AAa9B,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAA;AAE7D,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,cAAc,EAAE,qBAAqB,CAAA;CACxC,CAAA;AAED,yBAAiB,eAAe,CAAC;IAItB,MAAM,KAAK,GAAI,SAAS;QAC3B,qBAAqB,EAAE,OAAO,CAAC;QAC/B,iBAAiB,EAAE,OAAO,CAAA;KAC7B,KAAG,eAsDH,CAAA;IAEM,MAAM,MAAM,GAAI,UAAU,QAAQ,oBAQxC,CAAA;IAEM,MAAM,MAAM,GAAI,aAAa,eAAe,KAAG,eAYrD,CAAA;IAEM,MAAM,kBAAkB,GAAI,UAAU,QAAQ,KAAG,qBAiBvD,CAAA;CACJ"}
@@ -1,5 +1,5 @@
1
1
  import { BoxGraph } from "@opendaw/lib-box";
2
- import { AudioBusBox, AudioUnitBox, BoxIO, CompressorDeviceBox, GrooveShuffleBox, RootBox, TimelineBox, UserInterfaceBox, ValueEventCollectionBox } from "@opendaw/studio-boxes";
2
+ import { AudioBusBox, AudioUnitBox, BoxIO, MaximizerDeviceBox, GrooveShuffleBox, RootBox, TimelineBox, UserInterfaceBox, ValueEventCollectionBox } from "@opendaw/studio-boxes";
3
3
  import { asInstanceOf, assert, ByteArrayInput, ByteArrayOutput, isDefined, Option, panic, UUID } from "@opendaw/lib-std";
4
4
  import { AudioUnitType, Colors, IconSymbol } from "@opendaw/studio-enums";
5
5
  export var ProjectSkeleton;
@@ -30,13 +30,12 @@ export var ProjectSkeleton;
30
30
  box.output.refer(rootBox.outputDevice);
31
31
  box.index.setValue(0);
32
32
  });
33
- if (options.createOutputCompressor) {
34
- CompressorDeviceBox.create(boxGraph, UUID.generate(), box => {
35
- box.label.setValue("Master Compressor");
33
+ if (options.createOutputMaximizer) {
34
+ MaximizerDeviceBox.create(boxGraph, UUID.generate(), box => {
35
+ box.label.setValue("Master Maximizer");
36
36
  box.index.setValue(0);
37
37
  box.host.refer(primaryAudioOutputUnit.audioEffects);
38
- box.threshold.setValue(0);
39
- box.ratio.setValue(24);
38
+ box.lookahead.setValue(false);
40
39
  });
41
40
  }
42
41
  const timelineBox = TimelineBox.create(boxGraph, UUID.generate());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opendaw/studio-adapters",
3
- "version": "0.0.100",
3
+ "version": "0.0.101",
4
4
  "license": "LGPL-3.0-or-later",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -23,18 +23,18 @@
23
23
  "test": "echo \"No tests to run\""
24
24
  },
25
25
  "dependencies": {
26
- "@opendaw/lib-box": "^0.0.79",
27
- "@opendaw/lib-dsp": "^0.0.78",
28
- "@opendaw/lib-fusion": "^0.0.86",
29
- "@opendaw/lib-runtime": "^0.0.74",
30
- "@opendaw/lib-std": "^0.0.73",
31
- "@opendaw/studio-boxes": "^0.0.84",
32
- "@opendaw/studio-enums": "^0.0.69",
26
+ "@opendaw/lib-box": "^0.0.80",
27
+ "@opendaw/lib-dsp": "^0.0.79",
28
+ "@opendaw/lib-fusion": "^0.0.87",
29
+ "@opendaw/lib-runtime": "^0.0.75",
30
+ "@opendaw/lib-std": "^0.0.74",
31
+ "@opendaw/studio-boxes": "^0.0.85",
32
+ "@opendaw/studio-enums": "^0.0.70",
33
33
  "soundfont2": "^0.5.0"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@opendaw/eslint-config": "^0.0.27",
37
37
  "@opendaw/typescript-config": "^0.0.29"
38
38
  },
39
- "gitHead": "0de255fcdacefee9ab663ceeb0d4424a278c5dc4"
39
+ "gitHead": "7ccb6855109bc13274fd83ec5dc4ea2302d83b8e"
40
40
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"ScriptParamDeclaration.d.ts","sourceRoot":"","sources":["../src/ScriptParamDeclaration.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAC,MAAM,kBAAkB,CAAA;AACjI,OAAO,EAAC,KAAK,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAE9C,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAA;AAEzD,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAA;AAEzE,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACzB;AAsFD,yBAAiB,sBAAsB,CAAC;IACpC,MAAM,CAAC,MAAM,OAAO,MAJU,gBAAgB,KAAK,gBAAgB,KAAG,OAI1B,CAAA;IAE5C,MAAM,CAAC,MAAM,WAAW,GAAI,MAAM,MAAM,KAAG,aAAa,CAAC,gBAAgB,CAQxE,CAAA;IAED,MAAM,CAAC,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,aAAa,CAAC,iBAAiB,CAe1E,CAAA;IAED,MAAM,CAAC,MAAM,qBAAqB,GAAI,MAAM,MAAM,KAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAYtE,CAAA;IAED,MAAM,CAAC,MAAM,mBAAmB,GAAI,aAAa,gBAAgB,KAAG,YAAY,CAAC,MAAM,CAatF,CAAA;IAED,MAAM,CAAC,MAAM,oBAAoB,GAAI,aAAa,gBAAgB,KAAG,aAAa,CAAC,MAAM,CAaxF,CAAA;IAED,KAAK,YAAY,GAAG;QAChB,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;QAClC,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;KACvC,CAAA;IAED,MAAM,CAAC,MAAM,oBAAoB,GAAI,aAAa,gBAAgB,KAAG,YAGnE,CAAA;IAEF,MAAM,MAAM,mBAAmB,GAAG;QAC9B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;QAC/B,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;KACzC,CAAA;IAED,MAAM,CAAC,MAAM,qBAAqB,GAAI,YAAY,mBAAmB,EAC/B,WAAW,WAAW,EACtB,iBAAiB,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAG,mBAyClF,CAAA;;CACJ"}