@opendaw/studio-adapters 0.0.48 → 0.0.50

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 (171) hide show
  1. package/dist/AutomatableParameterFieldAdapter.js +86 -73
  2. package/dist/BoxAdapterCollection.js +30 -17
  3. package/dist/BoxAdapters.d.ts.map +1 -1
  4. package/dist/BoxAdapters.js +87 -72
  5. package/dist/BoxAdaptersContext.d.ts +2 -2
  6. package/dist/BoxAdaptersContext.d.ts.map +1 -1
  7. package/dist/EngineProcessorAttachment.d.ts +2 -1
  8. package/dist/EngineProcessorAttachment.d.ts.map +1 -1
  9. package/dist/FieldAdapter.js +45 -32
  10. package/dist/IndexedBoxAdapterCollection.js +45 -32
  11. package/dist/NoteBroadcaster.js +25 -12
  12. package/dist/NoteStreamReceiver.js +29 -16
  13. package/dist/ParameterAdapterSet.js +24 -11
  14. package/dist/ParameterFieldAdapters.js +19 -6
  15. package/dist/Parsing.d.ts +5 -0
  16. package/dist/Parsing.d.ts.map +1 -0
  17. package/dist/Parsing.js +10 -0
  18. package/dist/PianoModeAdapter.js +32 -19
  19. package/dist/RootBoxAdapter.js +37 -24
  20. package/dist/Validator.d.ts +10 -0
  21. package/dist/Validator.d.ts.map +1 -0
  22. package/dist/Validator.js +35 -0
  23. package/dist/audio/AudioFileBoxAdapter.js +23 -10
  24. package/dist/audio-unit/AudioBusBoxAdapter.d.ts +1 -1
  25. package/dist/audio-unit/AudioBusBoxAdapter.d.ts.map +1 -1
  26. package/dist/audio-unit/AudioBusBoxAdapter.js +31 -18
  27. package/dist/audio-unit/AudioUnitBoxAdapter.js +74 -63
  28. package/dist/audio-unit/AudioUnitInput.d.ts +1 -1
  29. package/dist/audio-unit/AudioUnitInput.d.ts.map +1 -1
  30. package/dist/audio-unit/AudioUnitInput.js +43 -30
  31. package/dist/audio-unit/AudioUnitOutput.js +33 -20
  32. package/dist/audio-unit/AudioUnitTracks.js +39 -26
  33. package/dist/audio-unit/AuxSendBoxAdapter.js +47 -34
  34. package/dist/devices/audio-effects/CompressorDeviceBoxAdapter.js +49 -37
  35. package/dist/devices/audio-effects/CrusherDeviceBoxAdapter.js +41 -29
  36. package/dist/devices/audio-effects/DelayDeviceBoxAdapter.js +51 -39
  37. package/dist/devices/audio-effects/FoldDeviceBoxAdapter.js +39 -27
  38. package/dist/devices/audio-effects/ModularDeviceBoxAdapter.js +33 -20
  39. package/dist/devices/audio-effects/RevampDeviceBoxAdapter.js +46 -34
  40. package/dist/devices/audio-effects/ReverbDeviceBoxAdapter.js +45 -33
  41. package/dist/devices/audio-effects/StereoToolDeviceBoxAdapter.js +43 -31
  42. package/dist/devices/audio-effects/TidalDeviceBoxAdapter.d.ts +36 -0
  43. package/dist/devices/audio-effects/TidalDeviceBoxAdapter.d.ts.map +1 -0
  44. package/dist/devices/audio-effects/TidalDeviceBoxAdapter.js +63 -0
  45. package/dist/devices/audio-effects/UnknownAudioEffectDeviceBoxAdapter.js +30 -17
  46. package/dist/devices/instruments/MIDIOutputDeviceBoxAdapter.js +42 -29
  47. package/dist/devices/instruments/NanoDeviceBoxAdapter.js +38 -26
  48. package/dist/devices/instruments/Playfield/PlayfieldSampleBoxAdapter.js +101 -89
  49. package/dist/devices/instruments/PlayfieldDeviceBoxAdapter.d.ts +0 -1
  50. package/dist/devices/instruments/PlayfieldDeviceBoxAdapter.d.ts.map +1 -1
  51. package/dist/devices/instruments/PlayfieldDeviceBoxAdapter.js +36 -24
  52. package/dist/devices/instruments/SoundfontDeviceBoxAdapter.js +84 -72
  53. package/dist/devices/instruments/TapeDeviceBoxAdapter.js +40 -28
  54. package/dist/devices/instruments/VaporisateurDeviceBoxAdapter.d.ts +26 -4
  55. package/dist/devices/instruments/VaporisateurDeviceBoxAdapter.d.ts.map +1 -1
  56. package/dist/devices/instruments/VaporisateurDeviceBoxAdapter.js +70 -33
  57. package/dist/devices/instruments/VaporisateurSettings.d.ts +17 -0
  58. package/dist/devices/instruments/VaporisateurSettings.d.ts.map +1 -0
  59. package/dist/devices/instruments/VaporisateurSettings.js +24 -0
  60. package/dist/devices/midi-effects/ArpeggioDeviceBoxAdapter.js +51 -39
  61. package/dist/devices/midi-effects/PitchDeviceBoxAdapter.js +40 -28
  62. package/dist/devices/midi-effects/UnknownMidiEffectDeviceBoxAdapter.js +30 -17
  63. package/dist/devices/midi-effects/VelocityDeviceBoxAdapter.js +47 -35
  64. package/dist/devices/midi-effects/ZeitgeistDeviceBoxAdapter.js +32 -19
  65. package/dist/editing/UserEditing.js +33 -20
  66. package/dist/editing/UserEditingManager.js +28 -15
  67. package/dist/factories/AudioBusFactory.d.ts +7 -0
  68. package/dist/factories/AudioBusFactory.d.ts.map +1 -0
  69. package/dist/factories/AudioBusFactory.js +29 -0
  70. package/dist/factories/AudioUnitFactory.d.ts +13 -0
  71. package/dist/factories/AudioUnitFactory.d.ts.map +1 -0
  72. package/dist/factories/AudioUnitFactory.js +44 -0
  73. package/dist/factories/AudioUnitOrdering.d.ts +3 -0
  74. package/dist/factories/AudioUnitOrdering.d.ts.map +1 -0
  75. package/dist/factories/AudioUnitOrdering.js +7 -0
  76. package/dist/factories/ColorCodes.d.ts +7 -0
  77. package/dist/factories/ColorCodes.d.ts.map +1 -0
  78. package/dist/factories/ColorCodes.js +32 -0
  79. package/dist/factories/Colors.d.ts +15 -0
  80. package/dist/factories/Colors.d.ts.map +1 -0
  81. package/dist/factories/Colors.js +23 -0
  82. package/dist/factories/InstrumentBox.d.ts +3 -0
  83. package/dist/factories/InstrumentBox.d.ts.map +1 -0
  84. package/dist/factories/InstrumentBox.js +1 -0
  85. package/dist/factories/InstrumentFactories.d.ts +34 -0
  86. package/dist/factories/InstrumentFactories.d.ts.map +1 -0
  87. package/dist/factories/InstrumentFactories.js +137 -0
  88. package/dist/factories/InstrumentFactory.d.ts +13 -0
  89. package/dist/factories/InstrumentFactory.d.ts.map +1 -0
  90. package/dist/factories/InstrumentFactory.js +1 -0
  91. package/dist/factories/InstrumentOptions.d.ts +9 -0
  92. package/dist/factories/InstrumentOptions.d.ts.map +1 -0
  93. package/dist/factories/InstrumentOptions.js +1 -0
  94. package/dist/factories/InstrumentProduct.d.ts +8 -0
  95. package/dist/factories/InstrumentProduct.d.ts.map +1 -0
  96. package/dist/factories/InstrumentProduct.js +1 -0
  97. package/dist/grooves/GrooveShuffleBoxAdapter.js +47 -35
  98. package/dist/index.d.ts +20 -3
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/index.js +20 -3
  101. package/dist/modular/abstract.js +37 -24
  102. package/dist/modular/connection.js +20 -7
  103. package/dist/modular/connector.js +29 -16
  104. package/dist/modular/modular.js +49 -36
  105. package/dist/modular/modules/audio-input.js +17 -4
  106. package/dist/modular/modules/audio-output.js +17 -4
  107. package/dist/modular/modules/delay.js +24 -11
  108. package/dist/modular/modules/gain.js +24 -11
  109. package/dist/modular/modules/multiplier.js +21 -8
  110. package/dist/modular/user-interface.js +25 -12
  111. package/dist/preset/PresetDecoder.d.ts +11 -0
  112. package/dist/preset/PresetDecoder.d.ts.map +1 -0
  113. package/dist/preset/PresetDecoder.js +154 -0
  114. package/dist/preset/PresetEncoder.d.ts +5 -0
  115. package/dist/preset/PresetEncoder.d.ts.map +1 -0
  116. package/dist/preset/PresetEncoder.js +19 -0
  117. package/dist/preset/PresetHeader.d.ts +5 -0
  118. package/dist/preset/PresetHeader.d.ts.map +1 -0
  119. package/dist/preset/PresetHeader.js +5 -0
  120. package/dist/project/ProjectQueries.d.ts +5 -0
  121. package/dist/project/ProjectQueries.d.ts.map +1 -0
  122. package/dist/project/ProjectQueries.js +10 -0
  123. package/dist/project/ProjectSkeleton.d.ts +10 -1
  124. package/dist/project/ProjectSkeleton.d.ts.map +1 -1
  125. package/dist/project/ProjectSkeleton.js +100 -1
  126. package/dist/project/ProjectUtils.d.ts +13 -0
  127. package/dist/project/ProjectUtils.d.ts.map +1 -0
  128. package/dist/project/ProjectUtils.js +142 -0
  129. package/dist/protocols.d.ts.map +1 -1
  130. package/dist/selection/FilteredSelection.js +47 -34
  131. package/dist/selection/VertexSelection.js +66 -55
  132. package/dist/soundfont/SoundfontFileBoxAdapter.js +21 -8
  133. package/dist/timeline/MarkerBoxAdapter.js +33 -20
  134. package/dist/timeline/MarkerTrackAdapter.js +34 -22
  135. package/dist/timeline/TimelineBoxAdapter.js +24 -11
  136. package/dist/timeline/TrackBoxAdapter.d.ts.map +1 -1
  137. package/dist/timeline/TrackBoxAdapter.js +97 -85
  138. package/dist/timeline/TrackClips.js +27 -14
  139. package/dist/timeline/TrackRegions.js +40 -27
  140. package/dist/timeline/TrackType.d.ts +1 -1
  141. package/dist/timeline/TrackType.d.ts.map +1 -1
  142. package/dist/timeline/TrackType.js +1 -1
  143. package/dist/timeline/clip/AudioClipBoxAdapter.js +66 -53
  144. package/dist/timeline/clip/NoteClipBoxAdapter.js +66 -53
  145. package/dist/timeline/clip/ValueClipBoxAdapter.js +67 -54
  146. package/dist/timeline/collection/NoteEventCollectionBoxAdapter.js +85 -73
  147. package/dist/timeline/collection/ValueEventCollectionBoxAdapter.js +53 -40
  148. package/dist/timeline/event/NoteEventBoxAdapter.js +43 -30
  149. package/dist/timeline/event/ValueEventBoxAdapter.js +67 -54
  150. package/dist/timeline/region/AudioRegionBoxAdapter.d.ts +17 -9
  151. package/dist/timeline/region/AudioRegionBoxAdapter.d.ts.map +1 -1
  152. package/dist/timeline/region/AudioRegionBoxAdapter.js +149 -83
  153. package/dist/timeline/region/MutableRegion.d.ts +8 -0
  154. package/dist/timeline/region/MutableRegion.d.ts.map +1 -0
  155. package/dist/timeline/region/MutableRegion.js +1 -0
  156. package/dist/timeline/region/NoteRegionBoxAdapter.d.ts +6 -1
  157. package/dist/timeline/region/NoteRegionBoxAdapter.d.ts.map +1 -1
  158. package/dist/timeline/region/NoteRegionBoxAdapter.js +78 -61
  159. package/dist/timeline/region/ValueRegionBoxAdapter.d.ts +6 -1
  160. package/dist/timeline/region/ValueRegionBoxAdapter.d.ts.map +1 -1
  161. package/dist/timeline/region/ValueRegionBoxAdapter.js +79 -62
  162. package/package.json +8 -8
  163. package/dist/IconSymbol.d.ts +0 -126
  164. package/dist/IconSymbol.d.ts.map +0 -1
  165. package/dist/IconSymbol.js +0 -126
  166. package/dist/UpdateClockRate.d.ts +0 -2
  167. package/dist/UpdateClockRate.d.ts.map +0 -1
  168. package/dist/UpdateClockRate.js +0 -2
  169. package/dist/project/ProjectDecoder.d.ts +0 -10
  170. package/dist/project/ProjectDecoder.d.ts.map +0 -1
  171. package/dist/project/ProjectDecoder.js +0 -36
@@ -0,0 +1,35 @@
1
+ import { AudioRegionBox } from "@opendaw/studio-boxes";
2
+ import { Arrays, Attempts, clamp } from "@opendaw/lib-std";
3
+ import { UnionBoxTypes } from "./unions";
4
+ import { TimeBase } from "@opendaw/lib-dsp";
5
+ export var Validator;
6
+ (function (Validator) {
7
+ Validator.isTimeSignatureValid = (numerator, denominator) => {
8
+ if (!Number.isInteger(numerator) || numerator < 1 || numerator > 31) {
9
+ return Attempts.err("Numerator needs to be a interger between 1 and 31");
10
+ }
11
+ if (!Number.isInteger(denominator) || denominator < 1 || denominator > 32 || (denominator & (denominator - 1)) !== 0) {
12
+ return Attempts.err("Denominator must be a power of two between 1 and 32");
13
+ }
14
+ return Attempts.ok([numerator, denominator]);
15
+ };
16
+ Validator.MIN_BPM = 30.0;
17
+ Validator.MAX_BPM = 1000.0;
18
+ Validator.clampBpm = (bpm) => Number.isFinite(bpm) ? clamp(bpm, Validator.MIN_BPM, Validator.MAX_BPM) : 120.0;
19
+ Validator.hasOverlappingRegions = (boxGraph) => boxGraph.boxes()
20
+ .some(box => box.accept({
21
+ visitTrackBox: (box) => {
22
+ for (const [current, next] of Arrays.iterateAdjacent(box.regions.pointerHub.incoming()
23
+ .map(({ box }) => UnionBoxTypes.asRegionBox(box))
24
+ .sort(({ position: a }, { position: b }) => a.getValue() - b.getValue()))) {
25
+ if (current instanceof AudioRegionBox && current.timeBase.getValue() === TimeBase.Seconds) {
26
+ return false;
27
+ }
28
+ if (current.position.getValue() + current.duration.getValue() > next.position.getValue()) {
29
+ return true;
30
+ }
31
+ }
32
+ return false;
33
+ }
34
+ }) ?? false);
35
+ })(Validator || (Validator = {}));
@@ -1,19 +1,32 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _AudioFileBoxAdapter_context, _AudioFileBoxAdapter_box;
1
13
  export class AudioFileBoxAdapter {
2
- #context;
3
- #box;
4
14
  constructor(context, box) {
5
- this.#context = context;
6
- this.#box = box;
15
+ _AudioFileBoxAdapter_context.set(this, void 0);
16
+ _AudioFileBoxAdapter_box.set(this, void 0);
17
+ __classPrivateFieldSet(this, _AudioFileBoxAdapter_context, context, "f");
18
+ __classPrivateFieldSet(this, _AudioFileBoxAdapter_box, box, "f");
7
19
  }
8
- get box() { return this.#box; }
9
- get uuid() { return this.#box.address.uuid; }
10
- get address() { return this.#box.address; }
11
- get startInSeconds() { return this.#box.startInSeconds.getValue(); }
12
- get endInSeconds() { return this.#box.endInSeconds.getValue(); }
20
+ get box() { return __classPrivateFieldGet(this, _AudioFileBoxAdapter_box, "f"); }
21
+ get uuid() { return __classPrivateFieldGet(this, _AudioFileBoxAdapter_box, "f").address.uuid; }
22
+ get address() { return __classPrivateFieldGet(this, _AudioFileBoxAdapter_box, "f").address; }
23
+ get startInSeconds() { return __classPrivateFieldGet(this, _AudioFileBoxAdapter_box, "f").startInSeconds.getValue(); }
24
+ get endInSeconds() { return __classPrivateFieldGet(this, _AudioFileBoxAdapter_box, "f").endInSeconds.getValue(); }
13
25
  get data() { return this.getOrCreateLoader().data; }
14
26
  get peaks() { return this.getOrCreateLoader().peaks; }
15
27
  getOrCreateLoader() {
16
- return this.#context.sampleManager.getOrCreate(this.#box.address.uuid);
28
+ return __classPrivateFieldGet(this, _AudioFileBoxAdapter_context, "f").sampleManager.getOrCreate(__classPrivateFieldGet(this, _AudioFileBoxAdapter_box, "f").address.uuid);
17
29
  }
18
30
  terminate() { }
19
31
  }
32
+ _AudioFileBoxAdapter_context = new WeakMap(), _AudioFileBoxAdapter_box = new WeakMap();
@@ -4,7 +4,7 @@ import { AudioBusBox } from "@opendaw/studio-boxes";
4
4
  import { DeviceBoxAdapter, DeviceHost } from "../DeviceAdapter";
5
5
  import { BoxAdaptersContext } from "../BoxAdaptersContext";
6
6
  import { AudioUnitBoxAdapter } from "./AudioUnitBoxAdapter";
7
- import { IconSymbol } from "../IconSymbol";
7
+ import { IconSymbol } from "@opendaw/studio-enums";
8
8
  export declare class AudioBusBoxAdapter implements DeviceBoxAdapter {
9
9
  #private;
10
10
  readonly type = "bus";
@@ -1 +1 @@
1
- {"version":3,"file":"AudioBusBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/audio-unit/AudioBusBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,YAAY,EAAe,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAChF,OAAO,EAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAC,gBAAgB,EAAE,UAAU,EAAU,MAAM,kBAAkB,CAAA;AACtE,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AAExC,qBAAa,kBAAmB,YAAW,gBAAgB;;IACvD,QAAQ,CAAC,IAAI,SAAQ;IACrB,QAAQ,CAAC,OAAO,WAAU;gBAKd,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,WAAW;IAKzD,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY;IAK3D,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,GAAG,IAAI,WAAW,CAAmB;IACzC,IAAI,YAAY,IAAI,YAAY,CAA2B;IAC3D,IAAI,cAAc,IAAI,YAAY,CAA6B;IAC/D,IAAI,SAAS,IAAI,WAAW,CAAwB;IACpD,IAAI,UAAU,IAAI,WAAW,CAAyB;IACtD,IAAI,UAAU,IAAI,WAAW,CAAyB;IACtD,IAAI,UAAU,IAAI,UAAU,CAAuE;IAEnG,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAE1C,SAAS,IAAI,IAAI;IAEjB,QAAQ,IAAI,MAAM;CACrB"}
1
+ {"version":3,"file":"AudioBusBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/audio-unit/AudioBusBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,YAAY,EAAe,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAChF,OAAO,EAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAC,gBAAgB,EAAE,UAAU,EAAU,MAAM,kBAAkB,CAAA;AACtE,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAA;AAEhD,qBAAa,kBAAmB,YAAW,gBAAgB;;IACvD,QAAQ,CAAC,IAAI,SAAQ;IACrB,QAAQ,CAAC,OAAO,WAAU;gBAKd,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,WAAW;IAKzD,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY;IAK3D,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,GAAG,IAAI,WAAW,CAAmB;IACzC,IAAI,YAAY,IAAI,YAAY,CAA2B;IAC3D,IAAI,cAAc,IAAI,YAAY,CAA6B;IAC/D,IAAI,SAAS,IAAI,WAAW,CAAwB;IACpD,IAAI,UAAU,IAAI,WAAW,CAAyB;IACtD,IAAI,UAAU,IAAI,WAAW,CAAyB;IACtD,IAAI,UAAU,IAAI,UAAU,CAAuE;IAEnG,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAE1C,SAAS,IAAI,IAAI;IAEjB,QAAQ,IAAI,MAAM;CACrB"}
@@ -1,33 +1,46 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _AudioBusBoxAdapter_context, _AudioBusBoxAdapter_box;
1
13
  import { Propagation } from "@opendaw/lib-box";
2
14
  import { Devices } from "../DeviceAdapter";
3
- import { IconSymbol } from "../IconSymbol";
15
+ import { IconSymbol } from "@opendaw/studio-enums";
4
16
  export class AudioBusBoxAdapter {
5
- type = "bus";
6
- accepts = "audio";
7
- #context;
8
- #box;
9
17
  constructor(context, box) {
10
- this.#context = context;
11
- this.#box = box;
18
+ this.type = "bus";
19
+ this.accepts = "audio";
20
+ _AudioBusBoxAdapter_context.set(this, void 0);
21
+ _AudioBusBoxAdapter_box.set(this, void 0);
22
+ __classPrivateFieldSet(this, _AudioBusBoxAdapter_context, context, "f");
23
+ __classPrivateFieldSet(this, _AudioBusBoxAdapter_box, box, "f");
12
24
  }
13
25
  catchupAndSubscribe(observer) {
14
26
  observer(this);
15
- return this.#box.subscribe(Propagation.Children, () => observer(this));
27
+ return __classPrivateFieldGet(this, _AudioBusBoxAdapter_box, "f").subscribe(Propagation.Children, () => observer(this));
16
28
  }
17
- get uuid() { return this.#box.address.uuid; }
18
- get address() { return this.#box.address; }
19
- get box() { return this.#box; }
20
- get enabledField() { return this.#box.enabled; }
21
- get minimizedField() { return this.#box.minimized; }
22
- get iconField() { return this.#box.icon; }
23
- get labelField() { return this.#box.label; }
24
- get colorField() { return this.#box.color; }
29
+ get uuid() { return __classPrivateFieldGet(this, _AudioBusBoxAdapter_box, "f").address.uuid; }
30
+ get address() { return __classPrivateFieldGet(this, _AudioBusBoxAdapter_box, "f").address; }
31
+ get box() { return __classPrivateFieldGet(this, _AudioBusBoxAdapter_box, "f"); }
32
+ get enabledField() { return __classPrivateFieldGet(this, _AudioBusBoxAdapter_box, "f").enabled; }
33
+ get minimizedField() { return __classPrivateFieldGet(this, _AudioBusBoxAdapter_box, "f").minimized; }
34
+ get iconField() { return __classPrivateFieldGet(this, _AudioBusBoxAdapter_box, "f").icon; }
35
+ get labelField() { return __classPrivateFieldGet(this, _AudioBusBoxAdapter_box, "f").label; }
36
+ get colorField() { return __classPrivateFieldGet(this, _AudioBusBoxAdapter_box, "f").color; }
25
37
  get iconSymbol() { return IconSymbol.fromName(this.iconField.getValue() ?? "audio-bus"); }
26
38
  deviceHost() {
27
- return this.#context.boxAdapters
28
- .adapterFor(this.#box.output.targetVertex.unwrap("No AudioUnitBox found").box, Devices.isHost);
39
+ return __classPrivateFieldGet(this, _AudioBusBoxAdapter_context, "f").boxAdapters
40
+ .adapterFor(__classPrivateFieldGet(this, _AudioBusBoxAdapter_box, "f").output.targetVertex.unwrap("No AudioUnitBox found").box, Devices.isHost);
29
41
  }
30
42
  audioUnitBoxAdapter() { return this.deviceHost().audioUnitBoxAdapter(); }
31
43
  terminate() { }
32
44
  toString() { return `{${this.constructor.name}}`; }
33
45
  }
46
+ _AudioBusBoxAdapter_context = new WeakMap(), _AudioBusBoxAdapter_box = new WeakMap();
@@ -1,3 +1,15 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _AudioUnitBoxAdapter_instances, _a, _AudioUnitBoxAdapter_terminator, _AudioUnitBoxAdapter_context, _AudioUnitBoxAdapter_box, _AudioUnitBoxAdapter_parametric, _AudioUnitBoxAdapter_tracks, _AudioUnitBoxAdapter_input, _AudioUnitBoxAdapter_midiEffects, _AudioUnitBoxAdapter_audioEffects, _AudioUnitBoxAdapter_auxSends, _AudioUnitBoxAdapter_output, _AudioUnitBoxAdapter_wrapParameters, _AudioUnitBoxAdapter_sanityCheck;
1
13
  import { assert, StringMapping, Terminator, ValueMapping } from "@opendaw/lib-std";
2
14
  import { AudioUnitType, Pointers } from "@opendaw/studio-enums";
3
15
  import { Devices } from "../DeviceAdapter";
@@ -8,60 +20,59 @@ import { ParameterAdapterSet } from "../ParameterAdapterSet";
8
20
  import { AuxSendBoxAdapter } from "./AuxSendBoxAdapter";
9
21
  import { AudioUnitOutput } from "./AudioUnitOutput";
10
22
  export class AudioUnitBoxAdapter {
11
- static VolumeMapper = ValueMapping.decibel(-96.0, -9.0, +6.0);
12
- "class" = "device-host";
13
- #terminator = new Terminator();
14
- #context;
15
- #box;
16
- #parametric;
17
- #tracks;
18
- #input;
19
- #midiEffects;
20
- #audioEffects;
21
- #auxSends;
22
- #output;
23
- namedParameter; // let typescript infer the type
24
23
  constructor(context, box) {
25
- this.#context = context;
26
- this.#box = box;
27
- this.#parametric = this.#terminator.own(new ParameterAdapterSet(this.#context));
28
- this.#tracks = this.#terminator.own(new AudioUnitTracks(this, this.#context.boxAdapters));
29
- this.#input = this.#terminator.own(new AudioUnitInput(this.#box.input.pointerHub, this.#context.boxAdapters));
30
- this.#midiEffects = this.#terminator.own(IndexedBoxAdapterCollection.create(this.#box.midiEffects, box => this.#context.boxAdapters.adapterFor(box, Devices.isMidiEffect), Pointers.MidiEffectHost));
31
- this.#audioEffects = this.#terminator.own(IndexedBoxAdapterCollection.create(this.#box.audioEffects, box => this.#context.boxAdapters.adapterFor(box, Devices.isAudioEffect), Pointers.AudioEffectHost));
32
- this.#auxSends = this.#terminator.own(IndexedBoxAdapterCollection.create(this.#box.auxSends, box => this.#context.boxAdapters.adapterFor(box, AuxSendBoxAdapter), Pointers.AuxSend));
33
- this.#output = this.#terminator.own(new AudioUnitOutput(this.#box.output, this.#context.boxAdapters));
34
- this.namedParameter = this.#wrapParameters(box);
35
- this.#sanityCheck();
24
+ _AudioUnitBoxAdapter_instances.add(this);
25
+ this["class"] = "device-host";
26
+ _AudioUnitBoxAdapter_terminator.set(this, new Terminator());
27
+ _AudioUnitBoxAdapter_context.set(this, void 0);
28
+ _AudioUnitBoxAdapter_box.set(this, void 0);
29
+ _AudioUnitBoxAdapter_parametric.set(this, void 0);
30
+ _AudioUnitBoxAdapter_tracks.set(this, void 0);
31
+ _AudioUnitBoxAdapter_input.set(this, void 0);
32
+ _AudioUnitBoxAdapter_midiEffects.set(this, void 0);
33
+ _AudioUnitBoxAdapter_audioEffects.set(this, void 0);
34
+ _AudioUnitBoxAdapter_auxSends.set(this, void 0);
35
+ _AudioUnitBoxAdapter_output.set(this, void 0);
36
+ __classPrivateFieldSet(this, _AudioUnitBoxAdapter_context, context, "f");
37
+ __classPrivateFieldSet(this, _AudioUnitBoxAdapter_box, box, "f");
38
+ __classPrivateFieldSet(this, _AudioUnitBoxAdapter_parametric, __classPrivateFieldGet(this, _AudioUnitBoxAdapter_terminator, "f").own(new ParameterAdapterSet(__classPrivateFieldGet(this, _AudioUnitBoxAdapter_context, "f"))), "f");
39
+ __classPrivateFieldSet(this, _AudioUnitBoxAdapter_tracks, __classPrivateFieldGet(this, _AudioUnitBoxAdapter_terminator, "f").own(new AudioUnitTracks(this, __classPrivateFieldGet(this, _AudioUnitBoxAdapter_context, "f").boxAdapters)), "f");
40
+ __classPrivateFieldSet(this, _AudioUnitBoxAdapter_input, __classPrivateFieldGet(this, _AudioUnitBoxAdapter_terminator, "f").own(new AudioUnitInput(__classPrivateFieldGet(this, _AudioUnitBoxAdapter_box, "f").input.pointerHub, __classPrivateFieldGet(this, _AudioUnitBoxAdapter_context, "f").boxAdapters)), "f");
41
+ __classPrivateFieldSet(this, _AudioUnitBoxAdapter_midiEffects, __classPrivateFieldGet(this, _AudioUnitBoxAdapter_terminator, "f").own(IndexedBoxAdapterCollection.create(__classPrivateFieldGet(this, _AudioUnitBoxAdapter_box, "f").midiEffects, box => __classPrivateFieldGet(this, _AudioUnitBoxAdapter_context, "f").boxAdapters.adapterFor(box, Devices.isMidiEffect), Pointers.MidiEffectHost)), "f");
42
+ __classPrivateFieldSet(this, _AudioUnitBoxAdapter_audioEffects, __classPrivateFieldGet(this, _AudioUnitBoxAdapter_terminator, "f").own(IndexedBoxAdapterCollection.create(__classPrivateFieldGet(this, _AudioUnitBoxAdapter_box, "f").audioEffects, box => __classPrivateFieldGet(this, _AudioUnitBoxAdapter_context, "f").boxAdapters.adapterFor(box, Devices.isAudioEffect), Pointers.AudioEffectHost)), "f");
43
+ __classPrivateFieldSet(this, _AudioUnitBoxAdapter_auxSends, __classPrivateFieldGet(this, _AudioUnitBoxAdapter_terminator, "f").own(IndexedBoxAdapterCollection.create(__classPrivateFieldGet(this, _AudioUnitBoxAdapter_box, "f").auxSends, box => __classPrivateFieldGet(this, _AudioUnitBoxAdapter_context, "f").boxAdapters.adapterFor(box, AuxSendBoxAdapter), Pointers.AuxSend)), "f");
44
+ __classPrivateFieldSet(this, _AudioUnitBoxAdapter_output, __classPrivateFieldGet(this, _AudioUnitBoxAdapter_terminator, "f").own(new AudioUnitOutput(__classPrivateFieldGet(this, _AudioUnitBoxAdapter_box, "f").output, __classPrivateFieldGet(this, _AudioUnitBoxAdapter_context, "f").boxAdapters)), "f");
45
+ this.namedParameter = __classPrivateFieldGet(this, _AudioUnitBoxAdapter_instances, "m", _AudioUnitBoxAdapter_wrapParameters).call(this, box);
46
+ __classPrivateFieldGet(this, _AudioUnitBoxAdapter_instances, "m", _AudioUnitBoxAdapter_sanityCheck).call(this);
36
47
  }
37
- get box() { return this.#box; }
38
- get uuid() { return this.#box.address.uuid; }
39
- get address() { return this.#box.address; }
40
- get indexField() { return this.#box.index; }
41
- get type() { return this.#box.type.getValue(); }
42
- get captureBox() { return this.#box.capture.targetVertex; }
43
- get tracks() { return this.#tracks; }
44
- get input() { return this.#input; }
45
- get midiEffects() { return this.#midiEffects; }
46
- get audioEffects() { return this.#audioEffects; }
47
- get inputAdapter() { return this.#input.getValue(); }
48
- get auxSends() { return this.#auxSends; }
49
- get output() { return this.#output; }
48
+ get box() { return __classPrivateFieldGet(this, _AudioUnitBoxAdapter_box, "f"); }
49
+ get uuid() { return __classPrivateFieldGet(this, _AudioUnitBoxAdapter_box, "f").address.uuid; }
50
+ get address() { return __classPrivateFieldGet(this, _AudioUnitBoxAdapter_box, "f").address; }
51
+ get indexField() { return __classPrivateFieldGet(this, _AudioUnitBoxAdapter_box, "f").index; }
52
+ get type() { return __classPrivateFieldGet(this, _AudioUnitBoxAdapter_box, "f").type.getValue(); }
53
+ get captureBox() { return __classPrivateFieldGet(this, _AudioUnitBoxAdapter_box, "f").capture.targetVertex; }
54
+ get tracks() { return __classPrivateFieldGet(this, _AudioUnitBoxAdapter_tracks, "f"); }
55
+ get input() { return __classPrivateFieldGet(this, _AudioUnitBoxAdapter_input, "f"); }
56
+ get midiEffects() { return __classPrivateFieldGet(this, _AudioUnitBoxAdapter_midiEffects, "f"); }
57
+ get audioEffects() { return __classPrivateFieldGet(this, _AudioUnitBoxAdapter_audioEffects, "f"); }
58
+ get inputAdapter() { return __classPrivateFieldGet(this, _AudioUnitBoxAdapter_input, "f").getValue(); }
59
+ get auxSends() { return __classPrivateFieldGet(this, _AudioUnitBoxAdapter_auxSends, "f"); }
60
+ get output() { return __classPrivateFieldGet(this, _AudioUnitBoxAdapter_output, "f"); }
50
61
  get isBus() { return this.input.getValue().mapOr(adapter => adapter.type === "bus", false); }
51
62
  get isInstrument() { return this.input.getValue().mapOr(adapter => adapter.type === "instrument", false); }
52
63
  get isOutput() {
53
- return this.#box.output.targetVertex.mapOr(output => output.box.address.equals(this.#context.rootBoxAdapter.address), false);
64
+ return __classPrivateFieldGet(this, _AudioUnitBoxAdapter_box, "f").output.targetVertex.mapOr(output => output.box.address.equals(__classPrivateFieldGet(this, _AudioUnitBoxAdapter_context, "f").rootBoxAdapter.address), false);
54
65
  }
55
- get midiEffectsField() { return this.#box.midiEffects; }
56
- get inputField() { return this.#box.input; }
57
- get audioEffectsField() { return this.#box.audioEffects; }
58
- get tracksField() { return this.#box.tracks; }
59
- get minimizedField() { return this.#input.getValue().unwrap().minimizedField; }
66
+ get midiEffectsField() { return __classPrivateFieldGet(this, _AudioUnitBoxAdapter_box, "f").midiEffects; }
67
+ get inputField() { return __classPrivateFieldGet(this, _AudioUnitBoxAdapter_box, "f").input; }
68
+ get audioEffectsField() { return __classPrivateFieldGet(this, _AudioUnitBoxAdapter_box, "f").audioEffects; }
69
+ get tracksField() { return __classPrivateFieldGet(this, _AudioUnitBoxAdapter_box, "f").tracks; }
70
+ get minimizedField() { return __classPrivateFieldGet(this, _AudioUnitBoxAdapter_input, "f").getValue().unwrap().minimizedField; }
60
71
  get isAudioUnit() { return true; }
61
- get label() { return this.#input.getValue().mapOr(input => input.labelField.getValue(), ""); }
72
+ get label() { return __classPrivateFieldGet(this, _AudioUnitBoxAdapter_input, "f").getValue().mapOr(input => input.labelField.getValue(), ""); }
62
73
  audioUnitBoxAdapter() { return this; }
63
74
  indicesLimit() {
64
- const adapters = this.#context.rootBoxAdapter.audioUnits.adapters();
75
+ const adapters = __classPrivateFieldGet(this, _AudioUnitBoxAdapter_context, "f").rootBoxAdapter.audioUnits.adapters();
65
76
  const startIndex = this.indexField.getValue();
66
77
  const unitType = this.type;
67
78
  let min = startIndex;
@@ -84,23 +95,23 @@ export class AudioUnitBoxAdapter {
84
95
  }
85
96
  return [min, max + 1];
86
97
  }
87
- move(delta) { this.#context.rootBoxAdapter.audioUnits.move(this, delta); }
88
- moveTrack(adapter, delta) { this.#tracks.collection.move(adapter, delta); }
89
- deleteTrack(adapter) { this.#tracks.delete(adapter); }
98
+ move(delta) { __classPrivateFieldGet(this, _AudioUnitBoxAdapter_context, "f").rootBoxAdapter.audioUnits.move(this, delta); }
99
+ moveTrack(adapter, delta) { __classPrivateFieldGet(this, _AudioUnitBoxAdapter_tracks, "f").collection.move(adapter, delta); }
100
+ deleteTrack(adapter) { __classPrivateFieldGet(this, _AudioUnitBoxAdapter_tracks, "f").delete(adapter); }
90
101
  toString() { return `{${this.constructor.name}}`; }
91
- terminate() { this.#terminator.terminate(); }
92
- #wrapParameters(box) {
93
- return {
94
- volume: this.#parametric.createParameter(box.volume, AudioUnitBoxAdapter.VolumeMapper, StringMapping.decible, "volume"),
95
- panning: this.#parametric.createParameter(box.panning, ValueMapping.bipolar(), StringMapping.panning, "panning", 0.5),
96
- mute: this.#parametric.createParameter(box.mute, ValueMapping.bool, StringMapping.bool, "mute"),
97
- solo: this.#parametric.createParameter(box.solo, ValueMapping.bool, StringMapping.bool, "solo")
98
- };
99
- }
100
- #sanityCheck() {
101
- const address = this.address.toString();
102
- const capture = this.#box.capture.targetAddress.unwrapOrUndefined();
103
- const fail = () => `AudioUnit '${address}' must have a capture. AudioUnit is typed ${this.type} and has input ${this.#box.input.pointerHub.incoming().at(0)?.box.name}, but capture is ${capture}`;
104
- assert(this.type !== AudioUnitType.Instrument || this.#box.capture.targetAddress.nonEmpty(), fail);
105
- }
102
+ terminate() { __classPrivateFieldGet(this, _AudioUnitBoxAdapter_terminator, "f").terminate(); }
106
103
  }
104
+ _a = AudioUnitBoxAdapter, _AudioUnitBoxAdapter_terminator = new WeakMap(), _AudioUnitBoxAdapter_context = new WeakMap(), _AudioUnitBoxAdapter_box = new WeakMap(), _AudioUnitBoxAdapter_parametric = new WeakMap(), _AudioUnitBoxAdapter_tracks = new WeakMap(), _AudioUnitBoxAdapter_input = new WeakMap(), _AudioUnitBoxAdapter_midiEffects = new WeakMap(), _AudioUnitBoxAdapter_audioEffects = new WeakMap(), _AudioUnitBoxAdapter_auxSends = new WeakMap(), _AudioUnitBoxAdapter_output = new WeakMap(), _AudioUnitBoxAdapter_instances = new WeakSet(), _AudioUnitBoxAdapter_wrapParameters = function _AudioUnitBoxAdapter_wrapParameters(box) {
105
+ return {
106
+ volume: __classPrivateFieldGet(this, _AudioUnitBoxAdapter_parametric, "f").createParameter(box.volume, _a.VolumeMapper, StringMapping.decible, "volume"),
107
+ panning: __classPrivateFieldGet(this, _AudioUnitBoxAdapter_parametric, "f").createParameter(box.panning, ValueMapping.bipolar(), StringMapping.panning, "panning", 0.5),
108
+ mute: __classPrivateFieldGet(this, _AudioUnitBoxAdapter_parametric, "f").createParameter(box.mute, ValueMapping.bool, StringMapping.bool, "mute"),
109
+ solo: __classPrivateFieldGet(this, _AudioUnitBoxAdapter_parametric, "f").createParameter(box.solo, ValueMapping.bool, StringMapping.bool, "solo")
110
+ };
111
+ }, _AudioUnitBoxAdapter_sanityCheck = function _AudioUnitBoxAdapter_sanityCheck() {
112
+ const address = this.address.toString();
113
+ const capture = __classPrivateFieldGet(this, _AudioUnitBoxAdapter_box, "f").capture.targetAddress.unwrapOrUndefined();
114
+ const fail = () => `AudioUnit '${address}' must have a capture. AudioUnit is typed ${this.type} and has input ${__classPrivateFieldGet(this, _AudioUnitBoxAdapter_box, "f").input.pointerHub.incoming().at(0)?.box.name}, but capture is ${capture}`;
115
+ assert(this.type !== AudioUnitType.Instrument || __classPrivateFieldGet(this, _AudioUnitBoxAdapter_box, "f").capture.targetAddress.nonEmpty(), fail);
116
+ };
117
+ AudioUnitBoxAdapter.VolumeMapper = ValueMapping.decibel(-96.0, -9.0, +6.0);
@@ -1,6 +1,6 @@
1
1
  import { DefaultObservableValue, ObservableValue, Observer, Option, Terminable } from "@opendaw/lib-std";
2
2
  import { PointerHub } from "@opendaw/lib-box";
3
- import { IconSymbol } from "../IconSymbol";
3
+ import { IconSymbol } from "@opendaw/studio-enums";
4
4
  import { AudioUnitInputAdapter } from "./AudioUnitInputAdapter";
5
5
  import { BoxAdapters } from "../BoxAdapters";
6
6
  export declare class AudioUnitInput implements ObservableValue<Option<AudioUnitInputAdapter>>, Terminable {
@@ -1 +1 @@
1
- {"version":3,"file":"AudioUnitInput.d.ts","sourceRoot":"","sources":["../../src/audio-unit/AudioUnitInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,sBAAsB,EAEtB,eAAe,EACf,QAAQ,EACR,MAAM,EAEN,UAAU,EAEb,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAG3C,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAA;AAI1C,qBAAa,cAAe,YAAW,eAAe,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,EAAE,UAAU;;gBAQjF,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW;IAoC5D,QAAQ,IAAI,MAAM,CAAC,qBAAqB,CAAC;IAEzC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,UAAU;IAIzF,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,UAAU;IAKnG,8BAA8B,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU;IAK9E,6BAA6B,CAAC,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,GAAG,UAAU;IAI1F,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAAqE;IAC5F,IAAI,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,CAAmE;IAE9F,IAAI,IAAI,CAAC,KAAK,EAAE,UAAU,EAAuF;IACjH,IAAI,IAAI,IAAI,UAAU,CAKrB;IAED,IAAI,SAAS,IAAI,sBAAsB,CAAC,UAAU,CAAC,CAAyB;IAE5E,SAAS,IAAI,IAAI;CAIpB"}
1
+ {"version":3,"file":"AudioUnitInput.d.ts","sourceRoot":"","sources":["../../src/audio-unit/AudioUnitInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,sBAAsB,EAEtB,eAAe,EACf,QAAQ,EACR,MAAM,EAEN,UAAU,EAEb,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAG3C,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAA;AAI1C,qBAAa,cAAe,YAAW,eAAe,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,EAAE,UAAU;;gBAQjF,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW;IAoC5D,QAAQ,IAAI,MAAM,CAAC,qBAAqB,CAAC;IAEzC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,UAAU;IAIzF,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,UAAU;IAKnG,8BAA8B,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU;IAK9E,6BAA6B,CAAC,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,GAAG,UAAU;IAI1F,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAAqE;IAC5F,IAAI,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,CAAmE;IAE9F,IAAI,IAAI,CAAC,KAAK,EAAE,UAAU,EAAuF;IACjH,IAAI,IAAI,IAAI,UAAU,CAKrB;IAED,IAAI,SAAS,IAAI,sBAAsB,CAAC,UAAU,CAAC,CAAyB;IAE5E,SAAS,IAAI,IAAI;CAIpB"}
@@ -1,61 +1,73 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _AudioUnitInput_terminator, _AudioUnitInput_labelNotifier, _AudioUnitInput_iconValue, _AudioUnitInput_observable, _AudioUnitInput_subscription;
1
13
  import { assert, DefaultObservableValue, Notifier, Option, Terminable, Terminator } from "@opendaw/lib-std";
2
14
  import { AudioBusBox } from "@opendaw/studio-boxes";
3
15
  import { Pointers } from "@opendaw/studio-enums";
4
- import { IconSymbol } from "../IconSymbol";
16
+ import { IconSymbol } from "@opendaw/studio-enums";
5
17
  import { AudioBusBoxAdapter } from "./AudioBusBoxAdapter";
6
18
  import { Devices } from "../DeviceAdapter";
7
19
  export class AudioUnitInput {
8
- #terminator;
9
- #labelNotifier;
10
- #iconValue;
11
- #observable;
12
- #subscription = Terminable.Empty;
13
20
  constructor(pointerHub, boxAdapters) {
14
- this.#terminator = new Terminator();
15
- this.#labelNotifier = this.#terminator.own(new Notifier());
16
- this.#iconValue = this.#terminator.own(new DefaultObservableValue(IconSymbol.Unknown));
17
- this.#observable = this.#terminator.own(new DefaultObservableValue(Option.None));
18
- this.#terminator.own(this.#observable.subscribe(owner => {
19
- this.#subscription.terminate();
20
- this.#subscription = owner.getValue().match({
21
+ _AudioUnitInput_terminator.set(this, void 0);
22
+ _AudioUnitInput_labelNotifier.set(this, void 0);
23
+ _AudioUnitInput_iconValue.set(this, void 0);
24
+ _AudioUnitInput_observable.set(this, void 0);
25
+ _AudioUnitInput_subscription.set(this, Terminable.Empty);
26
+ __classPrivateFieldSet(this, _AudioUnitInput_terminator, new Terminator(), "f");
27
+ __classPrivateFieldSet(this, _AudioUnitInput_labelNotifier, __classPrivateFieldGet(this, _AudioUnitInput_terminator, "f").own(new Notifier()), "f");
28
+ __classPrivateFieldSet(this, _AudioUnitInput_iconValue, __classPrivateFieldGet(this, _AudioUnitInput_terminator, "f").own(new DefaultObservableValue(IconSymbol.Unknown)), "f");
29
+ __classPrivateFieldSet(this, _AudioUnitInput_observable, __classPrivateFieldGet(this, _AudioUnitInput_terminator, "f").own(new DefaultObservableValue(Option.None)), "f");
30
+ __classPrivateFieldGet(this, _AudioUnitInput_terminator, "f").own(__classPrivateFieldGet(this, _AudioUnitInput_observable, "f").subscribe(owner => {
31
+ __classPrivateFieldGet(this, _AudioUnitInput_subscription, "f").terminate();
32
+ __classPrivateFieldSet(this, _AudioUnitInput_subscription, owner.getValue().match({
21
33
  none: () => {
22
- this.#labelNotifier.notify(Option.None);
34
+ __classPrivateFieldGet(this, _AudioUnitInput_labelNotifier, "f").notify(Option.None);
23
35
  return Terminable.Empty;
24
36
  },
25
- some: ({ labelField, iconField }) => Terminable.many(iconField.catchupAndSubscribe(field => this.#iconValue.setValue(IconSymbol.fromName(field.getValue()))), labelField.catchupAndSubscribe(field => this.#labelNotifier.notify(Option.wrap(field.getValue()))))
26
- });
37
+ some: ({ labelField, iconField }) => Terminable.many(iconField.catchupAndSubscribe(field => __classPrivateFieldGet(this, _AudioUnitInput_iconValue, "f").setValue(IconSymbol.fromName(field.getValue()))), labelField.catchupAndSubscribe(field => __classPrivateFieldGet(this, _AudioUnitInput_labelNotifier, "f").notify(Option.wrap(field.getValue()))))
38
+ }), "f");
27
39
  }));
28
- this.#terminator.own(pointerHub.catchupAndSubscribe({
40
+ __classPrivateFieldGet(this, _AudioUnitInput_terminator, "f").own(pointerHub.catchupAndSubscribe({
29
41
  onAdded: ({ box }) => {
30
- assert(this.#observable.getValue().isEmpty(), "Already set");
42
+ assert(__classPrivateFieldGet(this, _AudioUnitInput_observable, "f").getValue().isEmpty(), "Already set");
31
43
  const input = box instanceof AudioBusBox
32
44
  ? boxAdapters.adapterFor(box, AudioBusBoxAdapter)
33
45
  : boxAdapters.adapterFor(box, Devices.isInstrument);
34
- if (this.#observable.getValue().unwrapOrNull() !== input) {
35
- this.#observable.setValue(Option.wrap(input));
46
+ if (__classPrivateFieldGet(this, _AudioUnitInput_observable, "f").getValue().unwrapOrNull() !== input) {
47
+ __classPrivateFieldGet(this, _AudioUnitInput_observable, "f").setValue(Option.wrap(input));
36
48
  }
37
49
  },
38
50
  onRemoved: ({ box }) => {
39
- assert(this.#observable.getValue().unwrap("Cannot remove").box.address
51
+ assert(__classPrivateFieldGet(this, _AudioUnitInput_observable, "f").getValue().unwrap("Cannot remove").box.address
40
52
  .equals(box.address), "Unexpected value to remove");
41
- this.#observable.setValue(Option.None);
53
+ __classPrivateFieldGet(this, _AudioUnitInput_observable, "f").setValue(Option.None);
42
54
  }
43
55
  }, Pointers.InstrumentHost, Pointers.AudioOutput));
44
56
  }
45
- getValue() { return this.#observable.getValue(); }
57
+ getValue() { return __classPrivateFieldGet(this, _AudioUnitInput_observable, "f").getValue(); }
46
58
  subscribe(observer) {
47
- return this.#observable.subscribe(observer);
59
+ return __classPrivateFieldGet(this, _AudioUnitInput_observable, "f").subscribe(observer);
48
60
  }
49
61
  catchupAndSubscribe(observer) {
50
- observer(this.#observable);
62
+ observer(__classPrivateFieldGet(this, _AudioUnitInput_observable, "f"));
51
63
  return this.subscribe(observer);
52
64
  }
53
65
  catchupAndSubscribeLabelChange(observer) {
54
66
  observer(this.label);
55
- return this.#labelNotifier.subscribe(observer);
67
+ return __classPrivateFieldGet(this, _AudioUnitInput_labelNotifier, "f").subscribe(observer);
56
68
  }
57
69
  catchupAndSubscribeIconChange(observer) {
58
- return this.#iconValue.catchupAndSubscribe(observer);
70
+ return __classPrivateFieldGet(this, _AudioUnitInput_iconValue, "f").catchupAndSubscribe(observer);
59
71
  }
60
72
  set label(value) { this.getValue().ifSome(input => input.labelField.setValue(value)); }
61
73
  get label() { return this.getValue().map(input => input.labelField.getValue()); }
@@ -66,9 +78,10 @@ export class AudioUnitInput {
66
78
  some: input => IconSymbol.fromName(input.iconField.getValue())
67
79
  });
68
80
  }
69
- get iconValue() { return this.#iconValue; }
81
+ get iconValue() { return __classPrivateFieldGet(this, _AudioUnitInput_iconValue, "f"); }
70
82
  terminate() {
71
- this.#terminator.terminate();
72
- this.#subscription.terminate();
83
+ __classPrivateFieldGet(this, _AudioUnitInput_terminator, "f").terminate();
84
+ __classPrivateFieldGet(this, _AudioUnitInput_subscription, "f").terminate();
73
85
  }
74
86
  }
87
+ _AudioUnitInput_terminator = new WeakMap(), _AudioUnitInput_labelNotifier = new WeakMap(), _AudioUnitInput_iconValue = new WeakMap(), _AudioUnitInput_observable = new WeakMap(), _AudioUnitInput_subscription = new WeakMap();
@@ -1,42 +1,55 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _AudioUnitOutput_pointerField, _AudioUnitOutput_boxAdapters, _AudioUnitOutput_terminator, _AudioUnitOutput_busChangeNotifier, _AudioUnitOutput_subscription;
1
13
  import { Notifier, Option, Terminable, Terminator } from "@opendaw/lib-std";
2
14
  import { AudioBusBoxAdapter } from "./AudioBusBoxAdapter";
3
15
  export class AudioUnitOutput {
4
- #pointerField;
5
- #boxAdapters;
6
- #terminator;
7
- #busChangeNotifier;
8
- #subscription = Terminable.Empty;
9
16
  constructor(pointerField, boxAdapters) {
10
- this.#pointerField = pointerField;
11
- this.#boxAdapters = boxAdapters;
12
- this.#terminator = new Terminator();
13
- this.#busChangeNotifier = this.#terminator.own(new Notifier());
14
- this.#terminator.own(pointerField.catchupAndSubscribe(() => {
15
- this.#subscription.terminate();
16
- this.#subscription = this.adapter.match({
17
+ _AudioUnitOutput_pointerField.set(this, void 0);
18
+ _AudioUnitOutput_boxAdapters.set(this, void 0);
19
+ _AudioUnitOutput_terminator.set(this, void 0);
20
+ _AudioUnitOutput_busChangeNotifier.set(this, void 0);
21
+ _AudioUnitOutput_subscription.set(this, Terminable.Empty);
22
+ __classPrivateFieldSet(this, _AudioUnitOutput_pointerField, pointerField, "f");
23
+ __classPrivateFieldSet(this, _AudioUnitOutput_boxAdapters, boxAdapters, "f");
24
+ __classPrivateFieldSet(this, _AudioUnitOutput_terminator, new Terminator(), "f");
25
+ __classPrivateFieldSet(this, _AudioUnitOutput_busChangeNotifier, __classPrivateFieldGet(this, _AudioUnitOutput_terminator, "f").own(new Notifier()), "f");
26
+ __classPrivateFieldGet(this, _AudioUnitOutput_terminator, "f").own(pointerField.catchupAndSubscribe(() => {
27
+ __classPrivateFieldGet(this, _AudioUnitOutput_subscription, "f").terminate();
28
+ __classPrivateFieldSet(this, _AudioUnitOutput_subscription, this.adapter.match({
17
29
  none: () => {
18
- this.#busChangeNotifier.notify(Option.None);
30
+ __classPrivateFieldGet(this, _AudioUnitOutput_busChangeNotifier, "f").notify(Option.None);
19
31
  return Terminable.Empty;
20
32
  },
21
- some: adapter => adapter.catchupAndSubscribe(adapter => this.#busChangeNotifier.notify(Option.wrap(adapter)))
22
- });
33
+ some: adapter => adapter.catchupAndSubscribe(adapter => __classPrivateFieldGet(this, _AudioUnitOutput_busChangeNotifier, "f").notify(Option.wrap(adapter)))
34
+ }), "f");
23
35
  }));
24
36
  }
25
37
  subscribe(observer) {
26
- return this.#busChangeNotifier.subscribe(observer);
38
+ return __classPrivateFieldGet(this, _AudioUnitOutput_busChangeNotifier, "f").subscribe(observer);
27
39
  }
28
40
  catchupAndSubscribe(observer) {
29
41
  observer(this.adapter);
30
42
  return this.subscribe(observer);
31
43
  }
32
44
  get adapter() {
33
- return this.#pointerField.targetVertex
45
+ return __classPrivateFieldGet(this, _AudioUnitOutput_pointerField, "f").targetVertex
34
46
  .flatMap(target => Option.wrap(target.box.accept({
35
- visitAudioBusBox: (box) => this.#boxAdapters.adapterFor(box, AudioBusBoxAdapter)
47
+ visitAudioBusBox: (box) => __classPrivateFieldGet(this, _AudioUnitOutput_boxAdapters, "f").adapterFor(box, AudioBusBoxAdapter)
36
48
  })));
37
49
  }
38
50
  terminate() {
39
- this.#terminator.terminate();
40
- this.#subscription.terminate();
51
+ __classPrivateFieldGet(this, _AudioUnitOutput_terminator, "f").terminate();
52
+ __classPrivateFieldGet(this, _AudioUnitOutput_subscription, "f").terminate();
41
53
  }
42
54
  }
55
+ _AudioUnitOutput_pointerField = new WeakMap(), _AudioUnitOutput_boxAdapters = new WeakMap(), _AudioUnitOutput_terminator = new WeakMap(), _AudioUnitOutput_busChangeNotifier = new WeakMap(), _AudioUnitOutput_subscription = new WeakMap();