@opendaw/studio-adapters 0.0.62 → 0.0.70

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 (99) hide show
  1. package/dist/AutomatableParameterFieldAdapter.js +2 -2
  2. package/dist/DeviceAdapter.d.ts +7 -6
  3. package/dist/DeviceAdapter.d.ts.map +1 -1
  4. package/dist/DeviceAdapter.js +1 -1
  5. package/dist/DeviceBox.d.ts +1 -1
  6. package/dist/DeviceBox.js +1 -1
  7. package/dist/LabeledAudioOutputsOwner.d.ts +11 -0
  8. package/dist/LabeledAudioOutputsOwner.d.ts.map +1 -0
  9. package/dist/LabeledAudioOutputsOwner.js +1 -0
  10. package/dist/NoteBroadcaster.d.ts.map +1 -1
  11. package/dist/NoteBroadcaster.js +2 -2
  12. package/dist/NoteSignal.d.ts +11 -1
  13. package/dist/NoteSignal.d.ts.map +1 -1
  14. package/dist/NoteSignal.js +2 -0
  15. package/dist/RootBoxAdapter.d.ts +3 -1
  16. package/dist/RootBoxAdapter.d.ts.map +1 -1
  17. package/dist/RootBoxAdapter.js +10 -1
  18. package/dist/audio-unit/AudioBusBoxAdapter.d.ts +3 -1
  19. package/dist/audio-unit/AudioBusBoxAdapter.d.ts.map +1 -1
  20. package/dist/audio-unit/AudioBusBoxAdapter.js +4 -0
  21. package/dist/audio-unit/AudioUnitBoxAdapter.d.ts +4 -2
  22. package/dist/audio-unit/AudioUnitBoxAdapter.d.ts.map +1 -1
  23. package/dist/audio-unit/AudioUnitBoxAdapter.js +16 -2
  24. package/dist/devices/audio-effects/CompressorDeviceBoxAdapter.d.ts +3 -0
  25. package/dist/devices/audio-effects/CompressorDeviceBoxAdapter.d.ts.map +1 -1
  26. package/dist/devices/audio-effects/CompressorDeviceBoxAdapter.js +8 -2
  27. package/dist/devices/audio-effects/CrusherDeviceBoxAdapter.d.ts +2 -0
  28. package/dist/devices/audio-effects/CrusherDeviceBoxAdapter.d.ts.map +1 -1
  29. package/dist/devices/audio-effects/CrusherDeviceBoxAdapter.js +7 -2
  30. package/dist/devices/audio-effects/DattorroReverbDeviceBoxAdapter.d.ts +2 -0
  31. package/dist/devices/audio-effects/DattorroReverbDeviceBoxAdapter.d.ts.map +1 -1
  32. package/dist/devices/audio-effects/DattorroReverbDeviceBoxAdapter.js +7 -2
  33. package/dist/devices/audio-effects/DelayDeviceBoxAdapter.d.ts +2 -0
  34. package/dist/devices/audio-effects/DelayDeviceBoxAdapter.d.ts.map +1 -1
  35. package/dist/devices/audio-effects/DelayDeviceBoxAdapter.js +7 -2
  36. package/dist/devices/audio-effects/FoldDeviceBoxAdapter.d.ts +2 -0
  37. package/dist/devices/audio-effects/FoldDeviceBoxAdapter.d.ts.map +1 -1
  38. package/dist/devices/audio-effects/FoldDeviceBoxAdapter.js +7 -2
  39. package/dist/devices/audio-effects/ModularDeviceBoxAdapter.d.ts +2 -0
  40. package/dist/devices/audio-effects/ModularDeviceBoxAdapter.d.ts.map +1 -1
  41. package/dist/devices/audio-effects/ModularDeviceBoxAdapter.js +4 -1
  42. package/dist/devices/audio-effects/RevampDeviceBoxAdapter.d.ts +2 -0
  43. package/dist/devices/audio-effects/RevampDeviceBoxAdapter.d.ts.map +1 -1
  44. package/dist/devices/audio-effects/RevampDeviceBoxAdapter.js +7 -2
  45. package/dist/devices/audio-effects/ReverbDeviceBoxAdapter.d.ts +2 -0
  46. package/dist/devices/audio-effects/ReverbDeviceBoxAdapter.d.ts.map +1 -1
  47. package/dist/devices/audio-effects/ReverbDeviceBoxAdapter.js +7 -2
  48. package/dist/devices/audio-effects/StereoToolDeviceBoxAdapter.d.ts +2 -0
  49. package/dist/devices/audio-effects/StereoToolDeviceBoxAdapter.d.ts.map +1 -1
  50. package/dist/devices/audio-effects/StereoToolDeviceBoxAdapter.js +7 -2
  51. package/dist/devices/audio-effects/TidalDeviceBoxAdapter.d.ts +2 -0
  52. package/dist/devices/audio-effects/TidalDeviceBoxAdapter.d.ts.map +1 -1
  53. package/dist/devices/audio-effects/TidalDeviceBoxAdapter.js +7 -2
  54. package/dist/devices/audio-effects/UnknownAudioEffectDeviceBoxAdapter.d.ts +2 -0
  55. package/dist/devices/audio-effects/UnknownAudioEffectDeviceBoxAdapter.d.ts.map +1 -1
  56. package/dist/devices/audio-effects/UnknownAudioEffectDeviceBoxAdapter.js +4 -0
  57. package/dist/devices/instruments/MIDIOutputDeviceBoxAdapter.d.ts +2 -0
  58. package/dist/devices/instruments/MIDIOutputDeviceBoxAdapter.d.ts.map +1 -1
  59. package/dist/devices/instruments/MIDIOutputDeviceBoxAdapter.js +4 -1
  60. package/dist/devices/instruments/NanoDeviceBoxAdapter.d.ts +2 -0
  61. package/dist/devices/instruments/NanoDeviceBoxAdapter.d.ts.map +1 -1
  62. package/dist/devices/instruments/NanoDeviceBoxAdapter.js +7 -2
  63. package/dist/devices/instruments/Playfield/PlayfieldSampleBoxAdapter.d.ts +5 -2
  64. package/dist/devices/instruments/Playfield/PlayfieldSampleBoxAdapter.d.ts.map +1 -1
  65. package/dist/devices/instruments/Playfield/PlayfieldSampleBoxAdapter.js +12 -1
  66. package/dist/devices/instruments/PlayfieldDeviceBoxAdapter.d.ts +3 -1
  67. package/dist/devices/instruments/PlayfieldDeviceBoxAdapter.d.ts.map +1 -1
  68. package/dist/devices/instruments/PlayfieldDeviceBoxAdapter.js +18 -1
  69. package/dist/devices/instruments/SoundfontDeviceBoxAdapter.d.ts +2 -0
  70. package/dist/devices/instruments/SoundfontDeviceBoxAdapter.d.ts.map +1 -1
  71. package/dist/devices/instruments/SoundfontDeviceBoxAdapter.js +4 -1
  72. package/dist/devices/instruments/TapeDeviceBoxAdapter.d.ts +2 -0
  73. package/dist/devices/instruments/TapeDeviceBoxAdapter.d.ts.map +1 -1
  74. package/dist/devices/instruments/TapeDeviceBoxAdapter.js +7 -2
  75. package/dist/devices/instruments/VaporisateurDeviceBoxAdapter.d.ts +2 -0
  76. package/dist/devices/instruments/VaporisateurDeviceBoxAdapter.d.ts.map +1 -1
  77. package/dist/devices/instruments/VaporisateurDeviceBoxAdapter.js +7 -2
  78. package/dist/devices/midi-effects/ArpeggioDeviceBoxAdapter.d.ts +1 -1
  79. package/dist/devices/midi-effects/PitchDeviceBoxAdapter.d.ts +1 -1
  80. package/dist/devices/midi-effects/UnknownMidiEffectDeviceBoxAdapter.d.ts +1 -1
  81. package/dist/devices/midi-effects/VelocityDeviceBoxAdapter.d.ts +1 -1
  82. package/dist/devices/midi-effects/ZeitgeistDeviceBoxAdapter.d.ts +1 -1
  83. package/dist/editing/UserEditing.js +1 -1
  84. package/dist/index.d.ts +1 -0
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +1 -0
  87. package/dist/preset/PresetDecoder.d.ts.map +1 -1
  88. package/dist/preset/PresetDecoder.js +20 -9
  89. package/dist/project/ProjectSkeleton.js +1 -1
  90. package/dist/project/ProjectUtils.d.ts.map +1 -1
  91. package/dist/project/ProjectUtils.js +37 -8
  92. package/dist/selection/VertexSelection.d.ts +2 -1
  93. package/dist/selection/VertexSelection.d.ts.map +1 -1
  94. package/dist/selection/VertexSelection.js +1 -0
  95. package/dist/timeline/RegionEditing.d.ts.map +1 -1
  96. package/dist/timeline/RegionEditing.js +1 -0
  97. package/dist/timeline/region/AudioRegionBoxAdapter.d.ts.map +1 -1
  98. package/dist/timeline/region/AudioRegionBoxAdapter.js +2 -6
  99. package/package.json +10 -10
@@ -11,6 +11,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
11
11
  };
12
12
  var _PlayfieldDeviceBoxAdapter_context, _PlayfieldDeviceBoxAdapter_box, _PlayfieldDeviceBoxAdapter_samples, _PlayfieldDeviceBoxAdapter_parametric;
13
13
  import { Pointers } from "@opendaw/studio-enums";
14
+ import { Option } from "@opendaw/lib-std";
14
15
  import { Devices } from "../../DeviceAdapter";
15
16
  import { IndexedBoxAdapterCollection } from "../../IndexedBoxAdapterCollection";
16
17
  import { PlayfieldSampleBoxAdapter } from "./Playfield/PlayfieldSampleBoxAdapter";
@@ -46,6 +47,22 @@ export class PlayfieldDeviceBoxAdapter {
46
47
  .adapterFor(__classPrivateFieldGet(this, _PlayfieldDeviceBoxAdapter_box, "f").host.targetVertex.unwrap("no device-host").box, Devices.isHost);
47
48
  }
48
49
  audioUnitBoxAdapter() { return this.deviceHost().audioUnitBoxAdapter(); }
49
- terminate() { __classPrivateFieldGet(this, _PlayfieldDeviceBoxAdapter_parametric, "f").terminate(); }
50
+ *labeledAudioOutputs() {
51
+ yield {
52
+ address: this.address,
53
+ label: this.labelField.getValue(),
54
+ children: () => Option.None
55
+ };
56
+ for (const sample of __classPrivateFieldGet(this, _PlayfieldDeviceBoxAdapter_samples, "f").adapters()) {
57
+ yield {
58
+ address: sample.address,
59
+ label: sample.fileLabel,
60
+ children: () => Option.wrap(sample.labeledAudioOutputs())
61
+ };
62
+ }
63
+ }
64
+ terminate() {
65
+ __classPrivateFieldGet(this, _PlayfieldDeviceBoxAdapter_parametric, "f").terminate();
66
+ }
50
67
  }
51
68
  _PlayfieldDeviceBoxAdapter_context = new WeakMap(), _PlayfieldDeviceBoxAdapter_box = new WeakMap(), _PlayfieldDeviceBoxAdapter_samples = new WeakMap(), _PlayfieldDeviceBoxAdapter_parametric = new WeakMap();
@@ -2,6 +2,7 @@ import { int, ObservableOption, UUID } from "@opendaw/lib-std";
2
2
  import { SoundfontDeviceBox } from "@opendaw/studio-boxes";
3
3
  import { Address, BooleanField, StringField } from "@opendaw/lib-box";
4
4
  import { DeviceHost, InstrumentDeviceBoxAdapter } from "../../DeviceAdapter";
5
+ import { LabeledAudioOutput } from "../../LabeledAudioOutputsOwner";
5
6
  import { BoxAdaptersContext } from "../../BoxAdaptersContext";
6
7
  import { TrackType } from "../../timeline/TrackType";
7
8
  import { AudioUnitBoxAdapter } from "../../audio-unit/AudioUnitBoxAdapter";
@@ -28,6 +29,7 @@ export declare class SoundfontDeviceBoxAdapter implements InstrumentDeviceBoxAda
28
29
  get acceptsMidiEvents(): boolean;
29
30
  deviceHost(): DeviceHost;
30
31
  audioUnitBoxAdapter(): AudioUnitBoxAdapter;
32
+ labeledAudioOutputs(): Iterable<LabeledAudioOutput>;
31
33
  terminate(): void;
32
34
  }
33
35
  //# sourceMappingURL=SoundfontDeviceBoxAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SoundfontDeviceBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/instruments/SoundfontDeviceBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,GAAG,EAEH,gBAAgB,EAKhB,IAAI,EACP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAC,UAAU,EAAW,0BAA0B,EAAC,MAAM,qBAAqB,CAAA;AACnF,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAE3D,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAA;AACxE,OAAO,EAAC,eAAe,EAAC,MAAM,iCAAiC,CAAA;AAC/D,OAAO,KAAK,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,YAAY,CAAA;AAElD,qBAAa,yBAA0B,YAAW,0BAA0B;;IACxE,QAAQ,CAAC,IAAI,gBAAe;IAC5B,QAAQ,CAAC,OAAO,UAAS;IAQzB,QAAQ,CAAC,cAAc,KAAA;gBAQX,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,kBAAkB;IAqBhE,IAAI,MAAM,IAAI,gBAAgB,CAAC,eAAe,CAAC,CAAsB;IACrE,IAAI,SAAS,IAAI,gBAAgB,CAAC,UAAU,CAAC,CAAyB;IACtE,IAAI,MAAM,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAsB;IAC5D,IAAI,WAAW,IAAI,GAAG,CAA0C;IAChE,IAAI,GAAG,IAAI,kBAAkB,CAAmB;IAChD,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,UAAU,IAAI,WAAW,CAAyB;IACtD,IAAI,SAAS,IAAI,WAAW,CAAwB;IACpD,IAAI,gBAAgB,IAAI,SAAS,CAAyB;IAC1D,IAAI,YAAY,IAAI,YAAY,CAA2B;IAC3D,IAAI,cAAc,IAAI,YAAY,CAA6B;IAC/D,IAAI,iBAAiB,IAAI,OAAO,CAAc;IAE9C,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAE1C,SAAS,IAAI,IAAI;CAwCpB"}
1
+ {"version":3,"file":"SoundfontDeviceBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/instruments/SoundfontDeviceBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,GAAG,EAEH,gBAAgB,EAKhB,IAAI,EACP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAC,UAAU,EAAW,0BAA0B,EAAC,MAAM,qBAAqB,CAAA;AACnF,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAE3D,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAA;AACxE,OAAO,EAAC,eAAe,EAAC,MAAM,iCAAiC,CAAA;AAC/D,OAAO,KAAK,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,YAAY,CAAA;AAElD,qBAAa,yBAA0B,YAAW,0BAA0B;;IACxE,QAAQ,CAAC,IAAI,gBAAe;IAC5B,QAAQ,CAAC,OAAO,UAAS;IAQzB,QAAQ,CAAC,cAAc,KAAA;gBAQX,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,kBAAkB;IAqBhE,IAAI,MAAM,IAAI,gBAAgB,CAAC,eAAe,CAAC,CAAsB;IACrE,IAAI,SAAS,IAAI,gBAAgB,CAAC,UAAU,CAAC,CAAyB;IACtE,IAAI,MAAM,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAsB;IAC5D,IAAI,WAAW,IAAI,GAAG,CAA0C;IAChE,IAAI,GAAG,IAAI,kBAAkB,CAAmB;IAChD,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,UAAU,IAAI,WAAW,CAAyB;IACtD,IAAI,SAAS,IAAI,WAAW,CAAwB;IACpD,IAAI,gBAAgB,IAAI,SAAS,CAAyB;IAC1D,IAAI,YAAY,IAAI,YAAY,CAA2B;IAC3D,IAAI,cAAc,IAAI,YAAY,CAA6B;IAC/D,IAAI,iBAAiB,IAAI,OAAO,CAAc;IAE9C,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAEzC,mBAAmB,IAAI,QAAQ,CAAC,kBAAkB,CAAC;IAIpD,SAAS,IAAI,IAAI;CAwCpB"}
@@ -10,7 +10,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
12
  var _SoundfontDeviceBoxAdapter_instances, _SoundfontDeviceBoxAdapter_terminator, _SoundfontDeviceBoxAdapter_context, _SoundfontDeviceBoxAdapter_box, _SoundfontDeviceBoxAdapter_parametric, _SoundfontDeviceBoxAdapter_loader, _SoundfontDeviceBoxAdapter_soundfont, _SoundfontDeviceBoxAdapter_preset, _SoundfontDeviceBoxAdapter_loaderSubscription, _SoundfontDeviceBoxAdapter_wrapParameters, _SoundfontDeviceBoxAdapter_loaderObserver;
13
- import { MutableObservableOption, Terminable, Terminator } from "@opendaw/lib-std";
13
+ import { MutableObservableOption, Option, Terminable, Terminator } from "@opendaw/lib-std";
14
14
  import { Devices } from "../../DeviceAdapter";
15
15
  import { ParameterAdapterSet } from "../../ParameterAdapterSet";
16
16
  import { TrackType } from "../../timeline/TrackType";
@@ -89,6 +89,9 @@ export class SoundfontDeviceBoxAdapter {
89
89
  .adapterFor(__classPrivateFieldGet(this, _SoundfontDeviceBoxAdapter_box, "f").host.targetVertex.unwrap("no device-host").box, Devices.isHost);
90
90
  }
91
91
  audioUnitBoxAdapter() { return this.deviceHost().audioUnitBoxAdapter(); }
92
+ *labeledAudioOutputs() {
93
+ yield { address: this.address, label: this.labelField.getValue(), children: () => Option.None };
94
+ }
92
95
  terminate() {
93
96
  __classPrivateFieldGet(this, _SoundfontDeviceBoxAdapter_loaderSubscription, "f").terminate();
94
97
  __classPrivateFieldSet(this, _SoundfontDeviceBoxAdapter_loaderSubscription, Terminable.Empty, "f");
@@ -2,6 +2,7 @@ import { TapeDeviceBox } from "@opendaw/studio-boxes";
2
2
  import { UUID } from "@opendaw/lib-std";
3
3
  import { Address, BooleanField, StringField } from "@opendaw/lib-box";
4
4
  import { DeviceHost, InstrumentDeviceBoxAdapter } from "../../DeviceAdapter";
5
+ import { LabeledAudioOutput } from "../../LabeledAudioOutputsOwner";
5
6
  import { BoxAdaptersContext } from "../../BoxAdaptersContext";
6
7
  import { AudioUnitBoxAdapter } from "../../audio-unit/AudioUnitBoxAdapter";
7
8
  import { TrackType } from "../../timeline/TrackType";
@@ -27,6 +28,7 @@ export declare class TapeDeviceBoxAdapter implements InstrumentDeviceBoxAdapter
27
28
  get acceptsMidiEvents(): boolean;
28
29
  deviceHost(): DeviceHost;
29
30
  audioUnitBoxAdapter(): AudioUnitBoxAdapter;
31
+ labeledAudioOutputs(): Iterable<LabeledAudioOutput>;
30
32
  terminate(): void;
31
33
  }
32
34
  //# sourceMappingURL=TapeDeviceBoxAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TapeDeviceBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/instruments/TapeDeviceBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAgB,IAAI,EAAe,MAAM,kBAAkB,CAAA;AAClE,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAC,UAAU,EAAW,0BAA0B,EAAC,MAAM,qBAAqB,CAAA;AACnF,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAE3D,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAA;AACxE,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAA;AAElD,qBAAa,oBAAqB,YAAW,0BAA0B;;IACnE,QAAQ,CAAC,IAAI,gBAAe;IAC5B,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,WAAW,CAAyB;IACtD,IAAI,SAAS,IAAI,WAAW,CAAwB;IACpD,IAAI,gBAAgB,IAAI,SAAS,CAAyB;IAC1D,IAAI,YAAY,IAAI,YAAY,CAA2B;IAC3D,IAAI,cAAc,IAAI,YAAY,CAA6B;IAC/D,IAAI,iBAAiB,IAAI,OAAO,CAAe;IAE/C,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAE1C,SAAS,IAAI,IAAI;CAsBpB"}
1
+ {"version":3,"file":"TapeDeviceBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/instruments/TapeDeviceBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAwB,IAAI,EAAe,MAAM,kBAAkB,CAAA;AAC1E,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAC,UAAU,EAAW,0BAA0B,EAAC,MAAM,qBAAqB,CAAA;AACnF,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAE3D,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAA;AACxE,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAA;AAElD,qBAAa,oBAAqB,YAAW,0BAA0B;;IACnE,QAAQ,CAAC,IAAI,gBAAe;IAC5B,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,WAAW,CAAyB;IACtD,IAAI,SAAS,IAAI,WAAW,CAAwB;IACpD,IAAI,gBAAgB,IAAI,SAAS,CAAyB;IAC1D,IAAI,YAAY,IAAI,YAAY,CAA2B;IAC3D,IAAI,cAAc,IAAI,YAAY,CAA6B;IAC/D,IAAI,iBAAiB,IAAI,OAAO,CAAe;IAE/C,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAEzC,mBAAmB,IAAI,QAAQ,CAAC,kBAAkB,CAAC;IAIpD,SAAS,IAAI,IAAI;CAwBpB"}
@@ -10,7 +10,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
12
  var _TapeDeviceBoxAdapter_instances, _TapeDeviceBoxAdapter_context, _TapeDeviceBoxAdapter_box, _TapeDeviceBoxAdapter_parametric, _TapeDeviceBoxAdapter_wrapParameters;
13
- import { StringMapping, ValueMapping } from "@opendaw/lib-std";
13
+ import { Option, StringMapping, ValueMapping } from "@opendaw/lib-std";
14
14
  import { Devices } from "../../DeviceAdapter";
15
15
  import { ParameterAdapterSet } from "../../ParameterAdapterSet";
16
16
  import { TrackType } from "../../timeline/TrackType";
@@ -41,7 +41,12 @@ export class TapeDeviceBoxAdapter {
41
41
  .adapterFor(__classPrivateFieldGet(this, _TapeDeviceBoxAdapter_box, "f").host.targetVertex.unwrap("no device-host").box, Devices.isHost);
42
42
  }
43
43
  audioUnitBoxAdapter() { return this.deviceHost().audioUnitBoxAdapter(); }
44
- terminate() { __classPrivateFieldGet(this, _TapeDeviceBoxAdapter_parametric, "f").terminate(); }
44
+ *labeledAudioOutputs() {
45
+ yield { address: this.address, label: this.labelField.getValue(), children: () => Option.None };
46
+ }
47
+ terminate() {
48
+ __classPrivateFieldGet(this, _TapeDeviceBoxAdapter_parametric, "f").terminate();
49
+ }
45
50
  }
46
51
  _TapeDeviceBoxAdapter_context = new WeakMap(), _TapeDeviceBoxAdapter_box = new WeakMap(), _TapeDeviceBoxAdapter_parametric = new WeakMap(), _TapeDeviceBoxAdapter_instances = new WeakSet(), _TapeDeviceBoxAdapter_wrapParameters = function _TapeDeviceBoxAdapter_wrapParameters(box) {
47
52
  return {
@@ -2,6 +2,7 @@ import { UUID } from "@opendaw/lib-std";
2
2
  import { VaporisateurDeviceBox } from "@opendaw/studio-boxes";
3
3
  import { Address, BooleanField, StringField } from "@opendaw/lib-box";
4
4
  import { DeviceHost, InstrumentDeviceBoxAdapter } from "../../DeviceAdapter";
5
+ import { LabeledAudioOutput } from "../../LabeledAudioOutputsOwner";
5
6
  import { BoxAdaptersContext } from "../../BoxAdaptersContext";
6
7
  import { TrackType } from "../../timeline/TrackType";
7
8
  import { AudioUnitBoxAdapter } from "../../audio-unit/AudioUnitBoxAdapter";
@@ -54,6 +55,7 @@ export declare class VaporisateurDeviceBoxAdapter implements InstrumentDeviceBox
54
55
  get acceptsMidiEvents(): boolean;
55
56
  deviceHost(): DeviceHost;
56
57
  audioUnitBoxAdapter(): AudioUnitBoxAdapter;
58
+ labeledAudioOutputs(): Iterable<LabeledAudioOutput>;
57
59
  terminate(): void;
58
60
  }
59
61
  //# sourceMappingURL=VaporisateurDeviceBoxAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VaporisateurDeviceBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/instruments/VaporisateurDeviceBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,IAAI,EAAe,MAAM,kBAAkB,CAAA;AAClE,OAAO,EAAC,qBAAqB,EAAC,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAC,UAAU,EAAW,0BAA0B,EAAC,MAAM,qBAAqB,CAAA;AACnF,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAE3D,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAA;AAIxE,qBAAa,4BAA6B,YAAW,0BAA0B;;IAC3E,QAAQ,CAAC,IAAI,gBAAe;IAC5B,QAAQ,CAAC,OAAO,UAAS;IAMzB,QAAQ,CAAC,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAA;gBAEX,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,qBAAqB;IAOnE,IAAI,GAAG,IAAI,qBAAqB,CAAmB;IACnD,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,UAAU,IAAI,WAAW,CAAyB;IACtD,IAAI,SAAS,IAAI,WAAW,CAAwB;IACpD,IAAI,gBAAgB,IAAI,SAAS,CAAyB;IAC1D,IAAI,YAAY,IAAI,YAAY,CAA2B;IAC3D,IAAI,cAAc,IAAI,YAAY,CAA6B;IAC/D,IAAI,iBAAiB,IAAI,OAAO,CAAc;IAE9C,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAE1C,SAAS,IAAI,IAAI;CAuHpB"}
1
+ {"version":3,"file":"VaporisateurDeviceBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/instruments/VaporisateurDeviceBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,IAAI,EAAe,MAAM,kBAAkB,CAAA;AAC1E,OAAO,EAAC,qBAAqB,EAAC,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAC,UAAU,EAAW,0BAA0B,EAAC,MAAM,qBAAqB,CAAA;AACnF,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAE3D,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAA;AAIxE,qBAAa,4BAA6B,YAAW,0BAA0B;;IAC3E,QAAQ,CAAC,IAAI,gBAAe;IAC5B,QAAQ,CAAC,OAAO,UAAS;IAMzB,QAAQ,CAAC,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAA;gBAEX,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,qBAAqB;IAOnE,IAAI,GAAG,IAAI,qBAAqB,CAAmB;IACnD,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,UAAU,IAAI,WAAW,CAAyB;IACtD,IAAI,SAAS,IAAI,WAAW,CAAwB;IACpD,IAAI,gBAAgB,IAAI,SAAS,CAAyB;IAC1D,IAAI,YAAY,IAAI,YAAY,CAA2B;IAC3D,IAAI,cAAc,IAAI,YAAY,CAA6B;IAC/D,IAAI,iBAAiB,IAAI,OAAO,CAAc;IAE9C,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAEzC,mBAAmB,IAAI,QAAQ,CAAC,kBAAkB,CAAC;IAIpD,SAAS,IAAI,IAAI;CAyHpB"}
@@ -10,7 +10,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
12
  var _VaporisateurDeviceBoxAdapter_instances, _VaporisateurDeviceBoxAdapter_context, _VaporisateurDeviceBoxAdapter_box, _VaporisateurDeviceBoxAdapter_parametric, _VaporisateurDeviceBoxAdapter_wrapParameters;
13
- import { StringMapping, ValueMapping } from "@opendaw/lib-std";
13
+ import { Option, StringMapping, ValueMapping } from "@opendaw/lib-std";
14
14
  import { Devices } from "../../DeviceAdapter";
15
15
  import { ParameterAdapterSet } from "../../ParameterAdapterSet";
16
16
  import { TrackType } from "../../timeline/TrackType";
@@ -43,7 +43,12 @@ export class VaporisateurDeviceBoxAdapter {
43
43
  .adapterFor(__classPrivateFieldGet(this, _VaporisateurDeviceBoxAdapter_box, "f").host.targetVertex.unwrap("no device-host").box, Devices.isHost);
44
44
  }
45
45
  audioUnitBoxAdapter() { return this.deviceHost().audioUnitBoxAdapter(); }
46
- terminate() { __classPrivateFieldGet(this, _VaporisateurDeviceBoxAdapter_parametric, "f").terminate(); }
46
+ *labeledAudioOutputs() {
47
+ yield { address: this.address, label: this.labelField.getValue(), children: () => Option.None };
48
+ }
49
+ terminate() {
50
+ __classPrivateFieldGet(this, _VaporisateurDeviceBoxAdapter_parametric, "f").terminate();
51
+ }
47
52
  }
48
53
  _VaporisateurDeviceBoxAdapter_context = new WeakMap(), _VaporisateurDeviceBoxAdapter_box = new WeakMap(), _VaporisateurDeviceBoxAdapter_parametric = new WeakMap(), _VaporisateurDeviceBoxAdapter_instances = new WeakSet(), _VaporisateurDeviceBoxAdapter_wrapParameters = function _VaporisateurDeviceBoxAdapter_wrapParameters(box) {
49
54
  const VoiceModes = [VoicingMode.Monophonic, VoicingMode.Polyphonic];
@@ -27,7 +27,7 @@ export declare class ArpeggioDeviceBoxAdapter implements MidiEffectDeviceAdapter
27
27
  get labelField(): StringField;
28
28
  get enabledField(): BooleanField;
29
29
  get minimizedField(): BooleanField;
30
- get host(): PointerField<Pointers.MidiEffectHost>;
30
+ get host(): PointerField<Pointers.MIDIEffectHost>;
31
31
  deviceHost(): DeviceHost;
32
32
  audioUnitBoxAdapter(): AudioUnitBoxAdapter;
33
33
  terminate(): void;
@@ -22,7 +22,7 @@ export declare class PitchDeviceBoxAdapter implements MidiEffectDeviceAdapter {
22
22
  get labelField(): StringField;
23
23
  get enabledField(): BooleanField;
24
24
  get minimizedField(): BooleanField;
25
- get host(): PointerField<Pointers.MidiEffectHost>;
25
+ get host(): PointerField<Pointers.MIDIEffectHost>;
26
26
  deviceHost(): DeviceHost;
27
27
  audioUnitBoxAdapter(): AudioUnitBoxAdapter;
28
28
  terminate(): void;
@@ -17,7 +17,7 @@ export declare class UnknownMidiEffectDeviceBoxAdapter implements MidiEffectDevi
17
17
  get labelField(): StringField;
18
18
  get enabledField(): BooleanField;
19
19
  get minimizedField(): BooleanField;
20
- get host(): PointerField<Pointers.MidiEffectHost>;
20
+ get host(): PointerField<Pointers.MIDIEffectHost>;
21
21
  get commentField(): StringField;
22
22
  deviceHost(): DeviceHost;
23
23
  audioUnitBoxAdapter(): AudioUnitBoxAdapter;
@@ -27,7 +27,7 @@ export declare class VelocityDeviceBoxAdapter implements MidiEffectDeviceAdapter
27
27
  get labelField(): StringField;
28
28
  get enabledField(): BooleanField;
29
29
  get minimizedField(): BooleanField;
30
- get host(): PointerField<Pointers.MidiEffectHost>;
30
+ get host(): PointerField<Pointers.MIDIEffectHost>;
31
31
  deviceHost(): DeviceHost;
32
32
  audioUnitBoxAdapter(): AudioUnitBoxAdapter;
33
33
  terminate(): void;
@@ -18,7 +18,7 @@ export declare class ZeitgeistDeviceBoxAdapter implements MidiEffectDeviceAdapte
18
18
  get labelField(): StringField;
19
19
  get enabledField(): BooleanField;
20
20
  get minimizedField(): BooleanField;
21
- get host(): PointerField<Pointers.MidiEffectHost>;
21
+ get host(): PointerField<Pointers.MIDIEffectHost>;
22
22
  deviceHost(): DeviceHost;
23
23
  groove(): GrooveAdapter;
24
24
  catchupAndSubscribeGroove(observer: Observer<GrooveAdapter>): Subscription;
@@ -31,7 +31,7 @@ export class UserEditing {
31
31
  .catchupAndSubscribe(pointer => __classPrivateFieldGet(this, _UserEditing_notifier, "f").notify(pointer.targetVertex))), "f");
32
32
  }
33
33
  edit(target) {
34
- __classPrivateFieldGet(this, _UserEditing_pointer, "f").ifSome(pointer => __classPrivateFieldGet(this, _UserEditing_editing, "f").modify(() => pointer.refer(target)));
34
+ __classPrivateFieldGet(this, _UserEditing_pointer, "f").ifSome(pointer => __classPrivateFieldGet(this, _UserEditing_editing, "f").modify(() => pointer.refer(target), false));
35
35
  }
36
36
  isEditing(vertex) {
37
37
  return __classPrivateFieldGet(this, _UserEditing_pointer, "f").match({
package/dist/index.d.ts CHANGED
@@ -14,6 +14,7 @@ export * from "./EngineStateSchema";
14
14
  export * from "./FieldAdapter";
15
15
  export * from "./IndexComparator";
16
16
  export * from "./IndexedBoxAdapterCollection";
17
+ export * from "./LabeledAudioOutputsOwner";
17
18
  export * from "./MetaData";
18
19
  export * from "./NoteBroadcaster";
19
20
  export * from "./NoteLifeCycle";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -16,6 +16,7 @@ export * from "./EngineStateSchema";
16
16
  export * from "./FieldAdapter";
17
17
  export * from "./IndexComparator";
18
18
  export * from "./IndexedBoxAdapterCollection";
19
+ export * from "./LabeledAudioOutputsOwner";
19
20
  export * from "./MetaData";
20
21
  export * from "./NoteBroadcaster";
21
22
  export * from "./NoteLifeCycle";
@@ -1 +1 @@
1
- {"version":3,"file":"PresetDecoder.d.ts","sourceRoot":"","sources":["../../src/preset/PresetDecoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,OAAO,EAQV,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EAEH,YAAY,EAOf,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAA;AAK1D,yBAAiB,aAAa,CAAC;IACpB,MAAM,MAAM,GAAI,OAAO,eAAe,EAAE,QAAQ,eAAe,SAqDrE,CAAA;IAEM,MAAM,gBAAgB,GAAI,aAAa,WAAW,EAAE,oBAAoB,YAAY,EAAE,UAAU;QACnG,eAAe,CAAC,EAAE,OAAO,CAAA;QACzB,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAC7B,KAAG,OAAO,CAAC,IAAI,EAAE,MAAM,CAgGvB,CAAA;CACJ"}
1
+ {"version":3,"file":"PresetDecoder.d.ts","sourceRoot":"","sources":["../../src/preset/PresetDecoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,OAAO,EASV,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EAEH,YAAY,EAOf,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAA;AAK1D,yBAAiB,aAAa,CAAC;IACpB,MAAM,MAAM,GAAI,OAAO,eAAe,EAAE,QAAQ,eAAe,SAqDrE,CAAA;IAEM,MAAM,gBAAgB,GAAI,aAAa,WAAW,EAAE,oBAAoB,YAAY,EAAE,UAAU;QACnG,eAAe,CAAC,EAAE,OAAO,CAAA;QACzB,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAC7B,KAAG,OAAO,CAAC,IAAI,EAAE,MAAM,CAyGvB,CAAA;CACJ"}
@@ -1,4 +1,4 @@
1
- import { asDefined, asInstanceOf, Attempts, ByteArrayInput, isDefined, isInstanceOf, Option, RuntimeNotifier, UUID } from "@opendaw/lib-std";
1
+ import { asDefined, asInstanceOf, Attempts, ByteArrayInput, isAbsent, isDefined, isInstanceOf, Option, RuntimeNotifier, UUID } from "@opendaw/lib-std";
2
2
  import { BoxGraph, PointerField } from "@opendaw/lib-box";
3
3
  import { AudioUnitType } from "@opendaw/studio-enums";
4
4
  import { AudioFileBox, AudioUnitBox, BoxIO, CaptureAudioBox, CaptureMidiBox, SoundfontFileBox, TrackBox } from "@opendaw/studio-boxes";
@@ -75,9 +75,12 @@ export var PresetDecoder;
75
75
  sourceBoxGraph.beginTransaction();
76
76
  PresetDecoder.decode(arrayBuffer, skeleton);
77
77
  sourceBoxGraph.endTransaction();
78
- const sourceAudioUnitBox = asDefined(skeleton.mandatoryBoxes.rootBox.audioUnits.pointerHub.incoming()
78
+ const sourceAudioUnitBox = skeleton.mandatoryBoxes.rootBox.audioUnits.pointerHub.incoming()
79
79
  .map(({ box }) => asInstanceOf(box, AudioUnitBox))
80
- .find((box) => box.type.getValue() !== AudioUnitType.Output), "Source has no audioUnitBox");
80
+ .find((box) => box.type.getValue() !== AudioUnitType.Output);
81
+ if (isAbsent(sourceAudioUnitBox)) {
82
+ return Attempts.err("Preset contains no valid audio unit. Please send the file to the developers.");
83
+ }
81
84
  const sourceCaptureBox = sourceAudioUnitBox.capture.targetVertex.mapOr(({ box }) => box.name, "");
82
85
  const targetCaptureBox = targetAudioUnitBox.capture.targetVertex.mapOr(({ box }) => box.name, "");
83
86
  if (sourceCaptureBox !== targetCaptureBox) {
@@ -128,6 +131,15 @@ export var PresetDecoder;
128
131
  : UUID.generate()
129
132
  }))
130
133
  ]);
134
+ // First, identify which file boxes already exist and should be skipped
135
+ const existingFileBoxUUIDs = UUID.newSet(uuid => uuid);
136
+ dependencies.forEach((source) => {
137
+ if (source instanceof AudioFileBox || source instanceof SoundfontFileBox) {
138
+ if (targetBoxGraph.findBox(source.address.uuid).nonEmpty()) {
139
+ existingFileBoxUUIDs.add(source.address.uuid);
140
+ }
141
+ }
142
+ });
131
143
  PointerField.decodeWith({
132
144
  map: (_pointer, newAddress) => newAddress.map(address => uuidMap.opt(address.uuid).match({
133
145
  none: () => address,
@@ -136,16 +148,15 @@ export var PresetDecoder;
136
148
  }, () => {
137
149
  dependencies
138
150
  .forEach((source) => {
139
- const input = new ByteArrayInput(source.toArrayBuffer());
140
- const key = source.name;
141
- const uuid = uuidMap.get(source.address.uuid).target;
142
151
  if (source instanceof AudioFileBox || source instanceof SoundfontFileBox) {
143
- // Those boxes keep their UUID. So if they are already in the graph, we can just read them.
144
- if (targetBoxGraph.findBox(source.address.uuid).nonEmpty()) {
145
- source.read(input);
152
+ // Those boxes keep their UUID. So if they are already in the graph, skip them.
153
+ if (existingFileBoxUUIDs.opt(source.address.uuid).nonEmpty()) {
146
154
  return;
147
155
  }
148
156
  }
157
+ const input = new ByteArrayInput(source.toArrayBuffer());
158
+ const key = source.name;
159
+ const uuid = uuidMap.get(source.address.uuid).target;
149
160
  targetBoxGraph.createBox(key, uuid, box => box.read(input));
150
161
  });
151
162
  });
@@ -32,7 +32,7 @@ export var ProjectSkeleton;
32
32
  });
33
33
  if (options.createOutputCompressor) {
34
34
  CompressorDeviceBox.create(boxGraph, UUID.generate(), box => {
35
- box.label.setValue("Compressor");
35
+ box.label.setValue("Master Compressor");
36
36
  box.index.setValue(0);
37
37
  box.host.refer(primaryAudioOutputUnit.audioEffects);
38
38
  box.threshold.setValue(0);
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectUtils.d.ts","sourceRoot":"","sources":["../../src/project/ProjectUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAcrC,OAAO,EAEH,YAAY,EAQf,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAC,YAAY,EAAgB,MAAM,WAAW,CAAA;AAGrD,yBAAiB,YAAY,CAAC;IASnB,MAAM,iBAAiB,GAAI,gBAAgB,aAAa,CAAC,YAAY,CAAC,EAC3C,4DAAwD,eAAe,EACvE,UAAS;QACL,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,eAAe,CAAC,EAAE,OAAO,CAAC;KACxB,KAClC,aAAa,CAAC,YAAY,CAgB/B,CAAA;IAEM,MAAM,cAAc,GAAI,aAAa,aAAa,CAAC,YAAY,CAAC,EACxC,4DAAwD,eAAe,EACvE,iBAAgB,IAAU,KAAG,IA8C3D,CAAA;CAqFJ"}
1
+ {"version":3,"file":"ProjectUtils.d.ts","sourceRoot":"","sources":["../../src/project/ProjectUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAcrC,OAAO,EAEH,YAAY,EASf,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAC,YAAY,EAAgB,MAAM,WAAW,CAAA;AAGrD,yBAAiB,YAAY,CAAC;IASnB,MAAM,iBAAiB,GAAI,gBAAgB,aAAa,CAAC,YAAY,CAAC,EAC3C,4DAAwD,eAAe,EACvE,UAAS;QACL,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,eAAe,CAAC,EAAE,OAAO,CAAC;KACxB,KAClC,aAAa,CAAC,YAAY,CAyB/B,CAAA;IAEM,MAAM,cAAc,GAAI,aAAa,aAAa,CAAC,YAAY,CAAC,EACxC,4DAAwD,eAAe,EACvE,iBAAgB,IAAU,KAAG,IA8C3D,CAAA;CAyGJ"}
@@ -1,5 +1,5 @@
1
1
  import { Arrays, asInstanceOf, assert, ByteArrayInput, isInstanceOf, Predicates, SetMultimap, UUID } from "@opendaw/lib-std";
2
- import { AudioFileBox, AudioUnitBox, AuxSendBox, SelectionBox, SoundfontFileBox, TrackBox } from "@opendaw/studio-boxes";
2
+ import { AudioFileBox, AudioUnitBox, AuxSendBox, SelectionBox, SoundfontFileBox, TrackBox, TransientMarkerBox } from "@opendaw/studio-boxes";
3
3
  import { IndexedBox, PointerField } from "@opendaw/lib-box";
4
4
  import { UnionBoxTypes } from "../unions";
5
5
  import { AudioUnitOrdering } from "../factories/AudioUnitOrdering";
@@ -15,9 +15,18 @@ export var ProjectUtils;
15
15
  // TODO Implement include options.
16
16
  assert(!options.includeAux && !options.includeBus, "Options are not yet implemented");
17
17
  const excludeBox = options?.excludeTimeline === true ? excludeTimelinePredicate : Predicates.alwaysFalse;
18
+ // First pass: collect UUIDs of actual source dependencies (without following mandatory incoming pointers)
19
+ const sourceUUIDs = UUID.newSet(uuid => uuid);
20
+ audioUnitBoxes.forEach(box => sourceUUIDs.add(box.address.uuid));
21
+ audioUnitBoxes
22
+ .flatMap(box => Array.from(box.graph.dependenciesOf(box, { alwaysFollowMandatory: false, excludeBox }).boxes))
23
+ .forEach(box => sourceUUIDs.add(box.address.uuid));
24
+ // Second pass: get full dependencies with mandatory following, but filter to only source UUIDs
25
+ // This excludes boxes from previous copies that reference shared AudioFileBox
18
26
  const dependencies = audioUnitBoxes
19
27
  .flatMap(box => Array.from(box.graph.dependenciesOf(box, { alwaysFollowMandatory: true, excludeBox }).boxes))
20
- .filter(box => box.name !== SelectionBox.ClassName && box.name !== AuxSendBox.ClassName);
28
+ .filter(box => box.name !== SelectionBox.ClassName && box.name !== AuxSendBox.ClassName)
29
+ .filter(box => sourceUUIDs.opt(box.address.uuid).nonEmpty());
21
30
  const uuidMap = generateTransferMap(audioUnitBoxes, dependencies, rootBox.audioUnits.address.uuid, primaryAudioBus.address.uuid);
22
31
  copy(uuidMap, boxGraph, audioUnitBoxes, dependencies);
23
32
  reorderAudioUnits(uuidMap, audioUnitBoxes, rootBox);
@@ -99,6 +108,17 @@ export var ProjectUtils;
99
108
  return uuidMap;
100
109
  };
101
110
  const copy = (uuidMap, boxGraph, audioUnitBoxes, dependencies) => {
111
+ // First, identify which file boxes already exist and should be skipped
112
+ const existingFileBoxUUIDs = UUID.newSet(uuid => uuid);
113
+ dependencies.forEach((source) => {
114
+ if (source instanceof AudioFileBox || source instanceof SoundfontFileBox) {
115
+ if (boxGraph.findBox(source.address.uuid).nonEmpty()) {
116
+ console.debug(`Skipping existing file box: ${source.name} ${UUID.toString(source.address.uuid)}`);
117
+ existingFileBoxUUIDs.add(source.address.uuid);
118
+ }
119
+ }
120
+ });
121
+ console.debug(`Dependencies to copy: ${dependencies.length}, existing file boxes: ${existingFileBoxUUIDs.size}`);
102
122
  PointerField.decodeWith({
103
123
  map: (_pointer, newAddress) => newAddress.map(address => uuidMap.opt(address.uuid).match({
104
124
  none: () => address,
@@ -114,16 +134,25 @@ export var ProjectUtils;
114
134
  });
115
135
  dependencies
116
136
  .forEach((source) => {
117
- const input = new ByteArrayInput(source.toArrayBuffer());
118
- const key = source.name;
119
- const uuid = uuidMap.get(source.address.uuid).target;
120
137
  if (source instanceof AudioFileBox || source instanceof SoundfontFileBox) {
121
- // Those boxes keep their UUID. So if they are already in the graph, we can just read them.
122
- if (boxGraph.findBox(source.address.uuid).nonEmpty()) {
123
- source.read(input);
138
+ // Those boxes keep their UUID. So if they are already in the graph, skip them.
139
+ if (existingFileBoxUUIDs.opt(source.address.uuid).nonEmpty()) {
140
+ console.debug(` Skipping file box: ${source.name}`);
124
141
  return;
125
142
  }
126
143
  }
144
+ // Skip TransientMarkerBox if its owner AudioFileBox already exists
145
+ if (source instanceof TransientMarkerBox) {
146
+ const ownerUUID = source.owner.targetAddress.unwrap().uuid;
147
+ if (existingFileBoxUUIDs.opt(ownerUUID).nonEmpty()) {
148
+ console.debug(` Skipping TransientMarkerBox (owner exists)`);
149
+ return;
150
+ }
151
+ }
152
+ const input = new ByteArrayInput(source.toArrayBuffer());
153
+ const key = source.name;
154
+ const uuid = uuidMap.get(source.address.uuid).target;
155
+ console.debug(` Creating: ${key} ${UUID.toString(uuid)}`);
127
156
  boxGraph.createBox(key, uuid, box => box.read(input));
128
157
  });
129
158
  });
@@ -1,5 +1,5 @@
1
1
  import { Bijective, int, Predicate, Selection, SelectionListener, Subscription } from "@opendaw/lib-std";
2
- import { Addressable, BoxGraph, BoxEditing, Field } from "@opendaw/lib-box";
2
+ import { Addressable, BoxEditing, BoxGraph, 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";
@@ -20,6 +20,7 @@ export declare class VertexSelection implements Selection<SelectableVertex> {
20
20
  deselectAll(): void;
21
21
  distance(inventory: Iterable<SelectableVertex>): ReadonlyArray<SelectableVertex>;
22
22
  isEmpty(): boolean;
23
+ nonEmpty(): boolean;
23
24
  count(): int;
24
25
  isSelected(selectable: SelectableVertex): boolean;
25
26
  selected(): ReadonlyArray<SelectableVertex>;
@@ -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,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;IAUf,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,UAAU,EAAE,QAAQ,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;IAUf,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"}
@@ -99,6 +99,7 @@ export class VertexSelection {
99
99
  return excludes;
100
100
  }
101
101
  isEmpty() { return __classPrivateFieldGet(this, _VertexSelection_selectableMap, "f").size() === 0; }
102
+ nonEmpty() { return __classPrivateFieldGet(this, _VertexSelection_selectableMap, "f").size() > 0; }
102
103
  count() { return __classPrivateFieldGet(this, _VertexSelection_selectableMap, "f").size(); }
103
104
  isSelected(selectable) { return __classPrivateFieldGet(this, _VertexSelection_selectableMap, "f").hasKey(selectable.address); }
104
105
  selected() { return __classPrivateFieldGet(this, _VertexSelection_selectableMap, "f").values().map(entry => entry.selectable); }
@@ -1 +1 @@
1
- {"version":3,"file":"RegionEditing.d.ts","sourceRoot":"","sources":["../../src/timeline/RegionEditing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAErC,OAAO,EAAC,mBAAmB,EAAoB,MAAM,sBAAsB,CAAA;AAE3E,yBAAiB,aAAa,CAAC;IACpB,MAAM,GAAG,GAAI,QAAQ,mBAAmB,EAAE,KAAK,IAAI,EAAE,aAAa,OAAO,KAAG,IAclF,CAAA;IAEM,MAAM,IAAI,GAAI,QAAQ,mBAAmB,EAAE,OAAO,IAAI,EAAE,KAAK,IAAI,KAAG,IAa1E,CAAA;CACJ"}
1
+ {"version":3,"file":"RegionEditing.d.ts","sourceRoot":"","sources":["../../src/timeline/RegionEditing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAErC,OAAO,EAAC,mBAAmB,EAAoB,MAAM,sBAAsB,CAAA;AAE3E,yBAAiB,aAAa,CAAC;IACpB,MAAM,GAAG,GAAI,QAAQ,mBAAmB,EAAE,KAAK,IAAI,EAAE,aAAa,OAAO,KAAG,IAelF,CAAA;IAEM,MAAM,IAAI,GAAI,QAAQ,mBAAmB,EAAE,OAAO,IAAI,EAAE,KAAK,IAAI,KAAG,IAa1E,CAAA;CACJ"}
@@ -3,6 +3,7 @@ import { UnionAdapterTypes } from "../UnionAdapterTypes";
3
3
  export var RegionEditing;
4
4
  (function (RegionEditing) {
5
5
  RegionEditing.cut = (region, cut, consolidate) => {
6
+ console.debug("cut", region.position, region.complete, cut);
6
7
  if (region.position >= cut || cut >= region.complete) {
7
8
  return;
8
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AudioRegionBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/timeline/region/AudioRegionBoxAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AudioRegionBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/timeline/region/AudioRegionBoxAdapter.ts"],"names":[],"mappings":"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"}
@@ -163,13 +163,9 @@ export class AudioRegionBoxAdapter {
163
163
  .map(vertex => __classPrivateFieldGet(this, _AudioRegionBoxAdapter_context, "f").boxAdapters.adapterFor(vertex.box, ValueEventCollectionBoxAdapter));
164
164
  }
165
165
  set position(value) { __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").position.setValue(value); }
166
- set duration(value) { if (__classPrivateFieldGet(this, _AudioRegionBoxAdapter_playMode, "f").nonEmpty()) {
167
- __classPrivateFieldGet(this, _AudioRegionBoxAdapter_durationConverter, "f").fromPPQN(value);
168
- } }
166
+ set duration(value) { __classPrivateFieldGet(this, _AudioRegionBoxAdapter_durationConverter, "f").fromPPQN(value); }
169
167
  set loopOffset(value) { __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopOffsetConverter, "f").fromPPQN(value); }
170
- set loopDuration(value) { if (__classPrivateFieldGet(this, _AudioRegionBoxAdapter_playMode, "f").nonEmpty()) {
171
- __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopDurationConverter, "f").fromPPQN(value);
172
- } }
168
+ set loopDuration(value) { __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopDurationConverter, "f").fromPPQN(value); }
173
169
  copyTo(params) {
174
170
  const eventCollection = this.optCollection.unwrap("Cannot make copy without event-collection");
175
171
  const eventTarget = params?.consolidate === true
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opendaw/studio-adapters",
3
- "version": "0.0.62",
3
+ "version": "0.0.70",
4
4
  "license": "LGPL-3.0-or-later",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -23,17 +23,17 @@
23
23
  "test": "echo \"No tests to run\""
24
24
  },
25
25
  "dependencies": {
26
- "@opendaw/lib-box": "^0.0.56",
27
- "@opendaw/lib-dsp": "^0.0.55",
28
- "@opendaw/lib-runtime": "^0.0.55",
29
- "@opendaw/lib-std": "^0.0.55",
30
- "@opendaw/studio-boxes": "^0.0.57",
31
- "@opendaw/studio-enums": "^0.0.47",
26
+ "@opendaw/lib-box": "^0.0.62",
27
+ "@opendaw/lib-dsp": "^0.0.61",
28
+ "@opendaw/lib-runtime": "^0.0.61",
29
+ "@opendaw/lib-std": "^0.0.61",
30
+ "@opendaw/studio-boxes": "^0.0.63",
31
+ "@opendaw/studio-enums": "^0.0.53",
32
32
  "soundfont2": "^0.5.0"
33
33
  },
34
34
  "devDependencies": {
35
- "@opendaw/eslint-config": "^0.0.22",
36
- "@opendaw/typescript-config": "^0.0.22"
35
+ "@opendaw/eslint-config": "^0.0.27",
36
+ "@opendaw/typescript-config": "^0.0.27"
37
37
  },
38
- "gitHead": "6b4c77bff99703f59b320a846b5336369a3e6604"
38
+ "gitHead": "b33275f0f9dbfc525fe517560b484514bdae3dad"
39
39
  }