@opendaw/studio-adapters 0.0.36 → 0.0.38

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 (63) hide show
  1. package/dist/AutomatableParameterFieldAdapter.js +2 -2
  2. package/dist/BoxAdapterCollection.js +2 -2
  3. package/dist/BoxAdapters.d.ts.map +1 -1
  4. package/dist/BoxAdapters.js +6 -0
  5. package/dist/IconSymbol.d.ts +116 -114
  6. package/dist/IconSymbol.d.ts.map +1 -1
  7. package/dist/IconSymbol.js +116 -114
  8. package/dist/IndexedBoxAdapterCollection.js +2 -2
  9. package/dist/ParameterAdapterSet.d.ts.map +1 -1
  10. package/dist/audio-unit/AudioUnitInput.d.ts.map +1 -1
  11. package/dist/audio-unit/AudioUnitInput.js +2 -3
  12. package/dist/devices/audio-effects/CompressorDeviceBoxAdapter.d.ts +39 -0
  13. package/dist/devices/audio-effects/CompressorDeviceBoxAdapter.d.ts.map +1 -0
  14. package/dist/devices/audio-effects/CompressorDeviceBoxAdapter.js +47 -0
  15. package/dist/devices/audio-effects/CrusherDeviceBoxAdapter.d.ts +31 -0
  16. package/dist/devices/audio-effects/CrusherDeviceBoxAdapter.d.ts.map +1 -0
  17. package/dist/devices/audio-effects/CrusherDeviceBoxAdapter.js +39 -0
  18. package/dist/devices/audio-effects/FoldDeviceBoxAdapter.d.ts +29 -0
  19. package/dist/devices/audio-effects/FoldDeviceBoxAdapter.d.ts.map +1 -0
  20. package/dist/devices/audio-effects/FoldDeviceBoxAdapter.js +37 -0
  21. package/dist/devices/audio-effects/ModularDeviceBoxAdapter.d.ts.map +1 -1
  22. package/dist/devices/audio-effects/RevampDeviceBoxAdapter.js +3 -3
  23. package/dist/devices/instruments/Playfield/PlayfieldSampleBoxAdapter.d.ts.map +1 -1
  24. package/dist/devices/instruments/VaporisateurDeviceBoxAdapter.js +1 -1
  25. package/dist/devices/midi-effects/PitchDeviceBoxAdapter.d.ts.map +1 -1
  26. package/dist/editing/UserEditing.d.ts +2 -2
  27. package/dist/editing/UserEditing.d.ts.map +1 -1
  28. package/dist/editing/UserEditingManager.d.ts +2 -2
  29. package/dist/editing/UserEditingManager.d.ts.map +1 -1
  30. package/dist/index.d.ts +3 -0
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +3 -0
  33. package/dist/modular/modular.js +2 -2
  34. package/dist/modular/module.d.ts.map +1 -1
  35. package/dist/project/ProjectDecoder.d.ts.map +1 -1
  36. package/dist/project/ProjectDecoder.js +17 -41
  37. package/dist/project/ProjectMandatoryBoxes.d.ts +3 -3
  38. package/dist/project/ProjectMandatoryBoxes.d.ts.map +1 -1
  39. package/dist/protocols.d.ts +2 -1
  40. package/dist/protocols.d.ts.map +1 -1
  41. package/dist/selection/VertexSelection.d.ts +3 -3
  42. package/dist/selection/VertexSelection.d.ts.map +1 -1
  43. package/dist/selection/VertexSelection.js +2 -2
  44. package/dist/timeline/MarkerTrackAdapter.js +2 -2
  45. package/dist/timeline/TrackRegions.d.ts +5 -0
  46. package/dist/timeline/TrackRegions.d.ts.map +1 -1
  47. package/dist/timeline/TrackRegions.js +13 -4
  48. package/dist/timeline/TrackType.d.ts +1 -1
  49. package/dist/timeline/clip/AudioClipBoxAdapter.d.ts.map +1 -1
  50. package/dist/timeline/clip/AudioClipBoxAdapter.js +2 -2
  51. package/dist/timeline/clip/NoteClipBoxAdapter.d.ts.map +1 -1
  52. package/dist/timeline/clip/NoteClipBoxAdapter.js +7 -3
  53. package/dist/timeline/clip/ValueClipBoxAdapter.d.ts.map +1 -1
  54. package/dist/timeline/clip/ValueClipBoxAdapter.js +7 -3
  55. package/dist/timeline/collection/NoteEventCollectionBoxAdapter.js +4 -4
  56. package/dist/timeline/collection/ValueEventCollectionBoxAdapter.js +4 -4
  57. package/dist/timeline/event/ValueEventBoxAdapter.js +2 -2
  58. package/dist/timeline/region/AudioRegionBoxAdapter.js +2 -2
  59. package/dist/timeline/region/NoteRegionBoxAdapter.d.ts.map +1 -1
  60. package/dist/timeline/region/NoteRegionBoxAdapter.js +2 -2
  61. package/dist/timeline/region/ValueRegionBoxAdapter.d.ts.map +1 -1
  62. package/dist/timeline/region/ValueRegionBoxAdapter.js +2 -2
  63. package/package.json +37 -37
@@ -0,0 +1,39 @@
1
+ import { CompressorDeviceBox } from "@opendaw/studio-boxes";
2
+ import { UUID } from "@opendaw/lib-std";
3
+ import { Address, BooleanField, Int32Field, PointerField, StringField } from "@opendaw/lib-box";
4
+ import { Pointers } from "@opendaw/studio-enums";
5
+ import { AudioEffectDeviceAdapter, DeviceHost } from "../../DeviceAdapter";
6
+ import { BoxAdaptersContext } from "../../BoxAdaptersContext";
7
+ import { AudioUnitBoxAdapter } from "../../audio-unit/AudioUnitBoxAdapter";
8
+ export declare class CompressorDeviceBoxAdapter implements AudioEffectDeviceAdapter {
9
+ #private;
10
+ readonly type = "audio-effect";
11
+ readonly accepts = "audio";
12
+ readonly namedParameter: {
13
+ readonly lookahead: import("../..").AutomatableParameterFieldAdapter<boolean>;
14
+ readonly automakeup: import("../..").AutomatableParameterFieldAdapter<boolean>;
15
+ readonly autoattack: import("../..").AutomatableParameterFieldAdapter<boolean>;
16
+ readonly autorelease: import("../..").AutomatableParameterFieldAdapter<boolean>;
17
+ readonly inputgain: import("../..").AutomatableParameterFieldAdapter<number>;
18
+ readonly threshold: import("../..").AutomatableParameterFieldAdapter<number>;
19
+ readonly ratio: import("../..").AutomatableParameterFieldAdapter<number>;
20
+ readonly knee: import("../..").AutomatableParameterFieldAdapter<number>;
21
+ readonly attack: import("../..").AutomatableParameterFieldAdapter<number>;
22
+ readonly release: import("../..").AutomatableParameterFieldAdapter<number>;
23
+ readonly makeup: import("../..").AutomatableParameterFieldAdapter<number>;
24
+ readonly mix: import("../..").AutomatableParameterFieldAdapter<number>;
25
+ };
26
+ constructor(context: BoxAdaptersContext, box: CompressorDeviceBox);
27
+ get box(): CompressorDeviceBox;
28
+ get uuid(): UUID.Bytes;
29
+ get address(): Address;
30
+ get indexField(): Int32Field;
31
+ get labelField(): StringField;
32
+ get enabledField(): BooleanField;
33
+ get minimizedField(): BooleanField;
34
+ get host(): PointerField<Pointers.AudioEffectHost>;
35
+ deviceHost(): DeviceHost;
36
+ audioUnitBoxAdapter(): AudioUnitBoxAdapter;
37
+ terminate(): void;
38
+ }
39
+ //# sourceMappingURL=CompressorDeviceBoxAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompressorDeviceBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/audio-effects/CompressorDeviceBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAgB,IAAI,EAAe,MAAM,kBAAkB,CAAA;AAClE,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAC7F,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,wBAAwB,EAAE,UAAU,EAAU,MAAM,qBAAqB,CAAA;AACjF,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAE3D,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAA;AAExE,qBAAa,0BAA2B,YAAW,wBAAwB;;IACvE,QAAQ,CAAC,IAAI,kBAAiB;IAC9B,QAAQ,CAAC,OAAO,WAAU;IAM1B,QAAQ,CAAC,cAAc;;;;;;;;;;;;;MAAA;gBAEX,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,mBAAmB;IAOjE,IAAI,GAAG,IAAI,mBAAmB,CAAmB;IACjD,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,UAAU,IAAI,UAAU,CAAyB;IACrD,IAAI,UAAU,IAAI,WAAW,CAAyB;IACtD,IAAI,YAAY,IAAI,YAAY,CAA2B;IAC3D,IAAI,cAAc,IAAI,YAAY,CAA6B;IAC/D,IAAI,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAwB;IAE1E,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAE1C,SAAS,IAAI,IAAI;CAiCpB"}
@@ -0,0 +1,47 @@
1
+ import { StringMapping, ValueMapping } from "@opendaw/lib-std";
2
+ import { Devices } from "../../DeviceAdapter";
3
+ import { ParameterAdapterSet } from "../../ParameterAdapterSet";
4
+ export class CompressorDeviceBoxAdapter {
5
+ type = "audio-effect";
6
+ accepts = "audio";
7
+ #context;
8
+ #box;
9
+ #parametric;
10
+ namedParameter; // let typescript infer the type
11
+ constructor(context, box) {
12
+ this.#context = context;
13
+ this.#box = box;
14
+ this.#parametric = new ParameterAdapterSet(this.#context);
15
+ this.namedParameter = this.#wrapParameters(box);
16
+ }
17
+ get box() { return this.#box; }
18
+ get uuid() { return this.#box.address.uuid; }
19
+ get address() { return this.#box.address; }
20
+ get indexField() { return this.#box.index; }
21
+ get labelField() { return this.#box.label; }
22
+ get enabledField() { return this.#box.enabled; }
23
+ get minimizedField() { return this.#box.minimized; }
24
+ get host() { return this.#box.host; }
25
+ deviceHost() {
26
+ return this.#context.boxAdapters
27
+ .adapterFor(this.#box.host.targetVertex.unwrap("no device-host").box, Devices.isHost);
28
+ }
29
+ audioUnitBoxAdapter() { return this.deviceHost().audioUnitBoxAdapter(); }
30
+ terminate() { this.#parametric.terminate(); }
31
+ #wrapParameters(box) {
32
+ return {
33
+ lookahead: this.#parametric.createParameter(box.lookahead, ValueMapping.bool, StringMapping.bool, "Lookahead"),
34
+ automakeup: this.#parametric.createParameter(box.automakeup, ValueMapping.bool, StringMapping.bool, "Auto Makeup"),
35
+ autoattack: this.#parametric.createParameter(box.autoattack, ValueMapping.bool, StringMapping.bool, "Auto Attack"),
36
+ autorelease: this.#parametric.createParameter(box.autorelease, ValueMapping.bool, StringMapping.bool, "Auto Release"),
37
+ inputgain: this.#parametric.createParameter(box.inputgain, ValueMapping.linear(-30.0, 30.0), StringMapping.decible, "Input Gain"),
38
+ threshold: this.#parametric.createParameter(box.threshold, ValueMapping.linear(-60.0, 0.0), StringMapping.decible, "Threshold"),
39
+ ratio: this.#parametric.createParameter(box.ratio, ValueMapping.exponential(1.0, 24.0), StringMapping.numeric({ fractionDigits: 1 }), "Ratio"),
40
+ knee: this.#parametric.createParameter(box.knee, ValueMapping.linear(0.0, 24.0), StringMapping.decible, "Knee"),
41
+ attack: this.#parametric.createParameter(box.attack, ValueMapping.linear(0.0, 100.0), StringMapping.numeric({ unit: "ms", fractionDigits: 1 }), "Attack Time"),
42
+ release: this.#parametric.createParameter(box.release, ValueMapping.linear(5.0, 1500.0), StringMapping.numeric({ unit: "ms", fractionDigits: 1 }), "Release Time"),
43
+ makeup: this.#parametric.createParameter(box.makeup, ValueMapping.linear(-40.0, 40.0), StringMapping.decible, "Makeup Gain"),
44
+ mix: this.#parametric.createParameter(box.mix, ValueMapping.unipolar(), StringMapping.percent(), "Dry/Wet")
45
+ };
46
+ }
47
+ }
@@ -0,0 +1,31 @@
1
+ import { UUID } from "@opendaw/lib-std";
2
+ import { Address, BooleanField, Int32Field, PointerField, StringField } from "@opendaw/lib-box";
3
+ import { CrusherDeviceBox } from "@opendaw/studio-boxes";
4
+ import { Pointers } from "@opendaw/studio-enums";
5
+ import { AudioEffectDeviceAdapter, DeviceHost } from "../../DeviceAdapter";
6
+ import { BoxAdaptersContext } from "../../BoxAdaptersContext";
7
+ import { AudioUnitBoxAdapter } from "../../audio-unit/AudioUnitBoxAdapter";
8
+ export declare class CrusherDeviceBoxAdapter implements AudioEffectDeviceAdapter {
9
+ #private;
10
+ readonly type = "audio-effect";
11
+ readonly accepts = "audio";
12
+ readonly namedParameter: {
13
+ readonly crush: import("../..").AutomatableParameterFieldAdapter<number>;
14
+ readonly bits: import("../..").AutomatableParameterFieldAdapter<number>;
15
+ readonly boost: import("../..").AutomatableParameterFieldAdapter<number>;
16
+ readonly mix: import("../..").AutomatableParameterFieldAdapter<number>;
17
+ };
18
+ constructor(context: BoxAdaptersContext, box: CrusherDeviceBox);
19
+ get box(): CrusherDeviceBox;
20
+ get uuid(): UUID.Bytes;
21
+ get address(): Address;
22
+ get indexField(): Int32Field;
23
+ get labelField(): StringField;
24
+ get enabledField(): BooleanField;
25
+ get minimizedField(): BooleanField;
26
+ get host(): PointerField<Pointers.AudioEffectHost>;
27
+ deviceHost(): DeviceHost;
28
+ audioUnitBoxAdapter(): AudioUnitBoxAdapter;
29
+ terminate(): void;
30
+ }
31
+ //# sourceMappingURL=CrusherDeviceBoxAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CrusherDeviceBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/audio-effects/CrusherDeviceBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,IAAI,EAAe,MAAM,kBAAkB,CAAA;AAClE,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAC7F,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,wBAAwB,EAAE,UAAU,EAAU,MAAM,qBAAqB,CAAA;AACjF,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAE3D,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAA;AAExE,qBAAa,uBAAwB,YAAW,wBAAwB;;IACpE,QAAQ,CAAC,IAAI,kBAAiB;IAC9B,QAAQ,CAAC,OAAO,WAAU;IAM1B,QAAQ,CAAC,cAAc;;;;;MAAA;gBAEX,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,gBAAgB;IAO9D,IAAI,GAAG,IAAI,gBAAgB,CAAmB;IAC9C,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,UAAU,IAAI,UAAU,CAAyB;IACrD,IAAI,UAAU,IAAI,WAAW,CAAyB;IACtD,IAAI,YAAY,IAAI,YAAY,CAA2B;IAC3D,IAAI,cAAc,IAAI,YAAY,CAA6B;IAC/D,IAAI,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAwB;IAE1E,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAE1C,SAAS,IAAI,IAAI;CAsBpB"}
@@ -0,0 +1,39 @@
1
+ import { StringMapping, ValueMapping } from "@opendaw/lib-std";
2
+ import { Devices } from "../../DeviceAdapter";
3
+ import { ParameterAdapterSet } from "../../ParameterAdapterSet";
4
+ export class CrusherDeviceBoxAdapter {
5
+ type = "audio-effect";
6
+ accepts = "audio";
7
+ #context;
8
+ #box;
9
+ #parametric;
10
+ namedParameter; // let typescript infer the type
11
+ constructor(context, box) {
12
+ this.#context = context;
13
+ this.#box = box;
14
+ this.#parametric = new ParameterAdapterSet(this.#context);
15
+ this.namedParameter = this.#wrapParameters(box);
16
+ }
17
+ get box() { return this.#box; }
18
+ get uuid() { return this.#box.address.uuid; }
19
+ get address() { return this.#box.address; }
20
+ get indexField() { return this.#box.index; }
21
+ get labelField() { return this.#box.label; }
22
+ get enabledField() { return this.#box.enabled; }
23
+ get minimizedField() { return this.#box.minimized; }
24
+ get host() { return this.#box.host; }
25
+ deviceHost() {
26
+ return this.#context.boxAdapters
27
+ .adapterFor(this.#box.host.targetVertex.unwrap("no device-host").box, Devices.isHost);
28
+ }
29
+ audioUnitBoxAdapter() { return this.deviceHost().audioUnitBoxAdapter(); }
30
+ terminate() { this.#parametric.terminate(); }
31
+ #wrapParameters(box) {
32
+ return {
33
+ crush: this.#parametric.createParameter(box.crush, ValueMapping.unipolar(), StringMapping.percent(), "Crush"),
34
+ bits: this.#parametric.createParameter(box.bits, ValueMapping.linearInteger(1, 16), StringMapping.numeric(), "Bits"),
35
+ boost: this.#parametric.createParameter(box.boost, ValueMapping.linear(0.0, 24.0), StringMapping.decible, "Boost"),
36
+ mix: this.#parametric.createParameter(box.mix, ValueMapping.exponential(0.001, 1.0), StringMapping.percent(), "Mix")
37
+ };
38
+ }
39
+ }
@@ -0,0 +1,29 @@
1
+ import { UUID } from "@opendaw/lib-std";
2
+ import { Address, BooleanField, Int32Field, PointerField, StringField } from "@opendaw/lib-box";
3
+ import { FoldDeviceBox } from "@opendaw/studio-boxes";
4
+ import { Pointers } from "@opendaw/studio-enums";
5
+ import { AudioEffectDeviceAdapter, DeviceHost } from "../../DeviceAdapter";
6
+ import { BoxAdaptersContext } from "../../BoxAdaptersContext";
7
+ import { AudioUnitBoxAdapter } from "../../audio-unit/AudioUnitBoxAdapter";
8
+ export declare class FoldDeviceBoxAdapter implements AudioEffectDeviceAdapter {
9
+ #private;
10
+ readonly type = "audio-effect";
11
+ readonly accepts = "audio";
12
+ readonly namedParameter: {
13
+ readonly drive: import("../..").AutomatableParameterFieldAdapter<number>;
14
+ readonly volume: import("../..").AutomatableParameterFieldAdapter<number>;
15
+ };
16
+ constructor(context: BoxAdaptersContext, box: FoldDeviceBox);
17
+ get box(): FoldDeviceBox;
18
+ get uuid(): UUID.Bytes;
19
+ get address(): Address;
20
+ get indexField(): Int32Field;
21
+ get labelField(): StringField;
22
+ get enabledField(): BooleanField;
23
+ get minimizedField(): BooleanField;
24
+ get host(): PointerField<Pointers.AudioEffectHost>;
25
+ deviceHost(): DeviceHost;
26
+ audioUnitBoxAdapter(): AudioUnitBoxAdapter;
27
+ terminate(): void;
28
+ }
29
+ //# sourceMappingURL=FoldDeviceBoxAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FoldDeviceBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/audio-effects/FoldDeviceBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,IAAI,EAAe,MAAM,kBAAkB,CAAA;AAClE,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAC7F,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,wBAAwB,EAAE,UAAU,EAAU,MAAM,qBAAqB,CAAA;AACjF,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAE3D,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAA;AAExE,qBAAa,oBAAqB,YAAW,wBAAwB;;IACjE,QAAQ,CAAC,IAAI,kBAAiB;IAC9B,QAAQ,CAAC,OAAO,WAAU;IAM1B,QAAQ,CAAC,cAAc;;;MAAA;gBAEX,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,aAAa;IAO3D,IAAI,GAAG,IAAI,aAAa,CAAmB;IAC3C,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,UAAU,IAAI,UAAU,CAAyB;IACrD,IAAI,UAAU,IAAI,WAAW,CAAyB;IACtD,IAAI,YAAY,IAAI,YAAY,CAA2B;IAC3D,IAAI,cAAc,IAAI,YAAY,CAA6B;IAC/D,IAAI,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAwB;IAE1E,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAE1C,SAAS,IAAI,IAAI;CAcpB"}
@@ -0,0 +1,37 @@
1
+ import { StringMapping, ValueMapping } from "@opendaw/lib-std";
2
+ import { Devices } from "../../DeviceAdapter";
3
+ import { ParameterAdapterSet } from "../../ParameterAdapterSet";
4
+ export class FoldDeviceBoxAdapter {
5
+ type = "audio-effect";
6
+ accepts = "audio";
7
+ #context;
8
+ #box;
9
+ #parametric;
10
+ namedParameter; // let typescript infer the type
11
+ constructor(context, box) {
12
+ this.#context = context;
13
+ this.#box = box;
14
+ this.#parametric = new ParameterAdapterSet(this.#context);
15
+ this.namedParameter = this.#wrapParameters(box);
16
+ }
17
+ get box() { return this.#box; }
18
+ get uuid() { return this.#box.address.uuid; }
19
+ get address() { return this.#box.address; }
20
+ get indexField() { return this.#box.index; }
21
+ get labelField() { return this.#box.label; }
22
+ get enabledField() { return this.#box.enabled; }
23
+ get minimizedField() { return this.#box.minimized; }
24
+ get host() { return this.#box.host; }
25
+ deviceHost() {
26
+ return this.#context.boxAdapters
27
+ .adapterFor(this.#box.host.targetVertex.unwrap("no device-host").box, Devices.isHost);
28
+ }
29
+ audioUnitBoxAdapter() { return this.deviceHost().audioUnitBoxAdapter(); }
30
+ terminate() { this.#parametric.terminate(); }
31
+ #wrapParameters(box) {
32
+ return {
33
+ drive: this.#parametric.createParameter(box.drive, ValueMapping.linear(0.0, 30.0), StringMapping.decible, "Drive"),
34
+ volume: this.#parametric.createParameter(box.volume, ValueMapping.linear(-18.0, 0.0), StringMapping.decible, "Volume")
35
+ };
36
+ }
37
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"ModularDeviceBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/audio-effects/ModularDeviceBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAQ,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AACxG,OAAO,EAAC,wBAAwB,EAAE,UAAU,EAAU,MAAM,qBAAqB,CAAA;AACjF,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAC,gCAAgC,EAAC,MAAM,wCAAwC,CAAA;AACvF,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAA;AACxE,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAC,0BAA0B,EAAC,MAAM,8BAA8B,CAAA;AAGvE,qBAAa,uBAAwB,YAAW,wBAAwB;;IACpE,QAAQ,CAAC,IAAI,kBAAiB;IAC9B,QAAQ,CAAC,OAAO,WAAU;gBAKd,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,gBAAgB;IAK9D,IAAI,GAAG,IAAI,gBAAgB,CAAmB;IAC9C,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,UAAU,IAAI,UAAU,CAAyB;IACrD,IAAI,UAAU,IAAI,WAAW,CAAyB;IACtD,IAAI,YAAY,IAAI,YAAY,CAA2B;IAC3D,IAAI,cAAc,IAAI,YAAY,CAA6B;IAC/D,IAAI,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAwB;IAE1E,WAAW,CAAC,aAAa,EAAE,SAAS,GAAG,gCAAgC;IAEvE,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAE1C,OAAO,IAAI,cAAc;IAKzB,QAAQ,IAAI,aAAa,CAAC,0BAA0B,CAAC;IAKrD,SAAS,IAAI,IAAI;CACpB"}
1
+ {"version":3,"file":"ModularDeviceBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/audio-effects/ModularDeviceBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAQ,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AACxG,OAAO,EAAC,wBAAwB,EAAE,UAAU,EAAU,MAAM,qBAAqB,CAAA;AACjF,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAC,gCAAgC,EAAC,MAAM,wCAAwC,CAAA;AACvF,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAA;AACxE,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAC,0BAA0B,EAAC,MAAM,8BAA8B,CAAA;AAEvE,qBAAa,uBAAwB,YAAW,wBAAwB;;IACpE,QAAQ,CAAC,IAAI,kBAAiB;IAC9B,QAAQ,CAAC,OAAO,WAAU;gBAKd,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,gBAAgB;IAK9D,IAAI,GAAG,IAAI,gBAAgB,CAAmB;IAC9C,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,UAAU,IAAI,UAAU,CAAyB;IACrD,IAAI,UAAU,IAAI,WAAW,CAAyB;IACtD,IAAI,YAAY,IAAI,YAAY,CAA2B;IAC3D,IAAI,cAAc,IAAI,YAAY,CAA6B;IAC/D,IAAI,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAwB;IAE1E,WAAW,CAAC,aAAa,EAAE,SAAS,GAAG,gCAAgC;IAEvE,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAE1C,OAAO,IAAI,cAAc;IAKzB,QAAQ,IAAI,aAAa,CAAC,0BAA0B,CAAC;IAKrD,SAAS,IAAI,IAAI;CACpB"}
@@ -49,8 +49,8 @@ const createPass = (parametric, pass, name) => {
49
49
  return ({
50
50
  enabled: parametric.createParameter(pass.enabled, ValueMapping.bool, StringMapping.bool, "enabled"),
51
51
  frequency: parametric.createParameter(pass.frequency, FrequencyMapping, StringMapping.numeric({ unit: "Hz", fractionDigits: 0 }), `${name} Freq`),
52
- order: parametric.createParameter(pass.order, ValueMapping.linearInteger(1, 4), StringMapping.indices("db", ["12", "24", "36", "48"]), `${name} Order`),
53
- q: parametric.createParameter(pass.q, QMapping, StringMapping.numeric({ unit: "", fractionDigits: 3 }), `${name} Q`)
52
+ order: parametric.createParameter(pass.order, ValueMapping.linearInteger(0, 3), StringMapping.indices("db", ["12", "24", "36", "48"]), `${name} Order`),
53
+ q: parametric.createParameter(pass.q, QMapping, StringMapping.numeric({ fractionDigits: 3 }), `${name} Q`)
54
54
  });
55
55
  };
56
56
  const createShelf = (parametric, shelf, name) => ({
@@ -62,5 +62,5 @@ const createBell = (parametric, bell, name) => ({
62
62
  enabled: parametric.createParameter(bell.enabled, ValueMapping.bool, StringMapping.bool, "enabled"),
63
63
  frequency: parametric.createParameter(bell.frequency, FrequencyMapping, StringMapping.numeric({ unit: "Hz", fractionDigits: 0 }), `${name} Freq`),
64
64
  gain: parametric.createParameter(bell.gain, GainMapping, StringMapping.numeric({ unit: "db", fractionDigits: 1, bipolar: true }), `${name} Gain`, 0.5),
65
- q: parametric.createParameter(bell.q, QMapping, StringMapping.numeric({ unit: "", fractionDigits: 3 }), `${name} Q`)
65
+ q: parametric.createParameter(bell.q, QMapping, StringMapping.numeric({ fractionDigits: 3 }), `${name} Q`)
66
66
  });
@@ -1 +1 @@
1
- {"version":3,"file":"PlayfieldSampleBoxAdapter.d.ts","sourceRoot":"","sources":["../../../../src/devices/instruments/Playfield/PlayfieldSampleBoxAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlayfieldSampleBoxAdapter.d.ts","sourceRoot":"","sources":["../../../../src/devices/instruments/Playfield/PlayfieldSampleBoxAdapter.ts"],"names":[],"mappings":"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"}
@@ -38,7 +38,7 @@ export class VaporisateurDeviceBoxAdapter {
38
38
  tune: this.#parametric.createParameter(box.tune, ValueMapping.linear(-1200.0, +1200.0), StringMapping.numeric({ unit: "cent", fractionDigits: 0 }), "tune", 0.5),
39
39
  waveform: this.#parametric.createParameter(box.waveform, ValueMapping.linearInteger(0, 3), StringMapping.indices("", ["sine", "triangle", "sawtooth", "square"]), "waveform"),
40
40
  cutoff: this.#parametric.createParameter(box.cutoff, ValueMapping.exponential(20.0, 18_000.0), StringMapping.numeric({ unit: "Hz" }), "cutoff"),
41
- resonance: this.#parametric.createParameter(box.resonance, ValueMapping.exponential(0.1, 20.0), StringMapping.numeric({ unit: "q", fractionDigits: 1 }), "resonance"),
41
+ resonance: this.#parametric.createParameter(box.resonance, ValueMapping.exponential(0.01, 10.0), StringMapping.numeric({ unit: "q", fractionDigits: 3 }), "resonance"),
42
42
  attack: this.#parametric.createParameter(box.attack, ValueMapping.exponential(0.001, 1.0), StringMapping.numeric({ unit: "s", fractionDigits: 3 }), "attack"),
43
43
  release: this.#parametric.createParameter(box.release, ValueMapping.exponential(0.001, 1.0), StringMapping.numeric({ unit: "s", fractionDigits: 3 }), "release"),
44
44
  filterEnvelope: this.#parametric.createParameter(box.filterEnvelope, ValueMapping.linear(-0.5, 0.5), StringMapping.percent(), "filter env", 0.5)
@@ -1 +1 @@
1
- {"version":3,"file":"PitchDeviceBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/midi-effects/PitchDeviceBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAgB,IAAI,EAAe,MAAM,kBAAkB,CAAA;AAClE,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AACxG,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAA;AACpD,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,EAAE,gCAAgC,EAAE,MAAM,wCAAwC,CAAA;AAEzF,qBAAa,qBAAsB,YAAW,uBAAuB;;IACjE,QAAQ,CAAC,IAAI,iBAAgB;IAC7B,QAAQ,CAAC,OAAO,UAAS;IAKzB,QAAQ,CAAC,cAAc;;;;MAAA;gBAEX,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,cAAc;IAO5D,IAAI,GAAG,IAAI,cAAc,CAAmB;IAC5C,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;IAEzE,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAE1C,WAAW,CAAC,YAAY,EAAE,SAAS,GAAG,gCAAgC;IAEtE,SAAS,IAAI,IAAI;CAkBpB"}
1
+ {"version":3,"file":"PitchDeviceBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/midi-effects/PitchDeviceBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAgB,IAAI,EAAe,MAAM,kBAAkB,CAAA;AAClE,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AACxG,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAA;AACpD,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,gCAAgC,EAAC,MAAM,wCAAwC,CAAA;AAEvF,qBAAa,qBAAsB,YAAW,uBAAuB;;IACjE,QAAQ,CAAC,IAAI,iBAAgB;IAC7B,QAAQ,CAAC,OAAO,UAAS;IAKzB,QAAQ,CAAC,cAAc;;;;MAAA;gBAEX,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,cAAc;IAO5D,IAAI,GAAG,IAAI,cAAc,CAAmB;IAC5C,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;IAEzE,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAE1C,WAAW,CAAC,YAAY,EAAE,SAAS,GAAG,gCAAgC;IAEtE,SAAS,IAAI,IAAI;CAkBpB"}
@@ -1,9 +1,9 @@
1
1
  import { Observer, Option, Subscription, Terminable } from "@opendaw/lib-std";
2
- import { Editing, PointerField, Vertex } from "@opendaw/lib-box";
2
+ import { BoxEditing, PointerField, Vertex } from "@opendaw/lib-box";
3
3
  import { Pointers } from "@opendaw/studio-enums";
4
4
  export declare class UserEditing implements Terminable {
5
5
  #private;
6
- constructor(editing: Editing);
6
+ constructor(editing: BoxEditing);
7
7
  catchupAndSubscribe(observer: Observer<Option<Vertex>>): Subscription;
8
8
  follow(pointer: PointerField<Pointers.Editing>): void;
9
9
  edit(target: Vertex<Pointers.Editing | Pointers>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"UserEditing.d.ts","sourceRoot":"","sources":["../../src/editing/UserEditing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAC,MAAM,kBAAkB,CAAA;AACrF,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAC,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAE9C,qBAAa,WAAY,YAAW,UAAU;;gBAO9B,OAAO,EAAE,OAAO;IAK5B,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY;IAKrE,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI;IAOrD,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,IAAI;IAIvD,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,OAAO;IAO/D,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC;IAErB,KAAK,IAAI,IAAI;IAEb,SAAS,IAAI,IAAI;CAOpB"}
1
+ {"version":3,"file":"UserEditing.d.ts","sourceRoot":"","sources":["../../src/editing/UserEditing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAC,MAAM,kBAAkB,CAAA;AACrF,OAAO,EAAC,UAAU,EAAE,YAAY,EAAE,MAAM,EAAC,MAAM,kBAAkB,CAAA;AACjE,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAE9C,qBAAa,WAAY,YAAW,UAAU;;gBAO9B,OAAO,EAAE,UAAU;IAK/B,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY;IAKrE,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI;IAOrD,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,IAAI;IAIvD,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,OAAO;IAO/D,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC;IAErB,KAAK,IAAI,IAAI;IAEb,SAAS,IAAI,IAAI;CAOpB"}
@@ -1,10 +1,10 @@
1
1
  import { Terminable } from "@opendaw/lib-std";
2
- import { Editing } from "@opendaw/lib-box";
2
+ import { BoxEditing } from "@opendaw/lib-box";
3
3
  import { UserInterfaceBox } from "@opendaw/studio-boxes";
4
4
  import { UserEditing } from "./UserEditing";
5
5
  export declare class UserEditingManager implements Terminable {
6
6
  #private;
7
- constructor(editing: Editing);
7
+ constructor(editing: BoxEditing);
8
8
  follow(userInterfaceBox: UserInterfaceBox): void;
9
9
  get modularSystem(): UserEditing;
10
10
  get timeline(): UserEditing;
@@ -1 +1 @@
1
- {"version":3,"file":"UserEditingManager.d.ts","sourceRoot":"","sources":["../../src/editing/UserEditingManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAa,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAA;AAEzC,qBAAa,kBAAmB,YAAW,UAAU;;gBAMrC,OAAO,EAAE,OAAO;IAO5B,MAAM,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI;IAMhD,IAAI,aAAa,IAAI,WAAW,CAA6B;IAC7D,IAAI,QAAQ,IAAI,WAAW,CAAwB;IACnD,IAAI,SAAS,IAAI,WAAW,CAAyB;IAErD,SAAS,IAAI,IAAI;CACpB"}
1
+ {"version":3,"file":"UserEditingManager.d.ts","sourceRoot":"","sources":["../../src/editing/UserEditingManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAa,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAA;AAEzC,qBAAa,kBAAmB,YAAW,UAAU;;gBAMrC,OAAO,EAAE,UAAU;IAO/B,MAAM,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI;IAMhD,IAAI,aAAa,IAAI,WAAW,CAA6B;IAC7D,IAAI,QAAQ,IAAI,WAAW,CAAwB;IACnD,IAAI,SAAS,IAAI,WAAW,CAAyB;IAErD,SAAS,IAAI,IAAI;CACpB"}
package/dist/index.d.ts CHANGED
@@ -36,7 +36,10 @@ export * from "./audio-unit/AudioUnitTracks";
36
36
  export * from "./audio-unit/AuxSendBoxAdapter";
37
37
  export * from "./audio/AudioData";
38
38
  export * from "./audio/AudioFileBoxAdapter";
39
+ export * from "./devices/audio-effects/CompressorDeviceBoxAdapter";
40
+ export * from "./devices/audio-effects/CrusherDeviceBoxAdapter";
39
41
  export * from "./devices/audio-effects/DelayDeviceBoxAdapter";
42
+ export * from "./devices/audio-effects/FoldDeviceBoxAdapter";
40
43
  export * from "./devices/audio-effects/ModularDeviceBoxAdapter";
41
44
  export * from "./devices/audio-effects/RevampDeviceBoxAdapter";
42
45
  export * from "./devices/audio-effects/ReverbDeviceBoxAdapter";
@@ -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,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,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,+BAA+B,CAAA;AAC7C,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,6BAA6B,CAAA;AAC3C,cAAc,oBAAoB,CAAA;AAClC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,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,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,oDAAoD,CAAA;AAClE,cAAc,iDAAiD,CAAA;AAC/D,cAAc,+CAA+C,CAAA;AAC7D,cAAc,8CAA8C,CAAA;AAC5D,cAAc,iDAAiD,CAAA;AAC/D,cAAc,gDAAgD,CAAA;AAC9D,cAAc,gDAAgD,CAAA;AAC9D,cAAc,oDAAoD,CAAA;AAClE,cAAc,4DAA4D,CAAA;AAC1E,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,iDAAiD,CAAA;AAC/D,cAAc,8CAA8C,CAAA;AAC5D,cAAc,0DAA0D,CAAA;AACxE,cAAc,kDAAkD,CAAA;AAChE,cAAc,uBAAuB,CAAA;AACrC,cAAc,8BAA8B,CAAA;AAC5C,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,0BAA0B,CAAA;AACxC,cAAc,iCAAiC,CAAA;AAC/C,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,2BAA2B,CAAA;AACzC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0BAA0B,CAAA;AACxC,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,yCAAyC,CAAA;AACvD,cAAc,wCAAwC,CAAA;AACtD,cAAc,yCAAyC,CAAA;AACvD,cAAc,UAAU,CAAA"}
package/dist/index.js CHANGED
@@ -38,7 +38,10 @@ export * from "./audio-unit/AudioUnitTracks";
38
38
  export * from "./audio-unit/AuxSendBoxAdapter";
39
39
  export * from "./audio/AudioData";
40
40
  export * from "./audio/AudioFileBoxAdapter";
41
+ export * from "./devices/audio-effects/CompressorDeviceBoxAdapter";
42
+ export * from "./devices/audio-effects/CrusherDeviceBoxAdapter";
41
43
  export * from "./devices/audio-effects/DelayDeviceBoxAdapter";
44
+ export * from "./devices/audio-effects/FoldDeviceBoxAdapter";
42
45
  export * from "./devices/audio-effects/ModularDeviceBoxAdapter";
43
46
  export * from "./devices/audio-effects/RevampDeviceBoxAdapter";
44
47
  export * from "./devices/audio-effects/ReverbDeviceBoxAdapter";
@@ -41,9 +41,9 @@ export class ModularAdapter {
41
41
  this.#box.modules.pointerHub.filter(Pointers.ModuleCollection).forEach(addModule);
42
42
  this.#box.connections.pointerHub.filter(Pointers.ConnectionCollection).forEach(addConnection);
43
43
  this.#terminator.own(this.#box.modules.pointerHub
44
- .subscribe({ onAdd: addModule, onRemove: removeModule }, Pointers.ModuleCollection));
44
+ .subscribe({ onAdded: addModule, onRemoved: removeModule }, Pointers.ModuleCollection));
45
45
  this.#terminator.own(this.#box.connections.pointerHub
46
- .subscribe({ onAdd: addConnection, onRemove: removeConnection }, Pointers.ConnectionCollection));
46
+ .subscribe({ onAdded: addConnection, onRemoved: removeConnection }, Pointers.ConnectionCollection));
47
47
  }
48
48
  catchupAndSubscribe(listener) {
49
49
  ifDefined(listener.onModuleAdded, fn => this.#modules.forEach(adapter => fn(adapter)));
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/modular/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,MAAM,EAAC,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAGoB,gBAAgB,EAI1C,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAY,UAAU,EAAC,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAI9C,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,mBAAmB,EAAC,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAC,cAAc,EAAC,MAAM,WAAW,CAAA;AACxC,OAAO,EAAC,SAAS,EAAE,sBAAsB,EAAC,MAAM,aAAa,CAAA;AAC7D,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAA;AAI1C,MAAM,WAAW,aAAc,SAAQ,UAAU,EAAE,UAAU;IACzD,IAAI,UAAU,IAAI,gBAAgB,CAAA;IAClC,IAAI,UAAU,IAAI,mBAAmB,CAAA;IACrC,IAAI,OAAO,IAAI,cAAc,CAAA;IAC7B,IAAI,MAAM,IAAI,aAAa,CAAC,sBAAsB,CAAC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;IAChG,IAAI,OAAO,IAAI,aAAa,CAAC,sBAAsB,CAAC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;CACrG;AAED,yBAAiB,OAAO,CAAC;IACd,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,OAMvC,CAAA;IAEJ,MAAM,UAAU,GAAI,UAAU,WAAW,EAAE,KAAK,GAAG,KAAG,aAMV,CAAA;CACtD"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/modular/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,MAAM,EAAC,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAIH,gBAAgB,EAInB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAY,UAAU,EAAC,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAI9C,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,mBAAmB,EAAC,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAC,cAAc,EAAC,MAAM,WAAW,CAAA;AACxC,OAAO,EAAC,SAAS,EAAE,sBAAsB,EAAC,MAAM,aAAa,CAAA;AAC7D,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAA;AAI1C,MAAM,WAAW,aAAc,SAAQ,UAAU,EAAE,UAAU;IACzD,IAAI,UAAU,IAAI,gBAAgB,CAAA;IAClC,IAAI,UAAU,IAAI,mBAAmB,CAAA;IACrC,IAAI,OAAO,IAAI,cAAc,CAAA;IAC7B,IAAI,MAAM,IAAI,aAAa,CAAC,sBAAsB,CAAC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;IAChG,IAAI,OAAO,IAAI,aAAa,CAAC,sBAAsB,CAAC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;CACrG;AAED,yBAAiB,OAAO,CAAC;IACd,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,OAMvC,CAAA;IAEJ,MAAM,UAAU,GAAI,UAAU,WAAW,EAAE,KAAK,GAAG,KAAG,aAMV,CAAA;CACtD"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectDecoder.d.ts","sourceRoot":"","sources":["../../src/project/ProjectDecoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AAYzC,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAA;AAE7D,yBAAiB,cAAc,CAAC;IACrB,MAAM,iBAAiB,aAAa,CAAA;IACpC,MAAM,cAAc,IAAI,CAAA;IAExB,MAAM,MAAM,GAAI,aAAa,eAAe,KAAG,eAUrD,CAAA;IAEM,MAAM,kBAAkB,GAAI,UAAU,QAAQ,KAAG,qBA+BvD,CAAA;CAUJ"}
1
+ {"version":3,"file":"ProjectDecoder.d.ts","sourceRoot":"","sources":["../../src/project/ProjectDecoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AAWzC,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAA;AAE7D,yBAAiB,cAAc,CAAC;IACrB,MAAM,iBAAiB,aAAa,CAAA;IACpC,MAAM,cAAc,IAAI,CAAA;IAExB,MAAM,MAAM,GAAI,aAAa,eAAe,KAAG,eAUrD,CAAA;IAEM,MAAM,kBAAkB,GAAI,UAAU,QAAQ,KAAG,qBAiBvD,CAAA;CACJ"}
@@ -1,7 +1,6 @@
1
1
  import { BoxGraph } from "@opendaw/lib-box";
2
- import { AudioUnitBox, BoxIO, RootBox } from "@opendaw/studio-boxes";
3
- import { assert, ByteArrayInput, isInstanceOf, isNotUndefined, Option, UUID } from "@opendaw/lib-std";
4
- import { AudioUnitType } from "@opendaw/studio-enums";
2
+ import { AudioBusBox, AudioUnitBox, BoxIO, TimelineBox, UserInterfaceBox } from "@opendaw/studio-boxes";
3
+ import { asInstanceOf, assert, ByteArrayInput, isDefined, Option, panic } from "@opendaw/lib-std";
5
4
  export var ProjectDecoder;
6
5
  (function (ProjectDecoder) {
7
6
  ProjectDecoder.MAGIC_HEADER_OPEN = 0x4F50454E;
@@ -15,46 +14,23 @@ export var ProjectDecoder;
15
14
  input.readBytes(boxGraphChunk);
16
15
  const boxGraph = new BoxGraph(Option.wrap(BoxIO.create));
17
16
  boxGraph.fromArrayBuffer(boxGraphChunk.buffer);
18
- return { boxGraph, mandatoryBoxes: readMandatoryBoxes(boxGraph, input) };
17
+ return { boxGraph, mandatoryBoxes: ProjectDecoder.findMandatoryBoxes(boxGraph) };
19
18
  };
20
19
  ProjectDecoder.findMandatoryBoxes = (boxGraph) => {
21
- const required = {};
22
- for (const box of boxGraph.boxes()) {
23
- box.accept({
24
- visitRootBox: (box) => required.rootBox = box,
25
- visitTimelineBox: (box) => required.timelineBox = box,
26
- visitUserInterfaceBox: (box) => {
27
- const root = box.root.targetVertex.unwrapOrNull()?.box;
28
- if (isInstanceOf(root, RootBox)) {
29
- required.userInterfaceBox = box;
30
- }
31
- },
32
- visitAudioUnitBox: (box) => {
33
- if (box.type.getValue() === AudioUnitType.Output) {
34
- required.masterAudioUnit = box;
35
- }
36
- },
37
- visitAudioBusBox: (box) => {
38
- const output = box.output.targetVertex.unwrapOrNull()?.box;
39
- if (isInstanceOf(output, AudioUnitBox) && output.type.getValue() === AudioUnitType.Output) {
40
- required.masterBusBox = box;
41
- }
42
- }
43
- });
20
+ const rootBox = boxGraph.boxes().find(box => box.accept({ visitRootBox: () => true }));
21
+ if (isDefined(rootBox)) {
22
+ const primaryAudioOutputUnit = asInstanceOf(rootBox.outputDevice.pointerHub.incoming().at(0)?.box, AudioUnitBox);
23
+ const primaryAudioBus = asInstanceOf(primaryAudioOutputUnit.input.pointerHub.incoming().at(0)?.box, AudioBusBox);
24
+ const timelineBox = asInstanceOf(rootBox.timeline.targetVertex.unwrap("TimelineBox not found").box, TimelineBox);
25
+ const userInterfaceBoxes = rootBox.users.pointerHub.incoming().map(({ box }) => asInstanceOf(box, UserInterfaceBox));
26
+ return {
27
+ rootBox,
28
+ primaryAudioBus,
29
+ primaryAudioOutputUnit,
30
+ timelineBox,
31
+ userInterfaceBoxes
32
+ };
44
33
  }
45
- assert(isNotUndefined(required.rootBox), "RootBox not found");
46
- assert(isNotUndefined(required.timelineBox), "TimelineBox not found");
47
- assert(isNotUndefined(required.userInterfaceBox), "UserInterfaceBox not found");
48
- assert(isNotUndefined(required.masterAudioUnit), "MasterAudioUnit not found");
49
- assert(isNotUndefined(required.masterBusBox), "MasterBusBox not found");
50
- return required;
51
- };
52
- const readMandatoryBoxes = (boxGraph, input) => {
53
- const rootBox = boxGraph.findBox(UUID.fromDataInput(input)).unwrap("RootBox not found");
54
- const userInterfaceBox = boxGraph.findBox(UUID.fromDataInput(input)).unwrap("UserInterfaceBox not found");
55
- const masterBusBox = boxGraph.findBox(UUID.fromDataInput(input)).unwrap("AudioBusBox not found");
56
- const masterAudioUnit = boxGraph.findBox(UUID.fromDataInput(input)).unwrap("AudioUnitBox not found");
57
- const timelineBox = boxGraph.findBox(UUID.fromDataInput(input)).unwrap("TimelineBox not found");
58
- return { rootBox, userInterfaceBox, masterBusBox, masterAudioUnit, timelineBox };
34
+ return panic("Could not find mandatory boxes");
59
35
  };
60
36
  })(ProjectDecoder || (ProjectDecoder = {}));
@@ -2,8 +2,8 @@ import { AudioBusBox, AudioUnitBox, RootBox, TimelineBox, UserInterfaceBox } fro
2
2
  export type ProjectMandatoryBoxes = {
3
3
  rootBox: RootBox;
4
4
  timelineBox: TimelineBox;
5
- masterBusBox: AudioBusBox;
6
- masterAudioUnit: AudioUnitBox;
7
- userInterfaceBox: UserInterfaceBox;
5
+ primaryAudioBus: AudioBusBox;
6
+ primaryAudioOutputUnit: AudioUnitBox;
7
+ userInterfaceBoxes: ReadonlyArray<UserInterfaceBox>;
8
8
  };
9
9
  //# sourceMappingURL=ProjectMandatoryBoxes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectMandatoryBoxes.d.ts","sourceRoot":"","sources":["../../src/project/ProjectMandatoryBoxes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAC,MAAM,uBAAuB,CAAA;AAEvG,MAAM,MAAM,qBAAqB,GAAG;IAChC,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,WAAW,CAAA;IACxB,YAAY,EAAE,WAAW,CAAA;IACzB,eAAe,EAAE,YAAY,CAAA;IAC7B,gBAAgB,EAAE,gBAAgB,CAAA;CACrC,CAAA"}
1
+ {"version":3,"file":"ProjectMandatoryBoxes.d.ts","sourceRoot":"","sources":["../../src/project/ProjectMandatoryBoxes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAC,MAAM,uBAAuB,CAAA;AAEvG,MAAM,MAAM,qBAAqB,GAAG;IAChC,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,WAAW,CAAA;IACxB,eAAe,EAAE,WAAW,CAAA;IAC5B,sBAAsB,EAAE,YAAY,CAAA;IACpC,kBAAkB,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAA;CACtD,CAAA"}
@@ -8,7 +8,7 @@ export interface EngineCommands extends Terminable {
8
8
  play(): void;
9
9
  stop(reset: boolean): void;
10
10
  setPosition(position: ppqn): void;
11
- startRecording(countIn: boolean): void;
11
+ prepareRecordingState(countIn: boolean): void;
12
12
  stopRecording(): void;
13
13
  setMetronomeEnabled(enabled: boolean): void;
14
14
  setPlaybackTimestampEnabled(enabled: boolean): void;
@@ -21,6 +21,7 @@ export interface EngineCommands extends Terminable {
21
21
  }
22
22
  export interface EngineToClient {
23
23
  log(message: string): void;
24
+ error(reason: unknown): void;
24
25
  fetchAudio(uuid: UUID.Bytes): Promise<AudioData>;
25
26
  fetchSoundfont(uuid: UUID.Bytes): Promise<SoundFont2>;
26
27
  notifyClipSequenceChanges(changes: ClipSequencingUpdates): void;
@@ -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,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAA;AAC3C,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,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,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACtC,aAAa,IAAI,IAAI,CAAA;IAErB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAC3C,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACnD,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IAExC,KAAK,IAAI,IAAI,CAAA;IAEb,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAA;IACpC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IAExC,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;CAC9D;AAED,MAAM,WAAW,cAAc;IAC3B,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,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,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,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAA;AAC3C,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,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,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAC7C,aAAa,IAAI,IAAI,CAAA;IAErB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAC3C,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACnD,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IAExC,KAAK,IAAI,IAAI,CAAA;IAEb,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAA;IACpC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IAExC,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;CAC9D;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,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,5 +1,5 @@
1
1
  import { Bijective, int, Predicate, Selection, SelectionListener, Subscription } from "@opendaw/lib-std";
2
- import { Addressable, BoxGraph, Editing, Field } from "@opendaw/lib-box";
2
+ import { Addressable, BoxGraph, BoxEditing, Field } from "@opendaw/lib-box";
3
3
  import { Pointers } from "@opendaw/studio-enums";
4
4
  import { SelectableVertex } from "./SelectableVertex";
5
5
  import { FilteredSelection } from "./FilteredSelection";
@@ -9,9 +9,9 @@ import { FilteredSelection } from "./FilteredSelection";
9
9
  */
10
10
  export declare class VertexSelection implements Selection<SelectableVertex> {
11
11
  #private;
12
- readonly editing: Editing;
12
+ readonly editing: BoxEditing;
13
13
  readonly boxGraph: BoxGraph;
14
- constructor(editing: Editing, boxGraph: BoxGraph);
14
+ constructor(editing: BoxEditing, boxGraph: BoxGraph);
15
15
  switch(target: Field<Pointers.Selection>): this;
16
16
  release(): void;
17
17
  createFilteredSelection<T extends Addressable>(affiliate: Predicate<SelectableVertex>, map: Bijective<T, SelectableVertex>): FilteredSelection<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"VertexSelection.d.ts","sourceRoot":"","sources":["../../src/selection/VertexSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,SAAS,EACT,GAAG,EAGH,SAAS,EACT,SAAS,EACT,iBAAiB,EAEjB,YAAY,EAGf,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAU,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAgC,MAAM,kBAAkB,CAAA;AAC9G,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;IAElB,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,GAAG,EAGH,SAAS,EACT,SAAS,EACT,iBAAiB,EAEjB,YAAY,EAGf,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAU,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAe,MAAM,kBAAkB,CAAA;AAChG,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,UAAU;IAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ;gBAAhD,OAAO,EAAE,UAAU,EAAW,QAAQ,EAAE,QAAQ;IAOrE,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;IAElB,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"}
@@ -97,7 +97,7 @@ export class VertexSelection {
97
97
  }
98
98
  #watch(target) {
99
99
  return target.pointerHub.catchupAndSubscribe({
100
- onAdd: (pointer) => {
100
+ onAdded: (pointer) => {
101
101
  const box = asInstanceOf(pointer.box, SelectionBox);
102
102
  assert(box.isAttached(), "SelectionBox is not attached");
103
103
  const selectable = box.selectable.targetVertex
@@ -108,7 +108,7 @@ export class VertexSelection {
108
108
  assert(this.#entityMap.add(entry), "Could not add to entityMap");
109
109
  assert(this.#selectableMap.add(entry), "Could not add to selectableMap");
110
110
  },
111
- onRemove: (pointer) => {
111
+ onRemoved: (pointer) => {
112
112
  const box = asInstanceOf(pointer.box, SelectionBox);
113
113
  const entry = this.#entityMap.removeByKey(box.address.uuid);
114
114
  assert(entry.box === box, "Broken selection");
@@ -16,7 +16,7 @@ export class MarkerTrackAdapter {
16
16
  this.#adapters = UUID.newSet(adapter => adapter.uuid);
17
17
  this.#events = EventCollection.create(MarkerBoxAdapter.Comparator);
18
18
  this.#subscription = this.#object.markers.pointerHub.catchupAndSubscribe({
19
- onAdd: ({ box }) => {
19
+ onAdded: ({ box }) => {
20
20
  if (box instanceof MarkerBox) {
21
21
  const adapter = this.#context.boxAdapters.adapterFor(box, MarkerBoxAdapter);
22
22
  const added = this.#adapters.add(adapter);
@@ -25,7 +25,7 @@ export class MarkerTrackAdapter {
25
25
  this.dispatchChange();
26
26
  }
27
27
  },
28
- onRemove: ({ box: { address: { uuid } } }) => {
28
+ onRemoved: ({ box: { address: { uuid } } }) => {
29
29
  this.#events.remove(this.#adapters.removeByKey(uuid));
30
30
  this.dispatchChange();
31
31
  }