@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
@@ -1,123 +1,188 @@
1
- import { AudioRegionBox } from "@opendaw/studio-boxes";
2
- import { Notifier, Option, safeExecute, Terminator, UUID } from "@opendaw/lib-std";
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 _AudioRegionBoxAdapter_instances, _AudioRegionBoxAdapter_terminator, _AudioRegionBoxAdapter_context, _AudioRegionBoxAdapter_box, _AudioRegionBoxAdapter_durationConverter, _AudioRegionBoxAdapter_loopOffsetConverter, _AudioRegionBoxAdapter_loopDurationConverter, _AudioRegionBoxAdapter_changeNotifier, _AudioRegionBoxAdapter_fileAdapter, _AudioRegionBoxAdapter_fileSubscription, _AudioRegionBoxAdapter_tempoSubscription, _AudioRegionBoxAdapter_isSelected, _AudioRegionBoxAdapter_constructing, _AudioRegionBoxAdapter_dispatchChange;
13
+ import { asEnumValue, Notifier, Option, safeExecute, Terminable, Terminator, UUID } from "@opendaw/lib-std";
14
+ import { TimeBase, TimeBaseConverter } from "@opendaw/lib-dsp";
3
15
  import { Propagation } from "@opendaw/lib-box";
4
- import { PPQN } from "@opendaw/lib-dsp";
16
+ import { AudioPlayback } from "@opendaw/studio-enums";
17
+ import { AudioRegionBox } from "@opendaw/studio-boxes";
5
18
  import { TrackBoxAdapter } from "../TrackBoxAdapter";
6
19
  import { AudioFileBoxAdapter } from "../../audio/AudioFileBoxAdapter";
7
20
  export class AudioRegionBoxAdapter {
8
- type = "audio-region";
9
- #terminator;
10
- #context;
11
- #box;
12
- #changeNotifier;
13
- #fileAdapter = Option.None;
14
- #fileSubscription = Option.None;
15
- #isSelected;
16
- #constructing;
17
21
  constructor(context, box) {
18
- this.#context = context;
19
- this.#box = box;
20
- this.#terminator = new Terminator();
21
- this.#changeNotifier = new Notifier();
22
- this.#isSelected = false;
23
- this.#constructing = true;
24
- // TODO For unsyned audio samples
25
- // this.#terminator.own(this.#project.timelineBox.bpm.subscribe(() => this.trackAdapter.unwrapOrNull()?.dispatchChange()))
26
- this.#terminator.ownAll(this.#box.pointerHub.subscribe({
27
- onAdded: () => this.#dispatchChange(),
28
- onRemoved: () => this.#dispatchChange()
29
- }), this.#box.file.catchupAndSubscribe((pointerField) => {
30
- this.#fileAdapter = pointerField.targetVertex.map(vertex => this.#context.boxAdapters.adapterFor(vertex.box, AudioFileBoxAdapter));
31
- this.#fileSubscription.ifSome(subscription => subscription.terminate());
32
- this.#fileSubscription = this.#fileAdapter.map(adapter => adapter.getOrCreateLoader().subscribe(() => this.#dispatchChange()));
33
- }), this.#box.subscribe(Propagation.Children, (update) => {
22
+ _AudioRegionBoxAdapter_instances.add(this);
23
+ this.type = "audio-region";
24
+ _AudioRegionBoxAdapter_terminator.set(this, void 0);
25
+ _AudioRegionBoxAdapter_context.set(this, void 0);
26
+ _AudioRegionBoxAdapter_box.set(this, void 0);
27
+ _AudioRegionBoxAdapter_durationConverter.set(this, void 0);
28
+ _AudioRegionBoxAdapter_loopOffsetConverter.set(this, void 0);
29
+ _AudioRegionBoxAdapter_loopDurationConverter.set(this, void 0);
30
+ _AudioRegionBoxAdapter_changeNotifier.set(this, void 0);
31
+ _AudioRegionBoxAdapter_fileAdapter.set(this, Option.None);
32
+ _AudioRegionBoxAdapter_fileSubscription.set(this, Terminable.Empty);
33
+ _AudioRegionBoxAdapter_tempoSubscription.set(this, Terminable.Empty);
34
+ _AudioRegionBoxAdapter_isSelected.set(this, void 0);
35
+ _AudioRegionBoxAdapter_constructing.set(this, void 0);
36
+ __classPrivateFieldSet(this, _AudioRegionBoxAdapter_context, context, "f");
37
+ __classPrivateFieldSet(this, _AudioRegionBoxAdapter_box, box, "f");
38
+ __classPrivateFieldSet(this, _AudioRegionBoxAdapter_terminator, new Terminator(), "f");
39
+ const { timeBase, position, duration, loopOffset, loopDuration } = box;
40
+ __classPrivateFieldSet(this, _AudioRegionBoxAdapter_durationConverter, TimeBaseConverter.aware(context.tempoMap, timeBase, position, duration), "f");
41
+ __classPrivateFieldSet(this, _AudioRegionBoxAdapter_loopOffsetConverter, TimeBaseConverter.aware(context.tempoMap, timeBase, position, loopOffset), "f");
42
+ __classPrivateFieldSet(this, _AudioRegionBoxAdapter_loopDurationConverter, TimeBaseConverter.aware(context.tempoMap, timeBase, position, loopDuration), "f");
43
+ __classPrivateFieldSet(this, _AudioRegionBoxAdapter_changeNotifier, new Notifier(), "f");
44
+ __classPrivateFieldSet(this, _AudioRegionBoxAdapter_isSelected, false, "f");
45
+ __classPrivateFieldSet(this, _AudioRegionBoxAdapter_constructing, true, "f");
46
+ __classPrivateFieldGet(this, _AudioRegionBoxAdapter_terminator, "f").ownAll(__classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").pointerHub.subscribe({
47
+ onAdded: () => __classPrivateFieldGet(this, _AudioRegionBoxAdapter_instances, "m", _AudioRegionBoxAdapter_dispatchChange).call(this),
48
+ onRemoved: () => __classPrivateFieldGet(this, _AudioRegionBoxAdapter_instances, "m", _AudioRegionBoxAdapter_dispatchChange).call(this)
49
+ }), __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").file.catchupAndSubscribe((pointerField) => {
50
+ __classPrivateFieldSet(this, _AudioRegionBoxAdapter_fileAdapter, pointerField.targetVertex.map(vertex => __classPrivateFieldGet(this, _AudioRegionBoxAdapter_context, "f").boxAdapters.adapterFor(vertex.box, AudioFileBoxAdapter)), "f");
51
+ __classPrivateFieldGet(this, _AudioRegionBoxAdapter_fileSubscription, "f").terminate();
52
+ __classPrivateFieldSet(this, _AudioRegionBoxAdapter_fileSubscription, __classPrivateFieldGet(this, _AudioRegionBoxAdapter_fileAdapter, "f").mapOr(adapter => adapter.getOrCreateLoader().subscribe(() => __classPrivateFieldGet(this, _AudioRegionBoxAdapter_instances, "m", _AudioRegionBoxAdapter_dispatchChange).call(this)), Terminable.Empty), "f");
53
+ }), __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").timeBase.catchupAndSubscribe(owner => {
54
+ __classPrivateFieldGet(this, _AudioRegionBoxAdapter_tempoSubscription, "f").terminate();
55
+ if (asEnumValue(owner.getValue(), TimeBase) === TimeBase.Seconds) {
56
+ __classPrivateFieldSet(this, _AudioRegionBoxAdapter_tempoSubscription, context.tempoMap.subscribe(() => __classPrivateFieldGet(this, _AudioRegionBoxAdapter_instances, "m", _AudioRegionBoxAdapter_dispatchChange).call(this)), "f");
57
+ }
58
+ }), __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").subscribe(Propagation.Children, (update) => {
34
59
  if (this.trackBoxAdapter.isEmpty()) {
35
60
  return;
36
61
  }
37
62
  if (update.type === "primitive" || update.type === "pointer") {
38
63
  const track = this.trackBoxAdapter.unwrap();
39
- if (this.#box.position.address.equals(update.address)) {
64
+ if (__classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").position.address.equals(update.address)) {
40
65
  track.regions.onIndexingChanged();
41
- this.#dispatchChange();
66
+ __classPrivateFieldGet(this, _AudioRegionBoxAdapter_instances, "m", _AudioRegionBoxAdapter_dispatchChange).call(this);
42
67
  }
43
68
  else {
44
- this.#dispatchChange();
69
+ __classPrivateFieldGet(this, _AudioRegionBoxAdapter_instances, "m", _AudioRegionBoxAdapter_dispatchChange).call(this);
45
70
  }
46
71
  }
47
72
  }), {
48
73
  terminate: () => {
49
- this.#fileSubscription.ifSome(subscription => subscription.terminate());
50
- this.#fileSubscription = Option.None;
74
+ __classPrivateFieldGet(this, _AudioRegionBoxAdapter_fileSubscription, "f").terminate();
75
+ __classPrivateFieldSet(this, _AudioRegionBoxAdapter_fileSubscription, Terminable.Empty, "f");
76
+ __classPrivateFieldGet(this, _AudioRegionBoxAdapter_tempoSubscription, "f").terminate();
77
+ __classPrivateFieldSet(this, _AudioRegionBoxAdapter_tempoSubscription, Terminable.Empty, "f");
51
78
  }
52
79
  });
53
- this.#constructing = false;
80
+ __classPrivateFieldSet(this, _AudioRegionBoxAdapter_constructing, false, "f");
54
81
  }
55
- subscribeChange(observer) { return this.#changeNotifier.subscribe(observer); }
82
+ subscribeChange(observer) { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_changeNotifier, "f").subscribe(observer); }
56
83
  accept(visitor) {
57
84
  return safeExecute(visitor.visitAudioRegionBoxAdapter, this);
58
85
  }
59
86
  onSelected() {
60
- this.#isSelected = true;
61
- this.#dispatchChange();
87
+ __classPrivateFieldSet(this, _AudioRegionBoxAdapter_isSelected, true, "f");
88
+ __classPrivateFieldGet(this, _AudioRegionBoxAdapter_instances, "m", _AudioRegionBoxAdapter_dispatchChange).call(this);
62
89
  }
63
90
  onDeselected() {
64
- this.#isSelected = false;
65
- this.#dispatchChange();
66
- }
67
- get isSelected() { return this.#isSelected; }
68
- terminate() { this.#terminator.terminate(); }
69
- get box() { return this.#box; }
70
- get uuid() { return this.#box.address.uuid; }
71
- get address() { return this.#box.address; }
72
- get position() { return this.#box.position.getValue(); }
73
- get duration() {
74
- const duration = this.#box.duration.getValue();
75
- if (duration === 0) { // signals no synchronization with track bpm
76
- const fileBoxAdapter = this.#fileAdapter.unwrap("Cannot compute duration without file");
77
- const startInSeconds = fileBoxAdapter.startInSeconds;
78
- const endInSeconds = fileBoxAdapter.endInSeconds;
79
- const totalInSeconds = endInSeconds - startInSeconds;
80
- return PPQN.secondsToPulses(totalInSeconds, this.#context.bpm);
81
- }
82
- return duration;
91
+ __classPrivateFieldSet(this, _AudioRegionBoxAdapter_isSelected, false, "f");
92
+ __classPrivateFieldGet(this, _AudioRegionBoxAdapter_instances, "m", _AudioRegionBoxAdapter_dispatchChange).call(this);
83
93
  }
94
+ get isSelected() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_isSelected, "f"); }
95
+ get box() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f"); }
96
+ get uuid() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").address.uuid; }
97
+ get address() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").address; }
98
+ get position() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").position.getValue(); }
99
+ get duration() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_durationConverter, "f").toPPQN(); }
84
100
  get complete() { return this.position + this.duration; }
85
- get loopOffset() { return this.#box.loopOffset.getValue(); }
86
- get loopDuration() { return this.#box.loopDuration.getValue(); }
101
+ get loopOffset() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopOffsetConverter, "f").toPPQN(); }
102
+ get loopDuration() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopDurationConverter, "f").toPPQN(); }
87
103
  get offset() { return this.position - this.loopOffset; }
88
- get mute() { return this.#box.mute.getValue(); }
89
- get hue() { return this.#box.hue.getValue(); }
90
- get gain() { return this.#box.gain.getValue(); }
91
- get file() { return this.#fileAdapter.unwrap("Cannot access file."); }
92
- get hasCollection() { return this.#fileAdapter.nonEmpty(); }
104
+ get mute() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").mute.getValue(); }
105
+ get hue() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").hue.getValue(); }
106
+ get gain() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").gain.getValue(); }
107
+ get file() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_fileAdapter, "f").unwrap("Cannot access file."); }
108
+ get timeBase() { return asEnumValue(__classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").timeBase.getValue(), TimeBase); }
109
+ get hasCollection() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_fileAdapter, "f").nonEmpty(); }
93
110
  get optCollection() { return Option.None; }
94
111
  get label() {
95
- if (this.#fileAdapter.isEmpty()) {
112
+ if (__classPrivateFieldGet(this, _AudioRegionBoxAdapter_fileAdapter, "f").isEmpty()) {
96
113
  return "No Audio File";
97
114
  }
98
- const state = this.#fileAdapter.unwrap().getOrCreateLoader().state;
115
+ const state = __classPrivateFieldGet(this, _AudioRegionBoxAdapter_fileAdapter, "f").unwrap().getOrCreateLoader().state;
99
116
  if (state.type === "progress") {
100
117
  return `${Math.round(state.progress * 100)}%`;
101
118
  }
102
119
  if (state.type === "error") {
103
120
  return String(state.reason);
104
121
  }
105
- return this.#box.label.getValue();
122
+ return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").label.getValue();
106
123
  }
107
124
  get isMirrowed() { return false; }
108
125
  get canMirror() { return false; }
109
126
  get trackBoxAdapter() {
110
- return this.#box.regions.targetVertex
111
- .map(vertex => this.#context.boxAdapters.adapterFor(vertex.box, TrackBoxAdapter));
127
+ return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").regions.targetVertex
128
+ .map(vertex => __classPrivateFieldGet(this, _AudioRegionBoxAdapter_context, "f").boxAdapters.adapterFor(vertex.box, TrackBoxAdapter));
129
+ }
130
+ set position(value) { __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").position.setValue(value); }
131
+ set duration(value) { __classPrivateFieldGet(this, _AudioRegionBoxAdapter_durationConverter, "f").fromPPQN(value); }
132
+ set loopOffset(value) { __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopOffsetConverter, "f").fromPPQN(value); }
133
+ set loopDuration(value) { __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopDurationConverter, "f").fromPPQN(value); }
134
+ get playback() { return asEnumValue(__classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").playback.getValue(), AudioPlayback); }
135
+ setPlayback(value, keepCurrentStretch = false) {
136
+ const wasMusical = this.timeBase === TimeBase.Musical;
137
+ __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").playback.setValue(value);
138
+ if (value === AudioPlayback.NoSync) {
139
+ if (wasMusical) {
140
+ if (keepCurrentStretch) {
141
+ const duration = __classPrivateFieldGet(this, _AudioRegionBoxAdapter_durationConverter, "f").toSeconds();
142
+ const loopDuration = __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopDurationConverter, "f").toSeconds();
143
+ const loopOffset = __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopOffsetConverter, "f").toSeconds();
144
+ __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").timeBase.setValue(TimeBase.Seconds);
145
+ __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").duration.setValue(duration);
146
+ __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").loopDuration.setValue(loopDuration);
147
+ __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").loopOffset.setValue(loopOffset);
148
+ }
149
+ else {
150
+ // Reset to 100% playback speed (original file speed)
151
+ const fileDuration = this.file.endInSeconds - this.file.startInSeconds;
152
+ const currentLoopDurationSeconds = __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopDurationConverter, "f").toSeconds();
153
+ const scale = fileDuration / currentLoopDurationSeconds;
154
+ const currentDurationSeconds = __classPrivateFieldGet(this, _AudioRegionBoxAdapter_durationConverter, "f").toSeconds();
155
+ const currentLoopOffsetSeconds = __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopOffsetConverter, "f").toSeconds();
156
+ __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").timeBase.setValue(TimeBase.Seconds);
157
+ __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").duration.setValue(currentDurationSeconds * scale);
158
+ __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").loopDuration.setValue(fileDuration);
159
+ __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").loopOffset.setValue(currentLoopOffsetSeconds * scale);
160
+ }
161
+ }
162
+ }
163
+ else {
164
+ // Switching TO musical (Pitch/Timestretch/AudioFit)
165
+ if (!wasMusical) {
166
+ const duration = __classPrivateFieldGet(this, _AudioRegionBoxAdapter_durationConverter, "f").toPPQN();
167
+ const loopDuration = __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopDurationConverter, "f").toPPQN();
168
+ const loopOffset = __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopOffsetConverter, "f").toPPQN();
169
+ __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").timeBase.setValue(TimeBase.Musical);
170
+ __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").duration.setValue(duration);
171
+ __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").loopOffset.setValue(loopOffset);
172
+ __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").loopDuration.setValue(loopDuration);
173
+ }
174
+ }
112
175
  }
113
176
  copyTo(params) {
114
- return this.#context.boxAdapters.adapterFor(AudioRegionBox.create(this.#context.boxGraph, UUID.generate(), box => {
115
- box.position.setValue(params?.position ?? this.position);
116
- box.duration.setValue(params?.duration ?? this.duration);
117
- box.loopOffset.setValue(params?.loopOffset ?? this.loopOffset);
118
- box.loopDuration.setValue(params?.loopDuration ?? this.loopDuration);
119
- box.regions.refer(params?.track ?? this.#box.regions.targetVertex.unwrap());
120
- box.file.refer(this.#box.file.targetVertex.unwrap());
177
+ return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_context, "f").boxAdapters.adapterFor(AudioRegionBox.create(__classPrivateFieldGet(this, _AudioRegionBoxAdapter_context, "f").boxGraph, UUID.generate(), box => {
178
+ box.timeBase.setValue(__classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").timeBase.getValue());
179
+ box.position.setValue(params?.position ?? __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").position.getValue());
180
+ // TODO Respect time-base.
181
+ box.duration.setValue(params?.duration ?? __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").duration.getValue());
182
+ box.loopOffset.setValue(params?.loopOffset ?? __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").loopOffset.getValue());
183
+ box.loopDuration.setValue(params?.loopDuration ?? __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").loopDuration.getValue());
184
+ box.regions.refer(params?.track ?? __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").regions.targetVertex.unwrap());
185
+ box.file.refer(__classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").file.targetVertex.unwrap());
121
186
  box.mute.setValue(this.mute);
122
187
  box.hue.setValue(this.hue);
123
188
  box.label.setValue(this.label);
@@ -132,12 +197,13 @@ export class AudioRegionBoxAdapter {
132
197
  // TODO This needs to done by creating a new audio file
133
198
  return Option.None;
134
199
  }
135
- toString() { return `{AudioRegionBoxAdapter ${UUID.toString(this.#box.address.uuid)}}`; }
136
- #dispatchChange() {
137
- if (this.#constructing) {
138
- return;
139
- }
140
- this.#changeNotifier.notify();
141
- this.trackBoxAdapter.unwrapOrNull()?.regions?.dispatchChange();
142
- }
200
+ terminate() { __classPrivateFieldGet(this, _AudioRegionBoxAdapter_terminator, "f").terminate(); }
201
+ toString() { return `{AudioRegionBoxAdapter ${UUID.toString(__classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").address.uuid)}}`; }
143
202
  }
203
+ _AudioRegionBoxAdapter_terminator = new WeakMap(), _AudioRegionBoxAdapter_context = new WeakMap(), _AudioRegionBoxAdapter_box = new WeakMap(), _AudioRegionBoxAdapter_durationConverter = new WeakMap(), _AudioRegionBoxAdapter_loopOffsetConverter = new WeakMap(), _AudioRegionBoxAdapter_loopDurationConverter = new WeakMap(), _AudioRegionBoxAdapter_changeNotifier = new WeakMap(), _AudioRegionBoxAdapter_fileAdapter = new WeakMap(), _AudioRegionBoxAdapter_fileSubscription = new WeakMap(), _AudioRegionBoxAdapter_tempoSubscription = new WeakMap(), _AudioRegionBoxAdapter_isSelected = new WeakMap(), _AudioRegionBoxAdapter_constructing = new WeakMap(), _AudioRegionBoxAdapter_instances = new WeakSet(), _AudioRegionBoxAdapter_dispatchChange = function _AudioRegionBoxAdapter_dispatchChange() {
204
+ if (__classPrivateFieldGet(this, _AudioRegionBoxAdapter_constructing, "f")) {
205
+ return;
206
+ }
207
+ __classPrivateFieldGet(this, _AudioRegionBoxAdapter_changeNotifier, "f").notify();
208
+ this.trackBoxAdapter.unwrapOrNull()?.regions?.dispatchChange();
209
+ };
@@ -0,0 +1,8 @@
1
+ import { ppqn } from "@opendaw/lib-dsp";
2
+ export interface MutableRegion {
3
+ set position(value: ppqn);
4
+ set duration(value: ppqn);
5
+ set loopOffset(value: ppqn);
6
+ set loopDuration(value: ppqn);
7
+ }
8
+ //# sourceMappingURL=MutableRegion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MutableRegion.d.ts","sourceRoot":"","sources":["../../../src/timeline/region/MutableRegion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAErC,MAAM,WAAW,aAAa;IAC1B,IAAI,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAC;IACzB,IAAI,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAC;IACzB,IAAI,UAAU,CAAC,KAAK,EAAE,IAAI,EAAC;IAC3B,IAAI,YAAY,CAAC,KAAK,EAAE,IAAI,EAAC;CAChC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -7,6 +7,7 @@ import { TrackBoxAdapter } from "../TrackBoxAdapter";
7
7
  import { LoopableRegionBoxAdapter, RegionBoxAdapter, RegionBoxAdapterVisitor } from "../RegionBoxAdapter";
8
8
  import { NoteEventCollectionBoxAdapter } from "../collection/NoteEventCollectionBoxAdapter";
9
9
  import { BoxAdaptersContext } from "../../BoxAdaptersContext";
10
+ import { MutableRegion } from "./MutableRegion";
10
11
  type CopyToParams = {
11
12
  track?: Field<Pointers.RegionCollection>;
12
13
  position?: ppqn;
@@ -15,10 +16,14 @@ type CopyToParams = {
15
16
  loopDuration?: ppqn;
16
17
  consolidate?: boolean;
17
18
  };
18
- export declare class NoteRegionBoxAdapter implements LoopableRegionBoxAdapter<NoteEventCollectionBoxAdapter> {
19
+ export declare class NoteRegionBoxAdapter implements LoopableRegionBoxAdapter<NoteEventCollectionBoxAdapter>, MutableRegion {
19
20
  #private;
20
21
  readonly type = "note-region";
21
22
  constructor(context: BoxAdaptersContext, box: NoteRegionBox);
23
+ set position(value: ppqn);
24
+ set duration(value: ppqn);
25
+ set loopOffset(value: ppqn);
26
+ set loopDuration(value: ppqn);
22
27
  subscribeChange(observer: Observer<void>): Subscription;
23
28
  accept<R>(visitor: RegionBoxAdapterVisitor<R>): Maybe<R>;
24
29
  onSelected(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"NoteRegionBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/timeline/region/NoteRegionBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,SAAS,EAAE,IAAI,EAAyB,MAAM,kBAAkB,CAAA;AACxF,OAAO,EAEH,GAAG,EACH,KAAK,EAEL,QAAQ,EACR,MAAM,EAEN,YAAY,EAGZ,IAAI,EACP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,OAAO,EAAE,KAAK,EAAsB,MAAM,kBAAkB,CAAA;AACpE,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAyB,aAAa,EAAC,MAAM,uBAAuB,CAAA;AAC3E,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAC,wBAAwB,EAAE,gBAAgB,EAAE,uBAAuB,EAAC,MAAM,qBAAqB,CAAA;AACvG,OAAO,EAAC,6BAA6B,EAAC,MAAM,6CAA6C,CAAA;AACzF,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAE3D,KAAK,YAAY,GAAG;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;IACxC,QAAQ,CAAC,EAAE,IAAI,CAAA;IACf,QAAQ,CAAC,EAAE,IAAI,CAAA;IACf,UAAU,CAAC,EAAE,IAAI,CAAA;IACjB,YAAY,CAAC,EAAE,IAAI,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,qBAAa,oBAAqB,YAAW,wBAAwB,CAAC,6BAA6B,CAAC;;IAChG,QAAQ,CAAC,IAAI,iBAAgB;gBAajB,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,aAAa;IAsC3D,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY;IACvD,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAExD,UAAU,IAAI,IAAI;IAKlB,YAAY,IAAI,IAAI;IAKpB,IAAI,UAAU,IAAI,OAAO,CAA0B;IAEjD,oBAAoB,CAAC,QAAQ,EAAE,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC;IAa5D,SAAS,IAAI,IAAI;IAKjB,IAAI,GAAG,IAAI,aAAa,CAAmB;IAC3C,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,QAAQ,IAAI,IAAI,CAAuC;IAC3D,IAAI,QAAQ,IAAI,IAAI,CAAuC;IAC3D,IAAI,UAAU,IAAI,IAAI,CAAyC;IAC/D,IAAI,YAAY,IAAI,IAAI,CAA2C;IACnE,IAAI,MAAM,IAAI,IAAI,CAAyC;IAC3D,IAAI,QAAQ,IAAI,IAAI,CAAuC;IAC3D,IAAI,IAAI,IAAI,OAAO,CAAmC;IACtD,IAAI,GAAG,IAAI,GAAG,CAAkC;IAChD,IAAI,aAAa,YAAyC;IAC1D,IAAI,aAAa,IAAI,MAAM,CAAC,6BAA6B,CAAC,CAGzD;IACD,IAAI,KAAK,IAAI,MAAM,CAAoC;IACvD,IAAI,eAAe,IAAI,MAAM,CAAC,eAAe,CAAC,CAI7C;IACD,IAAI,UAAU,IAAI,OAAO,CAA2E;IACpG,IAAI,SAAS,IAAI,OAAO,CAAc;IAEtC,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,oBAAoB;IAkBnD,WAAW,IAAI,IAAI;IAUnB,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAAG,OAAO;IAKtE,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC;IA6CjF,QAAQ,IAAI,MAAM;CAMrB"}
1
+ {"version":3,"file":"NoteRegionBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/timeline/region/NoteRegionBoxAdapter.ts"],"names":[],"mappings":"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"}
@@ -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 _NoteRegionBoxAdapter_instances, _NoteRegionBoxAdapter_terminator, _NoteRegionBoxAdapter_context, _NoteRegionBoxAdapter_box, _NoteRegionBoxAdapter_changeNotifier, _NoteRegionBoxAdapter_isConstructing, _NoteRegionBoxAdapter_isSelected, _NoteRegionBoxAdapter_eventCollectionSubscription, _NoteRegionBoxAdapter_dispatchChange;
1
13
  import { LoopableRegion, PPQN, RegionCollection } from "@opendaw/lib-dsp";
2
14
  import { Arrays, Notifier, Option, safeExecute, Terminable, Terminator, UUID } from "@opendaw/lib-std";
3
15
  import { Propagation } from "@opendaw/lib-box";
@@ -5,60 +17,65 @@ import { NoteEventCollectionBox, NoteRegionBox } from "@opendaw/studio-boxes";
5
17
  import { TrackBoxAdapter } from "../TrackBoxAdapter";
6
18
  import { NoteEventCollectionBoxAdapter } from "../collection/NoteEventCollectionBoxAdapter";
7
19
  export class NoteRegionBoxAdapter {
8
- type = "note-region";
9
- #terminator = new Terminator();
10
- #context;
11
- #box;
12
- #changeNotifier;
13
- #isConstructing; // Prevents stack overflow due to infinite adapter queries
14
- #isSelected;
15
- #eventCollectionSubscription = Terminable.Empty;
16
20
  constructor(context, box) {
17
- this.#context = context;
18
- this.#box = box;
19
- this.#changeNotifier = new Notifier();
20
- this.#isSelected = false;
21
- this.#isConstructing = true;
22
- this.#terminator.ownAll(this.#box.pointerHub.subscribe({
23
- onAdded: () => this.#dispatchChange(),
24
- onRemoved: () => this.#dispatchChange()
25
- }), this.#box.subscribe(Propagation.Children, (update) => {
21
+ _NoteRegionBoxAdapter_instances.add(this);
22
+ this.type = "note-region";
23
+ _NoteRegionBoxAdapter_terminator.set(this, new Terminator());
24
+ _NoteRegionBoxAdapter_context.set(this, void 0);
25
+ _NoteRegionBoxAdapter_box.set(this, void 0);
26
+ _NoteRegionBoxAdapter_changeNotifier.set(this, void 0);
27
+ _NoteRegionBoxAdapter_isConstructing.set(this, void 0); // Prevents stack overflow due to infinite adapter queries
28
+ _NoteRegionBoxAdapter_isSelected.set(this, void 0);
29
+ _NoteRegionBoxAdapter_eventCollectionSubscription.set(this, Terminable.Empty);
30
+ __classPrivateFieldSet(this, _NoteRegionBoxAdapter_context, context, "f");
31
+ __classPrivateFieldSet(this, _NoteRegionBoxAdapter_box, box, "f");
32
+ __classPrivateFieldSet(this, _NoteRegionBoxAdapter_changeNotifier, new Notifier(), "f");
33
+ __classPrivateFieldSet(this, _NoteRegionBoxAdapter_isSelected, false, "f");
34
+ __classPrivateFieldSet(this, _NoteRegionBoxAdapter_isConstructing, true, "f");
35
+ __classPrivateFieldGet(this, _NoteRegionBoxAdapter_terminator, "f").ownAll(__classPrivateFieldGet(this, _NoteRegionBoxAdapter_box, "f").pointerHub.subscribe({
36
+ onAdded: () => __classPrivateFieldGet(this, _NoteRegionBoxAdapter_instances, "m", _NoteRegionBoxAdapter_dispatchChange).call(this),
37
+ onRemoved: () => __classPrivateFieldGet(this, _NoteRegionBoxAdapter_instances, "m", _NoteRegionBoxAdapter_dispatchChange).call(this)
38
+ }), __classPrivateFieldGet(this, _NoteRegionBoxAdapter_box, "f").subscribe(Propagation.Children, (update) => {
26
39
  if (this.trackBoxAdapter.isEmpty()) {
27
40
  return;
28
41
  }
29
42
  if (update.type === "primitive" || update.type === "pointer") {
30
43
  const track = this.trackBoxAdapter.unwrap();
31
- if (this.#box.position.address.equals(update.address)) {
44
+ if (__classPrivateFieldGet(this, _NoteRegionBoxAdapter_box, "f").position.address.equals(update.address)) {
32
45
  track.regions.onIndexingChanged();
33
- this.#dispatchChange();
46
+ __classPrivateFieldGet(this, _NoteRegionBoxAdapter_instances, "m", _NoteRegionBoxAdapter_dispatchChange).call(this);
34
47
  }
35
48
  else {
36
- this.#dispatchChange();
49
+ __classPrivateFieldGet(this, _NoteRegionBoxAdapter_instances, "m", _NoteRegionBoxAdapter_dispatchChange).call(this);
37
50
  }
38
51
  }
39
- }), this.#box.events.catchupAndSubscribe(({ targetVertex }) => {
40
- this.#eventCollectionSubscription.terminate();
41
- this.#eventCollectionSubscription = targetVertex.match({
52
+ }), __classPrivateFieldGet(this, _NoteRegionBoxAdapter_box, "f").events.catchupAndSubscribe(({ targetVertex }) => {
53
+ __classPrivateFieldGet(this, _NoteRegionBoxAdapter_eventCollectionSubscription, "f").terminate();
54
+ __classPrivateFieldSet(this, _NoteRegionBoxAdapter_eventCollectionSubscription, targetVertex.match({
42
55
  none: () => Terminable.Empty,
43
- some: ({ box }) => this.#context.boxAdapters
56
+ some: ({ box }) => __classPrivateFieldGet(this, _NoteRegionBoxAdapter_context, "f").boxAdapters
44
57
  .adapterFor(box, NoteEventCollectionBoxAdapter)
45
- .subscribeChange(() => this.#dispatchChange())
46
- });
47
- this.#dispatchChange();
58
+ .subscribeChange(() => __classPrivateFieldGet(this, _NoteRegionBoxAdapter_instances, "m", _NoteRegionBoxAdapter_dispatchChange).call(this))
59
+ }), "f");
60
+ __classPrivateFieldGet(this, _NoteRegionBoxAdapter_instances, "m", _NoteRegionBoxAdapter_dispatchChange).call(this);
48
61
  }));
49
- this.#isConstructing = false;
62
+ __classPrivateFieldSet(this, _NoteRegionBoxAdapter_isConstructing, false, "f");
50
63
  }
51
- subscribeChange(observer) { return this.#changeNotifier.subscribe(observer); }
64
+ set position(value) { __classPrivateFieldGet(this, _NoteRegionBoxAdapter_box, "f").position.setValue(value); }
65
+ set duration(value) { __classPrivateFieldGet(this, _NoteRegionBoxAdapter_box, "f").duration.setValue(value); }
66
+ set loopOffset(value) { __classPrivateFieldGet(this, _NoteRegionBoxAdapter_box, "f").loopOffset.setValue(value); }
67
+ set loopDuration(value) { __classPrivateFieldGet(this, _NoteRegionBoxAdapter_box, "f").loopDuration.setValue(value); }
68
+ subscribeChange(observer) { return __classPrivateFieldGet(this, _NoteRegionBoxAdapter_changeNotifier, "f").subscribe(observer); }
52
69
  accept(visitor) { return safeExecute(visitor.visitNoteRegionBoxAdapter, this); }
53
70
  onSelected() {
54
- this.#isSelected = true;
55
- this.#dispatchChange();
71
+ __classPrivateFieldSet(this, _NoteRegionBoxAdapter_isSelected, true, "f");
72
+ __classPrivateFieldGet(this, _NoteRegionBoxAdapter_instances, "m", _NoteRegionBoxAdapter_dispatchChange).call(this);
56
73
  }
57
74
  onDeselected() {
58
- this.#isSelected = false;
59
- this.#dispatchChange();
75
+ __classPrivateFieldSet(this, _NoteRegionBoxAdapter_isSelected, false, "f");
76
+ __classPrivateFieldGet(this, _NoteRegionBoxAdapter_instances, "m", _NoteRegionBoxAdapter_dispatchChange).call(this);
60
77
  }
61
- get isSelected() { return this.#isSelected; }
78
+ get isSelected() { return __classPrivateFieldGet(this, _NoteRegionBoxAdapter_isSelected, "f"); }
62
79
  *iterateActiveNotesAt(position) {
63
80
  const optCollection = this.optCollection;
64
81
  if (optCollection.isEmpty()) {
@@ -76,32 +93,32 @@ export class NoteRegionBoxAdapter {
76
93
  }
77
94
  }
78
95
  terminate() {
79
- this.#eventCollectionSubscription.terminate();
80
- this.#terminator.terminate();
96
+ __classPrivateFieldGet(this, _NoteRegionBoxAdapter_eventCollectionSubscription, "f").terminate();
97
+ __classPrivateFieldGet(this, _NoteRegionBoxAdapter_terminator, "f").terminate();
81
98
  }
82
- get box() { return this.#box; }
83
- get uuid() { return this.#box.address.uuid; }
84
- get address() { return this.#box.address; }
85
- get position() { return this.#box.position.getValue(); }
86
- get duration() { return this.#box.duration.getValue(); }
87
- get loopOffset() { return this.#box.loopOffset.getValue(); }
88
- get loopDuration() { return this.#box.loopDuration.getValue(); }
99
+ get box() { return __classPrivateFieldGet(this, _NoteRegionBoxAdapter_box, "f"); }
100
+ get uuid() { return __classPrivateFieldGet(this, _NoteRegionBoxAdapter_box, "f").address.uuid; }
101
+ get address() { return __classPrivateFieldGet(this, _NoteRegionBoxAdapter_box, "f").address; }
102
+ get position() { return __classPrivateFieldGet(this, _NoteRegionBoxAdapter_box, "f").position.getValue(); }
103
+ get duration() { return __classPrivateFieldGet(this, _NoteRegionBoxAdapter_box, "f").duration.getValue(); }
104
+ get loopOffset() { return __classPrivateFieldGet(this, _NoteRegionBoxAdapter_box, "f").loopOffset.getValue(); }
105
+ get loopDuration() { return __classPrivateFieldGet(this, _NoteRegionBoxAdapter_box, "f").loopDuration.getValue(); }
89
106
  get offset() { return this.position - this.loopOffset; }
90
107
  get complete() { return this.position + this.duration; }
91
- get mute() { return this.#box.mute.getValue(); }
92
- get hue() { return this.#box.hue.getValue(); }
108
+ get mute() { return __classPrivateFieldGet(this, _NoteRegionBoxAdapter_box, "f").mute.getValue(); }
109
+ get hue() { return __classPrivateFieldGet(this, _NoteRegionBoxAdapter_box, "f").hue.getValue(); }
93
110
  get hasCollection() { return this.optCollection.nonEmpty(); }
94
111
  get optCollection() {
95
- return this.#box.events.targetVertex
96
- .map(vertex => this.#context.boxAdapters.adapterFor(vertex.box, NoteEventCollectionBoxAdapter));
112
+ return __classPrivateFieldGet(this, _NoteRegionBoxAdapter_box, "f").events.targetVertex
113
+ .map(vertex => __classPrivateFieldGet(this, _NoteRegionBoxAdapter_context, "f").boxAdapters.adapterFor(vertex.box, NoteEventCollectionBoxAdapter));
97
114
  }
98
- get label() { return this.#box.label.getValue(); }
115
+ get label() { return __classPrivateFieldGet(this, _NoteRegionBoxAdapter_box, "f").label.getValue(); }
99
116
  get trackBoxAdapter() {
100
- if (this.#isConstructing) {
117
+ if (__classPrivateFieldGet(this, _NoteRegionBoxAdapter_isConstructing, "f")) {
101
118
  return Option.None;
102
119
  }
103
- return this.#box.regions.targetVertex
104
- .map(vertex => this.#context.boxAdapters.adapterFor(vertex.box, TrackBoxAdapter));
120
+ return __classPrivateFieldGet(this, _NoteRegionBoxAdapter_box, "f").regions.targetVertex
121
+ .map(vertex => __classPrivateFieldGet(this, _NoteRegionBoxAdapter_context, "f").boxAdapters.adapterFor(vertex.box, TrackBoxAdapter));
105
122
  }
106
123
  get isMirrowed() { return this.optCollection.mapOr(adapter => adapter.numOwners > 1, false); }
107
124
  get canMirror() { return true; }
@@ -110,7 +127,7 @@ export class NoteRegionBoxAdapter {
110
127
  const eventTarget = params?.consolidate === true
111
128
  ? eventCollection.copy().box.owners
112
129
  : eventCollection.box.owners;
113
- return this.#context.boxAdapters.adapterFor(NoteRegionBox.create(this.#context.boxGraph, UUID.generate(), box => {
130
+ return __classPrivateFieldGet(this, _NoteRegionBoxAdapter_context, "f").boxAdapters.adapterFor(NoteRegionBox.create(__classPrivateFieldGet(this, _NoteRegionBoxAdapter_context, "f").boxGraph, UUID.generate(), box => {
114
131
  box.position.setValue(params?.position ?? this.position);
115
132
  box.duration.setValue(params?.duration ?? this.duration);
116
133
  box.loopOffset.setValue(params?.loopOffset ?? this.loopOffset);
@@ -119,7 +136,7 @@ export class NoteRegionBoxAdapter {
119
136
  box.label.setValue(this.label);
120
137
  box.mute.setValue(this.mute);
121
138
  box.events.refer(eventTarget);
122
- box.regions.refer(params?.track ?? this.#box.regions.targetVertex.unwrap());
139
+ box.regions.refer(params?.track ?? __classPrivateFieldGet(this, _NoteRegionBoxAdapter_box, "f").regions.targetVertex.unwrap());
123
140
  }), NoteRegionBoxAdapter);
124
141
  }
125
142
  consolidate() {
@@ -127,10 +144,10 @@ export class NoteRegionBoxAdapter {
127
144
  return;
128
145
  }
129
146
  this.optCollection.ifSome(source => {
130
- const graph = this.#context.boxGraph;
147
+ const graph = __classPrivateFieldGet(this, _NoteRegionBoxAdapter_context, "f").boxGraph;
131
148
  const target = NoteEventCollectionBox.create(graph, UUID.generate());
132
149
  source.events.asArray().forEach(adapter => adapter.copyTo({ events: target.events }));
133
- this.#box.events.refer(target.owners);
150
+ __classPrivateFieldGet(this, _NoteRegionBoxAdapter_box, "f").events.refer(target.owners);
134
151
  });
135
152
  }
136
153
  canFlatten(regions) {
@@ -141,7 +158,7 @@ export class NoteRegionBoxAdapter {
141
158
  if (!this.canFlatten(regions)) {
142
159
  return Option.None;
143
160
  }
144
- const graph = this.#context.boxGraph;
161
+ const graph = __classPrivateFieldGet(this, _NoteRegionBoxAdapter_context, "f").boxGraph;
145
162
  const sorted = regions.toSorted(RegionCollection.Comparator);
146
163
  const first = Arrays.getFirst(sorted, "Internal error (no first)");
147
164
  const last = Arrays.getLast(sorted, "Internal error (no last)");
@@ -178,9 +195,9 @@ export class NoteRegionBoxAdapter {
178
195
  box.regions.refer(trackBoxAdapter.box.regions);
179
196
  }));
180
197
  }
181
- toString() { return `{NoteRegionBoxAdapter ${UUID.toString(this.#box.address.uuid)} p: ${PPQN.toString(this.position)}, c: ${PPQN.toString(this.complete)}}`; }
182
- #dispatchChange() {
183
- this.#changeNotifier.notify();
184
- this.trackBoxAdapter.unwrapOrNull()?.regions?.dispatchChange();
185
- }
198
+ toString() { return `{NoteRegionBoxAdapter ${UUID.toString(__classPrivateFieldGet(this, _NoteRegionBoxAdapter_box, "f").address.uuid)} p: ${PPQN.toString(this.position)}, c: ${PPQN.toString(this.complete)}}`; }
186
199
  }
200
+ _NoteRegionBoxAdapter_terminator = new WeakMap(), _NoteRegionBoxAdapter_context = new WeakMap(), _NoteRegionBoxAdapter_box = new WeakMap(), _NoteRegionBoxAdapter_changeNotifier = new WeakMap(), _NoteRegionBoxAdapter_isConstructing = new WeakMap(), _NoteRegionBoxAdapter_isSelected = new WeakMap(), _NoteRegionBoxAdapter_eventCollectionSubscription = new WeakMap(), _NoteRegionBoxAdapter_instances = new WeakSet(), _NoteRegionBoxAdapter_dispatchChange = function _NoteRegionBoxAdapter_dispatchChange() {
201
+ __classPrivateFieldGet(this, _NoteRegionBoxAdapter_changeNotifier, "f").notify();
202
+ this.trackBoxAdapter.unwrapOrNull()?.regions?.dispatchChange();
203
+ };
@@ -8,6 +8,7 @@ import { ValueEventCollectionBoxAdapter } from "../collection/ValueEventCollecti
8
8
  import { BoxAdaptersContext } from "../../BoxAdaptersContext";
9
9
  import { ValueRegionBox } from "@opendaw/studio-boxes";
10
10
  import { ValueEventBoxAdapter } from "../event/ValueEventBoxAdapter";
11
+ import { MutableRegion } from "./MutableRegion";
11
12
  type CopyToParams = {
12
13
  track?: Field<Pointers.RegionCollection>;
13
14
  position?: ppqn;
@@ -16,7 +17,7 @@ type CopyToParams = {
16
17
  loopDuration?: ppqn;
17
18
  consolidate?: boolean;
18
19
  };
19
- export declare class ValueRegionBoxAdapter implements LoopableRegionBoxAdapter<ValueEventCollectionBoxAdapter> {
20
+ export declare class ValueRegionBoxAdapter implements LoopableRegionBoxAdapter<ValueEventCollectionBoxAdapter>, MutableRegion {
20
21
  #private;
21
22
  readonly type = "value-region";
22
23
  constructor(context: BoxAdaptersContext, box: ValueRegionBox);
@@ -49,6 +50,10 @@ export declare class ValueRegionBoxAdapter implements LoopableRegionBoxAdapter<V
49
50
  get trackBoxAdapter(): Option<TrackBoxAdapter>;
50
51
  get isMirrowed(): boolean;
51
52
  get canMirror(): boolean;
53
+ set position(value: ppqn);
54
+ set duration(value: ppqn);
55
+ set loopOffset(value: ppqn);
56
+ set loopDuration(value: ppqn);
52
57
  copyTo(params?: CopyToParams): ValueRegionBoxAdapter;
53
58
  consolidate(): void;
54
59
  canFlatten(_regions: ReadonlyArray<RegionBoxAdapter<unknown>>): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"ValueRegionBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/timeline/region/ValueRegionBoxAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ValueRegionBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/timeline/region/ValueRegionBoxAdapter.ts"],"names":[],"mappings":"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"}