@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
@@ -0,0 +1,57 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _ApparatDeviceBoxAdapter_terminator, _ApparatDeviceBoxAdapter_context, _ApparatDeviceBoxAdapter_box, _ApparatDeviceBoxAdapter_parametric, _ApparatDeviceBoxAdapter_codeChanged;
13
+ import { Option, Terminator } from "@opendaw/lib-std";
14
+ import { Devices } from "../../DeviceAdapter";
15
+ import { DeviceManualUrls } from "../../DeviceManualUrls";
16
+ import { ParameterAdapterSet } from "../../ParameterAdapterSet";
17
+ import { TrackType } from "../../timeline/TrackType";
18
+ import { ScriptDeclaration } from "../../ScriptDeclaration";
19
+ export class ApparatDeviceBoxAdapter {
20
+ constructor(context, box) {
21
+ _ApparatDeviceBoxAdapter_terminator.set(this, new Terminator());
22
+ this.type = "instrument";
23
+ this.accepts = "midi";
24
+ this.manualUrl = DeviceManualUrls.Apparat;
25
+ _ApparatDeviceBoxAdapter_context.set(this, void 0);
26
+ _ApparatDeviceBoxAdapter_box.set(this, void 0);
27
+ _ApparatDeviceBoxAdapter_parametric.set(this, void 0);
28
+ _ApparatDeviceBoxAdapter_codeChanged.set(this, void 0);
29
+ __classPrivateFieldSet(this, _ApparatDeviceBoxAdapter_context, context, "f");
30
+ __classPrivateFieldSet(this, _ApparatDeviceBoxAdapter_box, box, "f");
31
+ __classPrivateFieldSet(this, _ApparatDeviceBoxAdapter_parametric, __classPrivateFieldGet(this, _ApparatDeviceBoxAdapter_terminator, "f").own(new ParameterAdapterSet(__classPrivateFieldGet(this, _ApparatDeviceBoxAdapter_context, "f"))), "f");
32
+ const { terminable, codeChanged } = ScriptDeclaration.subscribeScriptParams(__classPrivateFieldGet(this, _ApparatDeviceBoxAdapter_parametric, "f"), box.code, box.parameters);
33
+ __classPrivateFieldGet(this, _ApparatDeviceBoxAdapter_terminator, "f").own(terminable);
34
+ __classPrivateFieldSet(this, _ApparatDeviceBoxAdapter_codeChanged, codeChanged, "f");
35
+ }
36
+ get box() { return __classPrivateFieldGet(this, _ApparatDeviceBoxAdapter_box, "f"); }
37
+ get uuid() { return __classPrivateFieldGet(this, _ApparatDeviceBoxAdapter_box, "f").address.uuid; }
38
+ get address() { return __classPrivateFieldGet(this, _ApparatDeviceBoxAdapter_box, "f").address; }
39
+ get labelField() { return __classPrivateFieldGet(this, _ApparatDeviceBoxAdapter_box, "f").label; }
40
+ get iconField() { return __classPrivateFieldGet(this, _ApparatDeviceBoxAdapter_box, "f").icon; }
41
+ get defaultTrackType() { return TrackType.Notes; }
42
+ get enabledField() { return __classPrivateFieldGet(this, _ApparatDeviceBoxAdapter_box, "f").enabled; }
43
+ get minimizedField() { return __classPrivateFieldGet(this, _ApparatDeviceBoxAdapter_box, "f").minimized; }
44
+ get acceptsMidiEvents() { return true; }
45
+ get parameters() { return __classPrivateFieldGet(this, _ApparatDeviceBoxAdapter_parametric, "f"); }
46
+ get codeChanged() { return __classPrivateFieldGet(this, _ApparatDeviceBoxAdapter_codeChanged, "f"); }
47
+ deviceHost() {
48
+ return __classPrivateFieldGet(this, _ApparatDeviceBoxAdapter_context, "f").boxAdapters
49
+ .adapterFor(__classPrivateFieldGet(this, _ApparatDeviceBoxAdapter_box, "f").host.targetVertex.unwrap("no device-host").box, Devices.isHost);
50
+ }
51
+ audioUnitBoxAdapter() { return this.deviceHost().audioUnitBoxAdapter(); }
52
+ *labeledAudioOutputs() {
53
+ yield { address: this.address, label: this.labelField.getValue(), children: () => Option.None };
54
+ }
55
+ terminate() { __classPrivateFieldGet(this, _ApparatDeviceBoxAdapter_terminator, "f").terminate(); }
56
+ }
57
+ _ApparatDeviceBoxAdapter_terminator = new WeakMap(), _ApparatDeviceBoxAdapter_context = new WeakMap(), _ApparatDeviceBoxAdapter_box = new WeakMap(), _ApparatDeviceBoxAdapter_parametric = new WeakMap(), _ApparatDeviceBoxAdapter_codeChanged = new WeakMap();
@@ -0,0 +1,29 @@
1
+ import { Observable, UUID } from "@opendaw/lib-std";
2
+ import { Address, BooleanField, Int32Field, PointerField, StringField } from "@opendaw/lib-box";
3
+ import { SpielwerkDeviceBox } from "@opendaw/studio-boxes";
4
+ import { Pointers } from "@opendaw/studio-enums";
5
+ import { DeviceHost, MidiEffectDeviceAdapter } from "../../DeviceAdapter";
6
+ import { BoxAdaptersContext } from "../../BoxAdaptersContext";
7
+ import { AudioUnitBoxAdapter } from "../../audio-unit/AudioUnitBoxAdapter";
8
+ import { ParameterAdapterSet } from "../../ParameterAdapterSet";
9
+ export declare class SpielwerkDeviceBoxAdapter implements MidiEffectDeviceAdapter {
10
+ #private;
11
+ readonly type = "midi-effect";
12
+ readonly accepts = "midi";
13
+ readonly manualUrl = "manuals/devices/midi/spielwerk";
14
+ constructor(context: BoxAdaptersContext, box: SpielwerkDeviceBox);
15
+ get box(): SpielwerkDeviceBox;
16
+ get uuid(): UUID.Bytes;
17
+ get address(): Address;
18
+ get indexField(): Int32Field;
19
+ get labelField(): StringField;
20
+ get enabledField(): BooleanField;
21
+ get minimizedField(): BooleanField;
22
+ get host(): PointerField<Pointers.MIDIEffectHost>;
23
+ get parameters(): ParameterAdapterSet;
24
+ get codeChanged(): Observable<void>;
25
+ deviceHost(): DeviceHost;
26
+ audioUnitBoxAdapter(): AudioUnitBoxAdapter;
27
+ terminate(): void;
28
+ }
29
+ //# sourceMappingURL=SpielwerkDeviceBoxAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpielwerkDeviceBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/midi-effects/SpielwerkDeviceBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAsB,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrE,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAC7F,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,UAAU,EAAW,uBAAuB,EAAC,MAAM,qBAAqB,CAAA;AAChF,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAE3D,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAA;AACxE,OAAO,EAAC,mBAAmB,EAAC,MAAM,2BAA2B,CAAA;AAG7D,qBAAa,yBAA0B,YAAW,uBAAuB;;IAGrE,QAAQ,CAAC,IAAI,iBAAgB;IAC7B,QAAQ,CAAC,OAAO,UAAS;IACzB,QAAQ,CAAC,SAAS,oCAA6B;gBAOnC,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,kBAAkB;IAShE,IAAI,GAAG,IAAI,kBAAkB,CAAmB;IAChD,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,UAAU,IAAI,UAAU,CAAyB;IACrD,IAAI,UAAU,IAAI,WAAW,CAAyB;IACtD,IAAI,YAAY,IAAI,YAAY,CAA2B;IAC3D,IAAI,cAAc,IAAI,YAAY,CAA6B;IAC/D,IAAI,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAwB;IACzE,IAAI,UAAU,IAAI,mBAAmB,CAA0B;IAC/D,IAAI,WAAW,IAAI,UAAU,CAAC,IAAI,CAAC,CAA2B;IAE9D,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAE1C,SAAS,IAAI,IAAI;CACpB"}
@@ -0,0 +1,52 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _SpielwerkDeviceBoxAdapter_terminator, _SpielwerkDeviceBoxAdapter_context, _SpielwerkDeviceBoxAdapter_box, _SpielwerkDeviceBoxAdapter_parametric, _SpielwerkDeviceBoxAdapter_codeChanged;
13
+ import { Terminator } from "@opendaw/lib-std";
14
+ import { Devices } from "../../DeviceAdapter";
15
+ import { DeviceManualUrls } from "../../DeviceManualUrls";
16
+ import { ParameterAdapterSet } from "../../ParameterAdapterSet";
17
+ import { ScriptDeclaration } from "../../ScriptDeclaration";
18
+ export class SpielwerkDeviceBoxAdapter {
19
+ constructor(context, box) {
20
+ _SpielwerkDeviceBoxAdapter_terminator.set(this, new Terminator());
21
+ this.type = "midi-effect";
22
+ this.accepts = "midi";
23
+ this.manualUrl = DeviceManualUrls.Spielwerk;
24
+ _SpielwerkDeviceBoxAdapter_context.set(this, void 0);
25
+ _SpielwerkDeviceBoxAdapter_box.set(this, void 0);
26
+ _SpielwerkDeviceBoxAdapter_parametric.set(this, void 0);
27
+ _SpielwerkDeviceBoxAdapter_codeChanged.set(this, void 0);
28
+ __classPrivateFieldSet(this, _SpielwerkDeviceBoxAdapter_context, context, "f");
29
+ __classPrivateFieldSet(this, _SpielwerkDeviceBoxAdapter_box, box, "f");
30
+ __classPrivateFieldSet(this, _SpielwerkDeviceBoxAdapter_parametric, __classPrivateFieldGet(this, _SpielwerkDeviceBoxAdapter_terminator, "f").own(new ParameterAdapterSet(__classPrivateFieldGet(this, _SpielwerkDeviceBoxAdapter_context, "f"))), "f");
31
+ const { terminable, codeChanged } = ScriptDeclaration.subscribeScriptParams(__classPrivateFieldGet(this, _SpielwerkDeviceBoxAdapter_parametric, "f"), box.code, box.parameters);
32
+ __classPrivateFieldGet(this, _SpielwerkDeviceBoxAdapter_terminator, "f").own(terminable);
33
+ __classPrivateFieldSet(this, _SpielwerkDeviceBoxAdapter_codeChanged, codeChanged, "f");
34
+ }
35
+ get box() { return __classPrivateFieldGet(this, _SpielwerkDeviceBoxAdapter_box, "f"); }
36
+ get uuid() { return __classPrivateFieldGet(this, _SpielwerkDeviceBoxAdapter_box, "f").address.uuid; }
37
+ get address() { return __classPrivateFieldGet(this, _SpielwerkDeviceBoxAdapter_box, "f").address; }
38
+ get indexField() { return __classPrivateFieldGet(this, _SpielwerkDeviceBoxAdapter_box, "f").index; }
39
+ get labelField() { return __classPrivateFieldGet(this, _SpielwerkDeviceBoxAdapter_box, "f").label; }
40
+ get enabledField() { return __classPrivateFieldGet(this, _SpielwerkDeviceBoxAdapter_box, "f").enabled; }
41
+ get minimizedField() { return __classPrivateFieldGet(this, _SpielwerkDeviceBoxAdapter_box, "f").minimized; }
42
+ get host() { return __classPrivateFieldGet(this, _SpielwerkDeviceBoxAdapter_box, "f").host; }
43
+ get parameters() { return __classPrivateFieldGet(this, _SpielwerkDeviceBoxAdapter_parametric, "f"); }
44
+ get codeChanged() { return __classPrivateFieldGet(this, _SpielwerkDeviceBoxAdapter_codeChanged, "f"); }
45
+ deviceHost() {
46
+ return __classPrivateFieldGet(this, _SpielwerkDeviceBoxAdapter_context, "f").boxAdapters
47
+ .adapterFor(__classPrivateFieldGet(this, _SpielwerkDeviceBoxAdapter_box, "f").host.targetVertex.unwrap("no device-host").box, Devices.isHost);
48
+ }
49
+ audioUnitBoxAdapter() { return this.deviceHost().audioUnitBoxAdapter(); }
50
+ terminate() { __classPrivateFieldGet(this, _SpielwerkDeviceBoxAdapter_terminator, "f").terminate(); }
51
+ }
52
+ _SpielwerkDeviceBoxAdapter_terminator = new WeakMap(), _SpielwerkDeviceBoxAdapter_context = new WeakMap(), _SpielwerkDeviceBoxAdapter_box = new WeakMap(), _SpielwerkDeviceBoxAdapter_parametric = new WeakMap(), _SpielwerkDeviceBoxAdapter_codeChanged = new WeakMap();
@@ -2,6 +2,7 @@ import { IconSymbol } from "@opendaw/studio-enums";
2
2
  export interface DeviceFactory {
3
3
  readonly defaultName: string;
4
4
  readonly defaultIcon: IconSymbol;
5
+ readonly briefDescription: string;
5
6
  readonly description: string;
6
7
  readonly manualPage: string;
7
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceFactory.d.ts","sourceRoot":"","sources":["../../src/factories/DeviceFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAA;AAEhD,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAA;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC9B"}
1
+ {"version":3,"file":"DeviceFactory.d.ts","sourceRoot":"","sources":["../../src/factories/DeviceFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAA;AAEhD,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAA;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC9B"}
@@ -1,3 +1,3 @@
1
- import { MIDIOutputDeviceBox, NanoDeviceBox, PlayfieldDeviceBox, SoundfontDeviceBox, TapeDeviceBox, VaporisateurDeviceBox } from "@opendaw/studio-boxes";
2
- export type InstrumentBox = TapeDeviceBox | VaporisateurDeviceBox | NanoDeviceBox | PlayfieldDeviceBox | SoundfontDeviceBox | MIDIOutputDeviceBox;
1
+ import { ApparatDeviceBox, MIDIOutputDeviceBox, NanoDeviceBox, PlayfieldDeviceBox, SoundfontDeviceBox, TapeDeviceBox, VaporisateurDeviceBox } from "@opendaw/studio-boxes";
2
+ export type InstrumentBox = ApparatDeviceBox | TapeDeviceBox | VaporisateurDeviceBox | NanoDeviceBox | PlayfieldDeviceBox | SoundfontDeviceBox | MIDIOutputDeviceBox;
3
3
  //# sourceMappingURL=InstrumentBox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InstrumentBox.d.ts","sourceRoot":"","sources":["../../src/factories/InstrumentBox.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,qBAAqB,EACxB,MAAM,uBAAuB,CAAA;AAE9B,MAAM,MAAM,aAAa,GACnB,aAAa,GACb,qBAAqB,GACrB,aAAa,GACb,kBAAkB,GAClB,kBAAkB,GAClB,mBAAmB,CAAA"}
1
+ {"version":3,"file":"InstrumentBox.d.ts","sourceRoot":"","sources":["../../src/factories/InstrumentBox.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,qBAAqB,EACxB,MAAM,uBAAuB,CAAA;AAE9B,MAAM,MAAM,aAAa,GACnB,gBAAgB,GAChB,aAAa,GACb,qBAAqB,GACrB,aAAa,GACb,kBAAkB,GAClB,kBAAkB,GAClB,mBAAmB,CAAA"}
@@ -1,4 +1,4 @@
1
- import { AudioFileBox, MIDIOutputDeviceBox, NanoDeviceBox, PlayfieldDeviceBox, SoundfontDeviceBox, TapeDeviceBox, VaporisateurDeviceBox } from "@opendaw/studio-boxes";
1
+ import { ApparatDeviceBox, AudioFileBox, MIDIOutputDeviceBox, NanoDeviceBox, PlayfieldDeviceBox, SoundfontDeviceBox, TapeDeviceBox, VaporisateurDeviceBox } from "@opendaw/studio-boxes";
2
2
  import { byte, UUID } from "@opendaw/lib-std";
3
3
  import { InstrumentFactory } from "./InstrumentFactory";
4
4
  export declare namespace InstrumentFactories {
@@ -18,16 +18,18 @@ export declare namespace InstrumentFactories {
18
18
  uuid: UUID.String;
19
19
  name: string;
20
20
  }, SoundfontDeviceBox>;
21
+ const Apparat: InstrumentFactory<void, ApparatDeviceBox>;
21
22
  const Named: {
22
- Vaporisateur: InstrumentFactory<void, VaporisateurDeviceBox>;
23
- Playfield: InstrumentFactory<PlayfieldAttachment, PlayfieldDeviceBox>;
23
+ Apparat: InstrumentFactory<void, ApparatDeviceBox>;
24
+ MIDIOutput: InstrumentFactory<void, MIDIOutputDeviceBox>;
24
25
  Nano: InstrumentFactory<AudioFileBox, NanoDeviceBox>;
25
- Tape: InstrumentFactory<void, TapeDeviceBox>;
26
+ Playfield: InstrumentFactory<PlayfieldAttachment, PlayfieldDeviceBox>;
26
27
  Soundfont: InstrumentFactory<{
27
28
  uuid: UUID.String;
28
29
  name: string;
29
30
  }, SoundfontDeviceBox>;
30
- MIDIOutput: InstrumentFactory<void, MIDIOutputDeviceBox>;
31
+ Tape: InstrumentFactory<void, TapeDeviceBox>;
32
+ Vaporisateur: InstrumentFactory<void, VaporisateurDeviceBox>;
31
33
  };
32
34
  type Keys = keyof typeof Named;
33
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InstrumentFactories.d.ts","sourceRoot":"","sources":["../../src/factories/InstrumentFactories.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EAEZ,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAElB,kBAAkB,EAElB,aAAa,EACb,qBAAqB,EACxB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAC,IAAI,EAAa,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAKtD,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAA;AAGrD,yBAAiB,mBAAmB,CAAC;IAC1B,MAAM,IAAI,EAAE,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAoBvD,CAAA;IAEM,MAAM,IAAI,EAAE,iBAAiB,CAAC,YAAY,EAAE,aAAa,CA8B/D,CAAA;IAED,KAAY,mBAAmB,GAAG,aAAa,CAAC;QAC5C,IAAI,EAAE,IAAI,CAAA;QACV,IAAI,EAAE,IAAI,CAAC,KAAK,CAAA;QAChB,IAAI,EAAE,MAAM,CAAA;QACZ,iBAAiB,EAAE,MAAM,CAAA;QACzB,OAAO,EAAE,OAAO,CAAA;KACnB,CAAC,CAAA;IAEK,MAAM,SAAS,EAAE,iBAAiB,CAAC,mBAAmB,EAAE,kBAAkB,CA6BhF,CAAA;IAEM,MAAM,YAAY,EAAE,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,CA8BvE,CAAA;IAEM,MAAM,UAAU,EAAE,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,CAgBnE,CAAA;IAEM,MAAM,SAAS,EAAE,iBAAiB,CAAC;QAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,kBAAkB,CAsBhG,CAAA;IAEM,MAAM,KAAK;;;;;;kBAxBgC,IAAI,CAAC,MAAM;kBAAQ,MAAM;;;KAwBM,CAAA;IACjF,KAAY,IAAI,GAAG,MAAM,OAAO,KAAK,CAAA;CAYxC"}
1
+ {"version":3,"file":"InstrumentFactories.d.ts","sourceRoot":"","sources":["../../src/factories/InstrumentFactories.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAChB,YAAY,EAEZ,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAElB,kBAAkB,EAElB,aAAa,EACb,qBAAqB,EACxB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAC,IAAI,EAAa,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAKtD,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAA;AAGrD,yBAAiB,mBAAmB,CAAC;IAC1B,MAAM,IAAI,EAAE,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAqBvD,CAAA;IAEM,MAAM,IAAI,EAAE,iBAAiB,CAAC,YAAY,EAAE,aAAa,CA+B/D,CAAA;IAED,KAAY,mBAAmB,GAAG,aAAa,CAAC;QAC5C,IAAI,EAAE,IAAI,CAAA;QACV,IAAI,EAAE,IAAI,CAAC,KAAK,CAAA;QAChB,IAAI,EAAE,MAAM,CAAA;QACZ,iBAAiB,EAAE,MAAM,CAAA;QACzB,OAAO,EAAE,OAAO,CAAA;KACnB,CAAC,CAAA;IAEK,MAAM,SAAS,EAAE,iBAAiB,CAAC,mBAAmB,EAAE,kBAAkB,CA8BhF,CAAA;IAEM,MAAM,YAAY,EAAE,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,CA+BvE,CAAA;IAEM,MAAM,UAAU,EAAE,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,CAiBnE,CAAA;IAEM,MAAM,SAAS,EAAE,iBAAiB,CAAC;QAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,kBAAkB,CAuBhG,CAAA;IAEM,MAAM,OAAO,EAAE,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,CAiB7D,CAAA;IAEM,MAAM,KAAK;;;;;;kBA5CgC,IAAI,CAAC,MAAM;kBAAQ,MAAM;;;;KA4Ce,CAAA;IAC1F,KAAY,IAAI,GAAG,MAAM,OAAO,KAAK,CAAA;CAYxC"}
@@ -1,4 +1,4 @@
1
- import { AudioFileBox, MIDIOutputDeviceBox, NanoDeviceBox, PlayfieldDeviceBox, PlayfieldSampleBox, SoundfontDeviceBox, SoundfontFileBox, TapeDeviceBox, VaporisateurDeviceBox } from "@opendaw/studio-boxes";
1
+ import { ApparatDeviceBox, AudioFileBox, MIDIOutputDeviceBox, NanoDeviceBox, PlayfieldDeviceBox, PlayfieldSampleBox, SoundfontDeviceBox, SoundfontFileBox, TapeDeviceBox, VaporisateurDeviceBox } from "@opendaw/studio-boxes";
2
2
  import { isDefined, UUID } from "@opendaw/lib-std";
3
3
  import { ClassicWaveform } from "@opendaw/lib-dsp";
4
4
  import { IconSymbol, VoicingMode } from "@opendaw/studio-enums";
@@ -9,6 +9,7 @@ export var InstrumentFactories;
9
9
  InstrumentFactories.Tape = {
10
10
  defaultName: "Tape",
11
11
  defaultIcon: IconSymbol.Tape,
12
+ briefDescription: "Audio Player",
12
13
  description: "Plays audio regions & clips",
13
14
  manualPage: DeviceManualUrls.Tape,
14
15
  trackType: TrackType.Audio,
@@ -25,6 +26,7 @@ export var InstrumentFactories;
25
26
  InstrumentFactories.Nano = {
26
27
  defaultName: "Nano",
27
28
  defaultIcon: IconSymbol.NanoWave,
29
+ briefDescription: "Simple Sampler",
28
30
  description: "Simple sampler",
29
31
  manualPage: DeviceManualUrls.Nano,
30
32
  trackType: TrackType.Notes,
@@ -53,6 +55,7 @@ export var InstrumentFactories;
53
55
  InstrumentFactories.Playfield = {
54
56
  defaultName: "Playfield",
55
57
  defaultIcon: IconSymbol.Playfield,
58
+ briefDescription: "Drum Machine",
56
59
  description: "Drum computer",
57
60
  manualPage: DeviceManualUrls.Playfield,
58
61
  trackType: TrackType.Notes,
@@ -79,6 +82,7 @@ export var InstrumentFactories;
79
82
  InstrumentFactories.Vaporisateur = {
80
83
  defaultName: "Vaporisateur",
81
84
  defaultIcon: IconSymbol.Piano,
85
+ briefDescription: "Subtractive Synth",
82
86
  description: "Classic subtractive synthesizer",
83
87
  manualPage: DeviceManualUrls.Vaporisateur,
84
88
  trackType: TrackType.Notes,
@@ -105,6 +109,7 @@ export var InstrumentFactories;
105
109
  InstrumentFactories.MIDIOutput = {
106
110
  defaultName: "MIDIOutput",
107
111
  defaultIcon: IconSymbol.Midi,
112
+ briefDescription: "Send MIDI",
108
113
  description: "MIDI Output",
109
114
  manualPage: DeviceManualUrls.MIDIOutput,
110
115
  trackType: TrackType.Notes,
@@ -117,6 +122,7 @@ export var InstrumentFactories;
117
122
  InstrumentFactories.Soundfont = {
118
123
  defaultName: "Soundfont",
119
124
  defaultIcon: IconSymbol.SoundFont,
125
+ briefDescription: "Soundfont Player",
120
126
  description: "Soundfont Player",
121
127
  manualPage: DeviceManualUrls.Soundfont,
122
128
  trackType: TrackType.Notes,
@@ -133,7 +139,20 @@ export var InstrumentFactories;
133
139
  });
134
140
  }
135
141
  };
136
- InstrumentFactories.Named = { Vaporisateur: InstrumentFactories.Vaporisateur, Playfield: InstrumentFactories.Playfield, Nano: InstrumentFactories.Nano, Tape: InstrumentFactories.Tape, Soundfont: InstrumentFactories.Soundfont, MIDIOutput: InstrumentFactories.MIDIOutput };
142
+ InstrumentFactories.Apparat = {
143
+ defaultName: "Apparat",
144
+ defaultIcon: IconSymbol.Code,
145
+ briefDescription: "Scriptable Instrument",
146
+ description: "User-scripted instrument",
147
+ manualPage: DeviceManualUrls.Apparat,
148
+ trackType: TrackType.Notes,
149
+ create: (boxGraph, host, name, icon, _attachment) => ApparatDeviceBox.create(boxGraph, UUID.generate(), box => {
150
+ box.label.setValue(name);
151
+ box.icon.setValue(IconSymbol.toName(icon));
152
+ box.host.refer(host);
153
+ })
154
+ };
155
+ InstrumentFactories.Named = { Apparat: InstrumentFactories.Apparat, MIDIOutput: InstrumentFactories.MIDIOutput, Nano: InstrumentFactories.Nano, Playfield: InstrumentFactories.Playfield, Soundfont: InstrumentFactories.Soundfont, Tape: InstrumentFactories.Tape, Vaporisateur: InstrumentFactories.Vaporisateur };
137
156
  const useAudioFile = (boxGraph, fileUUID, name, duration) => boxGraph.findBox(fileUUID)
138
157
  .unwrapOrElse(() => AudioFileBox.create(boxGraph, fileUUID, box => {
139
158
  box.fileName.setValue(name);
package/dist/index.d.ts CHANGED
@@ -30,6 +30,8 @@ export * from "./PianoModeAdapter";
30
30
  export * from "./RecordingProcessorOptions";
31
31
  export * from "./RingBuffer";
32
32
  export * from "./RootBoxAdapter";
33
+ export * from "./ScriptCompiler";
34
+ export * from "./ScriptDeclaration";
33
35
  export * from "./TempoRange";
34
36
  export * from "./UnionAdapterTypes";
35
37
  export * from "./Validator";
@@ -63,6 +65,8 @@ export * from "./devices/audio-effects/StereoToolDeviceBoxAdapter";
63
65
  export * from "./devices/audio-effects/TidalDeviceBoxAdapter";
64
66
  export * from "./devices/audio-effects/UnknownAudioEffectDeviceBoxAdapter";
65
67
  export * from "./devices/audio-effects/WaveshaperDeviceBoxAdapter";
68
+ export * from "./devices/audio-effects/WerkstattDeviceBoxAdapter";
69
+ export * from "./devices/instruments/ApparatDeviceBoxAdapter";
66
70
  export * from "./devices/instruments/MIDIOutputDeviceBoxAdapter";
67
71
  export * from "./devices/instruments/NanoDeviceBoxAdapter";
68
72
  export * from "./devices/instruments/Playfield/Gate";
@@ -74,6 +78,7 @@ export * from "./devices/instruments/VaporisateurDeviceBoxAdapter";
74
78
  export * from "./devices/instruments/VaporisateurSettings";
75
79
  export * from "./devices/midi-effects/ArpeggioDeviceBoxAdapter";
76
80
  export * from "./devices/midi-effects/PitchDeviceBoxAdapter";
81
+ export * from "./devices/midi-effects/SpielwerkDeviceBoxAdapter";
77
82
  export * from "./devices/midi-effects/UnknownMidiEffectDeviceBoxAdapter";
78
83
  export * from "./devices/midi-effects/VelocityDeviceBoxAdapter";
79
84
  export * from "./devices/midi-effects/ZeitgeistDeviceBoxAdapter";
@@ -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":"AAGA,cAAc,oCAAoC,CAAA;AAClD,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA;AAC5B,cAAc,wBAAwB,CAAA;AACtC,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,WAAW,CAAA;AACzB,cAAc,6BAA6B,CAAA;AAC3C,cAAc,oBAAoB,CAAA;AAClC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,kCAAkC,CAAA;AAChD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,oCAAoC,CAAA;AAClD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qCAAqC,CAAA;AACnD,cAAc,uBAAuB,CAAA;AACrC,cAAc,oCAAoC,CAAA;AAClD,cAAc,0BAA0B,CAAA;AACxC,cAAc,mCAAmC,CAAA;AACjD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,oDAAoD,CAAA;AAClE,cAAc,iDAAiD,CAAA;AAC/D,cAAc,wDAAwD,CAAA;AACtE,cAAc,+CAA+C,CAAA;AAC7D,cAAc,8CAA8C,CAAA;AAC5D,cAAc,8CAA8C,CAAA;AAC5D,cAAc,mDAAmD,CAAA;AACjE,cAAc,iDAAiD,CAAA;AAC/D,cAAc,mDAAmD,CAAA;AACjE,cAAc,gDAAgD,CAAA;AAC9D,cAAc,gDAAgD,CAAA;AAC9D,cAAc,oDAAoD,CAAA;AAClE,cAAc,+CAA+C,CAAA;AAC7D,cAAc,4DAA4D,CAAA;AAC1E,cAAc,oDAAoD,CAAA;AAClE,cAAc,mDAAmD,CAAA;AACjE,cAAc,+CAA+C,CAAA;AAC7D,cAAc,kDAAkD,CAAA;AAChE,cAAc,4CAA4C,CAAA;AAC1D,cAAc,sCAAsC,CAAA;AACpD,cAAc,2DAA2D,CAAA;AACzE,cAAc,iDAAiD,CAAA;AAC/D,cAAc,iDAAiD,CAAA;AAC/D,cAAc,4CAA4C,CAAA;AAC1D,cAAc,oDAAoD,CAAA;AAClE,cAAc,4CAA4C,CAAA;AAC1D,cAAc,iDAAiD,CAAA;AAC/D,cAAc,8CAA8C,CAAA;AAC5D,cAAc,kDAAkD,CAAA;AAChE,cAAc,0DAA0D,CAAA;AACxE,cAAc,iDAAiD,CAAA;AAC/D,cAAc,kDAAkD,CAAA;AAChE,cAAc,uBAAuB,CAAA;AACrC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,kCAAkC,CAAA;AAChD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AACzC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mCAAmC,CAAA;AACjD,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,0BAA0B,CAAA;AACxC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,0BAA0B,CAAA;AACxC,cAAc,2BAA2B,CAAA;AACzC,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qCAAqC,CAAA;AACnD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,oCAAoC,CAAA;AAClD,cAAc,kCAAkC,CAAA;AAChD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,mCAAmC,CAAA;AACjD,cAAc,2BAA2B,CAAA;AACzC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0BAA0B,CAAA;AACxC,cAAc,qCAAqC,CAAA;AACnD,cAAc,kCAAkC,CAAA;AAChD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qCAAqC,CAAA;AACnD,cAAc,oCAAoC,CAAA;AAClD,cAAc,qCAAqC,CAAA;AACnD,cAAc,qDAAqD,CAAA;AACnE,cAAc,sDAAsD,CAAA;AACpE,cAAc,4CAA4C,CAAA;AAC1D,cAAc,sCAAsC,CAAA;AACpD,cAAc,uCAAuC,CAAA;AACrD,cAAc,uCAAuC,CAAA;AACrD,cAAc,yCAAyC,CAAA;AACvD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,wCAAwC,CAAA;AACtD,cAAc,yCAAyC,CAAA;AACvD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,UAAU,CAAA;AACxB,YAAY,EAAC,WAAW,EAAE,mBAAmB,EAAC,MAAM,qBAAqB,CAAA;AACzE,OAAO,EAAC,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAC,MAAM,qBAAqB,CAAA"}
package/dist/index.js CHANGED
@@ -32,6 +32,8 @@ export * from "./PianoModeAdapter";
32
32
  export * from "./RecordingProcessorOptions";
33
33
  export * from "./RingBuffer";
34
34
  export * from "./RootBoxAdapter";
35
+ export * from "./ScriptCompiler";
36
+ export * from "./ScriptDeclaration";
35
37
  export * from "./TempoRange";
36
38
  export * from "./UnionAdapterTypes";
37
39
  export * from "./Validator";
@@ -65,6 +67,8 @@ export * from "./devices/audio-effects/StereoToolDeviceBoxAdapter";
65
67
  export * from "./devices/audio-effects/TidalDeviceBoxAdapter";
66
68
  export * from "./devices/audio-effects/UnknownAudioEffectDeviceBoxAdapter";
67
69
  export * from "./devices/audio-effects/WaveshaperDeviceBoxAdapter";
70
+ export * from "./devices/audio-effects/WerkstattDeviceBoxAdapter";
71
+ export * from "./devices/instruments/ApparatDeviceBoxAdapter";
68
72
  export * from "./devices/instruments/MIDIOutputDeviceBoxAdapter";
69
73
  export * from "./devices/instruments/NanoDeviceBoxAdapter";
70
74
  export * from "./devices/instruments/Playfield/Gate";
@@ -76,6 +80,7 @@ export * from "./devices/instruments/VaporisateurDeviceBoxAdapter";
76
80
  export * from "./devices/instruments/VaporisateurSettings";
77
81
  export * from "./devices/midi-effects/ArpeggioDeviceBoxAdapter";
78
82
  export * from "./devices/midi-effects/PitchDeviceBoxAdapter";
83
+ export * from "./devices/midi-effects/SpielwerkDeviceBoxAdapter";
79
84
  export * from "./devices/midi-effects/UnknownMidiEffectDeviceBoxAdapter";
80
85
  export * from "./devices/midi-effects/VelocityDeviceBoxAdapter";
81
86
  export * from "./devices/midi-effects/ZeitgeistDeviceBoxAdapter";
@@ -15,6 +15,7 @@ export interface OfflineEngineRenderConfig {
15
15
  }
16
16
  export interface OfflineEngineProtocol {
17
17
  initialize(enginePort: MessagePort, config: OfflineEngineInitializeConfig): Promise<void>;
18
+ addModule(code: string): Promise<void>;
18
19
  render(config: OfflineEngineRenderConfig): Promise<Float32Array[]>;
19
20
  step(samples: number): Promise<Float32Array[]>;
20
21
  stop(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"offline-renderer.d.ts","sourceRoot":"","sources":["../src/offline-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,wBAAwB,EAAC,MAAM,6BAA6B,CAAA;AAEpE,MAAM,WAAW,6BAA6B;IAC1C,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,aAAa,EAAE,MAAM,CAAA;IACrB,gBAAgB,EAAE,iBAAiB,CAAA;IACnC,kBAAkB,EAAE,iBAAiB,CAAA;IACrC,OAAO,EAAE,eAAe,CAAA;IACxB,mBAAmB,CAAC,EAAE,wBAAwB,CAAA;CACjD;AAED,MAAM,WAAW,yBAAyB;IACtC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED,MAAM,WAAW,qBAAqB;IAClC,UAAU,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzF,MAAM,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IAClE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IAC9C,IAAI,IAAI,IAAI,CAAA;CACf"}
1
+ {"version":3,"file":"offline-renderer.d.ts","sourceRoot":"","sources":["../src/offline-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,wBAAwB,EAAC,MAAM,6BAA6B,CAAA;AAEpE,MAAM,WAAW,6BAA6B;IAC1C,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,aAAa,EAAE,MAAM,CAAA;IACrB,gBAAgB,EAAE,iBAAiB,CAAA;IACnC,kBAAkB,EAAE,iBAAiB,CAAA;IACrC,OAAO,EAAE,eAAe,CAAA;IACxB,mBAAmB,CAAC,EAAE,wBAAwB,CAAA;CACjD;AAED,MAAM,WAAW,yBAAyB;IACtC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED,MAAM,WAAW,qBAAqB;IAClC,UAAU,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzF,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACtC,MAAM,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IAClE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IAC9C,IAAI,IAAI,IAAI,CAAA;CACf"}
@@ -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());
@@ -32,6 +32,7 @@ export interface EngineCommands extends Terminable {
32
32
  export interface EngineToClient {
33
33
  log(message: string): void;
34
34
  error(reason: unknown): void;
35
+ deviceMessage(uuid: string, message: string): void;
35
36
  fetchAudio(uuid: UUID.Bytes): Promise<AudioData>;
36
37
  fetchSoundfont(uuid: UUID.Bytes): Promise<SoundFont2>;
37
38
  fetchNamWasm(): Promise<ArrayBuffer>;
@@ -1 +1 @@
1
- {"version":3,"file":"protocols.d.ts","sourceRoot":"","sources":["../src/protocols.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAChE,OAAO,EAAC,SAAS,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAC,qBAAqB,EAAC,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,YAAY,CAAA;AAE1C,MAAM,MAAM,kBAAkB,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,CAAA;CAAE,CAAA;AAEnF,MAAM,WAAW,cAAe,SAAQ,UAAU;IAC9C,IAAI,IAAI,IAAI,CAAA;IACZ,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAC1B,WAAW,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAA;IACjC,gBAAgB;IAChB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAC7C,gBAAgB;IAChB,aAAa,IAAI,IAAI,CAAA;IACrB,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IAExC,KAAK,IAAI,IAAI,CAAA;IACb,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAA;IACpC,gBAAgB;IAChB,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACxC,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;IAC1D,gBAAgB,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;IAC3D,gBAAgB;IAChB,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAC7D,cAAc,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;IACnD,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAA;IACtE,gBAAgB;IAChB,mBAAmB,CAAC,GAAG,EAAE,aAAa,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAA;CACpE;AAED,MAAM,WAAW,cAAc;IAC3B,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5B,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAChD,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACrD,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC,CAAA;IACpC,yBAAyB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAAA;IAC/D,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAA;IAC3D,KAAK,IAAI,IAAI,CAAA;CAChB"}
1
+ {"version":3,"file":"protocols.d.ts","sourceRoot":"","sources":["../src/protocols.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAChE,OAAO,EAAC,SAAS,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAC,qBAAqB,EAAC,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,YAAY,CAAA;AAE1C,MAAM,MAAM,kBAAkB,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,CAAA;CAAE,CAAA;AAEnF,MAAM,WAAW,cAAe,SAAQ,UAAU;IAC9C,IAAI,IAAI,IAAI,CAAA;IACZ,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAC1B,WAAW,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAA;IACjC,gBAAgB;IAChB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAC7C,gBAAgB;IAChB,aAAa,IAAI,IAAI,CAAA;IACrB,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IAExC,KAAK,IAAI,IAAI,CAAA;IACb,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAA;IACpC,gBAAgB;IAChB,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACxC,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;IAC1D,gBAAgB,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;IAC3D,gBAAgB;IAChB,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAC7D,cAAc,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;IACnD,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAA;IACtE,gBAAgB;IAChB,mBAAmB,CAAC,GAAG,EAAE,aAAa,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAA;CACpE;AAED,MAAM,WAAW,cAAc;IAC3B,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5B,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAClD,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAChD,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACrD,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC,CAAA;IACpC,yBAAyB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAAA;IAC/D,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAA;IAC3D,KAAK,IAAI,IAAI,CAAA;CAChB"}
@@ -1 +1 @@
1
- {"version":3,"file":"VertexSelection.d.ts","sourceRoot":"","sources":["../../src/selection/VertexSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,SAAS,EACT,OAAO,EACP,GAAG,EAGH,SAAS,EACT,SAAS,EACT,iBAAiB,EAEjB,YAAY,EAGf,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAU,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAe,MAAM,kBAAkB,CAAA;AACpF,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAE9C,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAA;AAEnD,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAA;AAErD;;;GAGG;AACH,qBAAa,eAAgB,YAAW,SAAS,CAAC,gBAAgB,CAAC;;IAQnD,QAAQ,CAAC,OAAO,EAAE,OAAO;IAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ;gBAA7C,OAAO,EAAE,OAAO,EAAW,QAAQ,EAAE,QAAQ;IAOlE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI;IAQ/C,OAAO,IAAI,IAAI;IASf,uBAAuB,CAAC,CAAC,SAAS,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,gBAAgB,CAAC,EACtC,GAAG,EAAE,SAAS,CAAC,CAAC,EAAE,gBAAgB,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAIzG,MAAM,CAAC,GAAG,WAAW,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAmB7D,QAAQ,CAAC,GAAG,WAAW,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAU/D,WAAW,IAAI,IAAI;IAInB,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,aAAa,CAAC,gBAAgB,CAAC;IAQhF,OAAO,IAAI,OAAO;IAClB,QAAQ,IAAI,OAAO;IAEnB,KAAK,IAAI,GAAG;IAEZ,UAAU,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO;IAEjD,QAAQ,IAAI,aAAa,CAAC,gBAAgB,CAAC;IAE3C,SAAS,CAAC,QAAQ,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,GAAG,YAAY;IAEtE,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,GAAG,YAAY;CA4BnF"}
1
+ {"version":3,"file":"VertexSelection.d.ts","sourceRoot":"","sources":["../../src/selection/VertexSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,SAAS,EACT,OAAO,EACP,GAAG,EAGH,SAAS,EACT,SAAS,EACT,iBAAiB,EAEjB,YAAY,EAGf,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAU,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAe,MAAM,kBAAkB,CAAA;AACpF,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAE9C,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAA;AAEnD,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAA;AAErD;;;GAGG;AACH,qBAAa,eAAgB,YAAW,SAAS,CAAC,gBAAgB,CAAC;;IAQnD,QAAQ,CAAC,OAAO,EAAE,OAAO;IAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ;gBAA7C,OAAO,EAAE,OAAO,EAAW,QAAQ,EAAE,QAAQ;IAOlE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI;IAQ/C,OAAO,IAAI,IAAI;IASf,uBAAuB,CAAC,CAAC,SAAS,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,gBAAgB,CAAC,EACtC,GAAG,EAAE,SAAS,CAAC,CAAC,EAAE,gBAAgB,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAIzG,MAAM,CAAC,GAAG,WAAW,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAmB7D,QAAQ,CAAC,GAAG,WAAW,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAW/D,WAAW,IAAI,IAAI;IAInB,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,aAAa,CAAC,gBAAgB,CAAC;IAQhF,OAAO,IAAI,OAAO;IAClB,QAAQ,IAAI,OAAO;IAEnB,KAAK,IAAI,GAAG;IAEZ,UAAU,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO;IAEjD,QAAQ,IAAI,aAAa,CAAC,gBAAgB,CAAC;IAE3C,SAAS,CAAC,QAAQ,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,GAAG,YAAY;IAEtE,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,GAAG,YAAY;CA4BnF"}
@@ -83,7 +83,8 @@ export class VertexSelection {
83
83
  return;
84
84
  }
85
85
  this.editing.modify(() => selectables
86
- .forEach(selectable => __classPrivateFieldGet(this, _VertexSelection_selectableMap, "f").get(selectable.address).box.delete()), false);
86
+ .forEach(selectable => __classPrivateFieldGet(this, _VertexSelection_selectableMap, "f").opt(selectable.address)
87
+ .ifSome(entry => entry.box.delete())), false);
87
88
  }
88
89
  deselectAll() {
89
90
  this.deselect(...__classPrivateFieldGet(this, _VertexSelection_selectableMap, "f").values().map(entry => entry.selectable));
@@ -1 +1 @@
1
- {"version":3,"file":"TrackBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/timeline/TrackBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,GAAG,EAEH,QAAQ,EACR,MAAM,EAEN,YAAY,EAGZ,SAAS,EACT,IAAI,EACP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAc,MAAM,kBAAkB,CAAA;AAC7F,OAAO,EAAC,IAAI,EAAkB,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AACvC,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAE3C,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAA;AACrC,OAAO,EAAC,iBAAiB,EAAE,mBAAmB,EAAC,MAAM,sBAAsB,CAAA;AAG3E,OAAO,EAAC,YAAY,EAAE,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAE9C,qBAAa,eAAgB,YAAW,UAAU;;gBAWlC,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,QAAQ;IAUtD,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,YAAY;IAuBnF,IAAI,OAAO,IAAI,kBAAkB,CAAuB;IAExD,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAc3B;IAED,IAAI,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,CAgB/B;IAuDD,SAAS;IAET,IAAI,SAAS,IAAI,YAAY,CAAgF;IAC7G,IAAI,MAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAA0B;IACzE,IAAI,KAAK,IAAI,UAAU,CAAqB;IAC5C,IAAI,OAAO,IAAI,YAAY,CAAuB;IAClD,IAAI,OAAO,IAAI,YAAY,CAA2B;IACtD,IAAI,UAAU,IAAI,UAAU,CAAyB;IACrD,IAAI,IAAI,IAAI,SAAS,CAAmC;IACxD,IAAI,GAAG,IAAI,QAAQ,CAAmB;IACtC,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IAEjD,IAAI,SAAS,IAAI,GAAG,CAAoC;IACxD,IAAI,SAAS,CAAC,KAAK,EAAE,GAAG,EAAmC;IAE3D,OAAO,CAAC,OAAO,EAAE,iBAAiB,GAAG,mBAAmB,GAAG,OAAO;IAiBlE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,GAAG,SAAS;CAgC1D"}
1
+ {"version":3,"file":"TrackBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/timeline/TrackBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,GAAG,EAEH,QAAQ,EACR,MAAM,EAEN,YAAY,EAGZ,SAAS,EACT,IAAI,EACP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,OAAO,EAAE,YAAY,EAAO,UAAU,EAAE,YAAY,EAAc,MAAM,kBAAkB,CAAA;AAClG,OAAO,EAAC,IAAI,EAAkB,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AACvC,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAE3C,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAA;AACrC,OAAO,EAAC,iBAAiB,EAAE,mBAAmB,EAAC,MAAM,sBAAsB,CAAA;AAG3E,OAAO,EAAC,YAAY,EAAE,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAE9C,qBAAa,eAAgB,YAAW,UAAU;;gBAWlC,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,QAAQ;IAUtD,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,YAAY;IAuBnF,IAAI,OAAO,IAAI,kBAAkB,CAAuB;IAExD,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAoB3B;IAED,IAAI,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,CAwB/B;IAgCD,SAAS;IAET,IAAI,SAAS,IAAI,YAAY,CAAgF;IAE7G,IAAI,MAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAA0B;IAEzE,IAAI,KAAK,IAAI,UAAU,CAAqB;IAC5C,IAAI,OAAO,IAAI,YAAY,CAAuB;IAClD,IAAI,OAAO,IAAI,YAAY,CAA2B;IACtD,IAAI,UAAU,IAAI,UAAU,CAAyB;IACrD,IAAI,IAAI,IAAI,SAAS,CAAmC;IACxD,IAAI,GAAG,IAAI,QAAQ,CAAmB;IACtC,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,SAAS,IAAI,GAAG,CAAoC;IACxD,IAAI,SAAS,CAAC,KAAK,EAAE,GAAG,EAAmC;IAE3D,OAAO,CAAC,OAAO,EAAE,iBAAiB,GAAG,mBAAmB,GAAG,OAAO;IAgBlE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,GAAG,SAAS;CAwE1D"}
@@ -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 _TrackBoxAdapter_instances, _TrackBoxAdapter_context, _TrackBoxAdapter_box, _TrackBoxAdapter_terminator, _TrackBoxAdapter_clips, _TrackBoxAdapter_regions, _TrackBoxAdapter_listIndex, _TrackBoxAdapter_catchupAndSubscribeTargetName, _TrackBoxAdapter_catchupAndSubscribeTargetControlName;
12
+ var _TrackBoxAdapter_instances, _TrackBoxAdapter_context, _TrackBoxAdapter_box, _TrackBoxAdapter_terminator, _TrackBoxAdapter_clips, _TrackBoxAdapter_regions, _TrackBoxAdapter_listIndex, _TrackBoxAdapter_catchupAndSubscribeTargetName, _TrackBoxAdapter_catchupAndSubscribeTargetControlName, _TrackBoxAdapter_resolveOwnerDeviceBox;
13
13
  import { asInstanceOf, DefaultObservableValue, isInstanceOf, Option, panic, Terminable, Terminator } from "@opendaw/lib-std";
14
14
  import { StringField } from "@opendaw/lib-box";
15
15
  import { UpdateClockRate } from "@opendaw/lib-dsp";
@@ -20,6 +20,7 @@ import { TrackType } from "./TrackType";
20
20
  import { ValueClipBoxAdapter } from "./clip/ValueClipBoxAdapter";
21
21
  import { ValueRegionBoxAdapter } from "./region/ValueRegionBoxAdapter";
22
22
  import { AudioUnitBox } from "@opendaw/studio-boxes";
23
+ import { Pointers } from "@opendaw/studio-enums";
23
24
  export class TrackBoxAdapter {
24
25
  constructor(context, box) {
25
26
  _TrackBoxAdapter_instances.add(this);
@@ -74,6 +75,12 @@ export class TrackBoxAdapter {
74
75
  adapter.labelField.setValue(value);
75
76
  }
76
77
  });
78
+ __classPrivateFieldGet(this, _TrackBoxAdapter_instances, "m", _TrackBoxAdapter_resolveOwnerDeviceBox).call(this, box).flatMap(owner => __classPrivateFieldGet(this, _TrackBoxAdapter_context, "f").boxAdapters.optAdapter(owner))
79
+ .ifSome(adapter => {
80
+ if ("labelField" in adapter && adapter.labelField instanceof StringField) {
81
+ adapter.labelField.setValue(value);
82
+ }
83
+ });
77
84
  });
78
85
  }
79
86
  get targetName() {
@@ -90,6 +97,14 @@ export class TrackBoxAdapter {
90
97
  return Option.wrap(adapter.labelField.getValue());
91
98
  }
92
99
  }
100
+ const ownerAdapter = __classPrivateFieldGet(this, _TrackBoxAdapter_instances, "m", _TrackBoxAdapter_resolveOwnerDeviceBox).call(this, box)
101
+ .flatMap(owner => __classPrivateFieldGet(this, _TrackBoxAdapter_context, "f").boxAdapters.optAdapter(owner));
102
+ if (ownerAdapter.nonEmpty()) {
103
+ const adapter = ownerAdapter.unwrap();
104
+ if ("labelField" in adapter && adapter.labelField instanceof StringField) {
105
+ return Option.wrap(adapter.labelField.getValue());
106
+ }
107
+ }
93
108
  return Option.wrap(box.name);
94
109
  });
95
110
  }
@@ -174,6 +189,14 @@ _TrackBoxAdapter_context = new WeakMap(), _TrackBoxAdapter_box = new WeakMap(),
174
189
  return adapter.labelField.catchupAndSubscribe(owner => observer(Option.wrap(owner.getValue())));
175
190
  }
176
191
  }
192
+ const ownerAdapter = __classPrivateFieldGet(this, _TrackBoxAdapter_instances, "m", _TrackBoxAdapter_resolveOwnerDeviceBox).call(this, box)
193
+ .flatMap(owner => __classPrivateFieldGet(this, _TrackBoxAdapter_context, "f").boxAdapters.optAdapter(owner));
194
+ if (ownerAdapter.nonEmpty()) {
195
+ const adapter = ownerAdapter.unwrap();
196
+ if ("labelField" in adapter && adapter.labelField instanceof StringField) {
197
+ return adapter.labelField.catchupAndSubscribe(owner => observer(Option.wrap(owner.getValue())));
198
+ }
199
+ }
177
200
  observer(Option.wrap(box.name));
178
201
  return Terminable.Empty;
179
202
  }
@@ -210,4 +233,11 @@ _TrackBoxAdapter_context = new WeakMap(), _TrackBoxAdapter_box = new WeakMap(),
210
233
  return Terminable.Empty;
211
234
  }
212
235
  }
236
+ }, _TrackBoxAdapter_resolveOwnerDeviceBox = function _TrackBoxAdapter_resolveOwnerDeviceBox(box) {
237
+ for (const [pointer] of box.outgoingEdges()) {
238
+ if (pointer.pointerType === Pointers.Parameter) {
239
+ return pointer.targetVertex.map(vertex => vertex.box);
240
+ }
241
+ }
242
+ return Option.None;
213
243
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opendaw/studio-adapters",
3
- "version": "0.0.99",
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.78",
27
- "@opendaw/lib-dsp": "^0.0.77",
28
- "@opendaw/lib-fusion": "^0.0.85",
29
- "@opendaw/lib-runtime": "^0.0.73",
30
- "@opendaw/lib-std": "^0.0.72",
31
- "@opendaw/studio-boxes": "^0.0.83",
32
- "@opendaw/studio-enums": "^0.0.68",
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": "e411bd3e6a00344f0e32bf32490977fe411039b7"
39
+ "gitHead": "7ccb6855109bc13274fd83ec5dc4ea2302d83b8e"
40
40
  }