@opendaw/studio-adapters 0.0.47 → 0.0.49
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.
- package/dist/AutomatableParameterFieldAdapter.js +86 -73
- package/dist/BoxAdapterCollection.js +30 -17
- package/dist/BoxAdapters.d.ts.map +1 -1
- package/dist/BoxAdapters.js +87 -72
- package/dist/BoxAdaptersContext.d.ts +2 -2
- package/dist/BoxAdaptersContext.d.ts.map +1 -1
- package/dist/EngineProcessorAttachment.d.ts +2 -1
- package/dist/EngineProcessorAttachment.d.ts.map +1 -1
- package/dist/FieldAdapter.js +45 -32
- package/dist/IndexedBoxAdapterCollection.js +45 -32
- package/dist/NoteBroadcaster.js +25 -12
- package/dist/NoteStreamReceiver.js +29 -16
- package/dist/ParameterAdapterSet.js +24 -11
- package/dist/ParameterFieldAdapters.js +19 -6
- package/dist/Parsing.d.ts +5 -0
- package/dist/Parsing.d.ts.map +1 -0
- package/dist/Parsing.js +10 -0
- package/dist/PianoModeAdapter.js +32 -19
- package/dist/RootBoxAdapter.d.ts +2 -1
- package/dist/RootBoxAdapter.d.ts.map +1 -1
- package/dist/RootBoxAdapter.js +41 -23
- package/dist/Validator.d.ts +10 -0
- package/dist/Validator.d.ts.map +1 -0
- package/dist/Validator.js +35 -0
- package/dist/audio/AudioFileBoxAdapter.js +23 -10
- package/dist/audio-unit/AudioBusBoxAdapter.d.ts +1 -1
- package/dist/audio-unit/AudioBusBoxAdapter.d.ts.map +1 -1
- package/dist/audio-unit/AudioBusBoxAdapter.js +31 -18
- package/dist/audio-unit/AudioUnitBoxAdapter.js +74 -63
- package/dist/audio-unit/AudioUnitInput.d.ts +1 -1
- package/dist/audio-unit/AudioUnitInput.d.ts.map +1 -1
- package/dist/audio-unit/AudioUnitInput.js +43 -30
- package/dist/audio-unit/AudioUnitOutput.js +33 -20
- package/dist/audio-unit/AudioUnitTracks.js +39 -26
- package/dist/audio-unit/AuxSendBoxAdapter.js +47 -34
- package/dist/devices/audio-effects/CompressorDeviceBoxAdapter.js +49 -37
- package/dist/devices/audio-effects/CrusherDeviceBoxAdapter.js +41 -29
- package/dist/devices/audio-effects/DelayDeviceBoxAdapter.js +51 -39
- package/dist/devices/audio-effects/FoldDeviceBoxAdapter.js +39 -27
- package/dist/devices/audio-effects/ModularDeviceBoxAdapter.js +33 -20
- package/dist/devices/audio-effects/RevampDeviceBoxAdapter.js +46 -34
- package/dist/devices/audio-effects/ReverbDeviceBoxAdapter.js +45 -33
- package/dist/devices/audio-effects/StereoToolDeviceBoxAdapter.js +43 -31
- package/dist/devices/audio-effects/TidalDeviceBoxAdapter.d.ts +36 -0
- package/dist/devices/audio-effects/TidalDeviceBoxAdapter.d.ts.map +1 -0
- package/dist/devices/audio-effects/TidalDeviceBoxAdapter.js +63 -0
- package/dist/devices/audio-effects/UnknownAudioEffectDeviceBoxAdapter.js +30 -17
- package/dist/devices/instruments/MIDIOutputDeviceBoxAdapter.d.ts +3 -2
- package/dist/devices/instruments/MIDIOutputDeviceBoxAdapter.d.ts.map +1 -1
- package/dist/devices/instruments/MIDIOutputDeviceBoxAdapter.js +45 -26
- package/dist/devices/instruments/NanoDeviceBoxAdapter.js +38 -26
- package/dist/devices/instruments/Playfield/PlayfieldSampleBoxAdapter.js +101 -89
- package/dist/devices/instruments/PlayfieldDeviceBoxAdapter.d.ts +0 -1
- package/dist/devices/instruments/PlayfieldDeviceBoxAdapter.d.ts.map +1 -1
- package/dist/devices/instruments/PlayfieldDeviceBoxAdapter.js +36 -24
- package/dist/devices/instruments/SoundfontDeviceBoxAdapter.js +84 -72
- package/dist/devices/instruments/TapeDeviceBoxAdapter.js +40 -28
- package/dist/devices/instruments/VaporisateurDeviceBoxAdapter.d.ts +26 -4
- package/dist/devices/instruments/VaporisateurDeviceBoxAdapter.d.ts.map +1 -1
- package/dist/devices/instruments/VaporisateurDeviceBoxAdapter.js +70 -33
- package/dist/devices/instruments/VaporisateurSettings.d.ts +17 -0
- package/dist/devices/instruments/VaporisateurSettings.d.ts.map +1 -0
- package/dist/devices/instruments/VaporisateurSettings.js +24 -0
- package/dist/devices/midi-effects/ArpeggioDeviceBoxAdapter.js +51 -39
- package/dist/devices/midi-effects/PitchDeviceBoxAdapter.js +40 -28
- package/dist/devices/midi-effects/UnknownMidiEffectDeviceBoxAdapter.js +30 -17
- package/dist/devices/midi-effects/VelocityDeviceBoxAdapter.js +47 -35
- package/dist/devices/midi-effects/ZeitgeistDeviceBoxAdapter.js +32 -19
- package/dist/editing/UserEditing.js +33 -20
- package/dist/editing/UserEditingManager.js +28 -15
- package/dist/factories/AudioBusFactory.d.ts +7 -0
- package/dist/factories/AudioBusFactory.d.ts.map +1 -0
- package/dist/factories/AudioBusFactory.js +29 -0
- package/dist/factories/AudioUnitFactory.d.ts +13 -0
- package/dist/factories/AudioUnitFactory.d.ts.map +1 -0
- package/dist/factories/AudioUnitFactory.js +44 -0
- package/dist/factories/AudioUnitOrdering.d.ts +3 -0
- package/dist/factories/AudioUnitOrdering.d.ts.map +1 -0
- package/dist/factories/AudioUnitOrdering.js +7 -0
- package/dist/factories/ColorCodes.d.ts +7 -0
- package/dist/factories/ColorCodes.d.ts.map +1 -0
- package/dist/factories/ColorCodes.js +32 -0
- package/dist/factories/Colors.d.ts +15 -0
- package/dist/factories/Colors.d.ts.map +1 -0
- package/dist/factories/Colors.js +23 -0
- package/dist/factories/InstrumentBox.d.ts +3 -0
- package/dist/factories/InstrumentBox.d.ts.map +1 -0
- package/dist/factories/InstrumentBox.js +1 -0
- package/dist/factories/InstrumentFactories.d.ts +34 -0
- package/dist/factories/InstrumentFactories.d.ts.map +1 -0
- package/dist/factories/InstrumentFactories.js +137 -0
- package/dist/factories/InstrumentFactory.d.ts +13 -0
- package/dist/factories/InstrumentFactory.d.ts.map +1 -0
- package/dist/factories/InstrumentFactory.js +1 -0
- package/dist/factories/InstrumentOptions.d.ts +9 -0
- package/dist/factories/InstrumentOptions.d.ts.map +1 -0
- package/dist/factories/InstrumentOptions.js +1 -0
- package/dist/factories/InstrumentProduct.d.ts +8 -0
- package/dist/factories/InstrumentProduct.d.ts.map +1 -0
- package/dist/factories/InstrumentProduct.js +1 -0
- package/dist/grooves/GrooveShuffleBoxAdapter.js +47 -35
- package/dist/index.d.ts +20 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -3
- package/dist/modular/abstract.js +37 -24
- package/dist/modular/connection.js +20 -7
- package/dist/modular/connector.js +29 -16
- package/dist/modular/modular.js +49 -36
- package/dist/modular/modules/audio-input.js +17 -4
- package/dist/modular/modules/audio-output.js +17 -4
- package/dist/modular/modules/delay.js +24 -11
- package/dist/modular/modules/gain.js +24 -11
- package/dist/modular/modules/multiplier.js +21 -8
- package/dist/modular/user-interface.js +25 -12
- package/dist/preset/PresetDecoder.d.ts +11 -0
- package/dist/preset/PresetDecoder.d.ts.map +1 -0
- package/dist/preset/PresetDecoder.js +154 -0
- package/dist/preset/PresetEncoder.d.ts +5 -0
- package/dist/preset/PresetEncoder.d.ts.map +1 -0
- package/dist/preset/PresetEncoder.js +19 -0
- package/dist/preset/PresetHeader.d.ts +5 -0
- package/dist/preset/PresetHeader.d.ts.map +1 -0
- package/dist/preset/PresetHeader.js +5 -0
- package/dist/project/ProjectQueries.d.ts +5 -0
- package/dist/project/ProjectQueries.d.ts.map +1 -0
- package/dist/project/ProjectQueries.js +10 -0
- package/dist/project/ProjectSkeleton.d.ts +10 -1
- package/dist/project/ProjectSkeleton.d.ts.map +1 -1
- package/dist/project/ProjectSkeleton.js +100 -1
- package/dist/project/ProjectUtils.d.ts +13 -0
- package/dist/project/ProjectUtils.d.ts.map +1 -0
- package/dist/project/ProjectUtils.js +142 -0
- package/dist/protocols.d.ts.map +1 -1
- package/dist/selection/FilteredSelection.js +47 -34
- package/dist/selection/VertexSelection.js +66 -55
- package/dist/soundfont/SoundfontFileBoxAdapter.js +21 -8
- package/dist/timeline/MarkerBoxAdapter.js +33 -20
- package/dist/timeline/MarkerTrackAdapter.js +34 -22
- package/dist/timeline/TimelineBoxAdapter.js +24 -11
- package/dist/timeline/TrackBoxAdapter.d.ts.map +1 -1
- package/dist/timeline/TrackBoxAdapter.js +97 -85
- package/dist/timeline/TrackClips.js +27 -14
- package/dist/timeline/TrackRegions.js +40 -27
- package/dist/timeline/TrackType.d.ts +1 -1
- package/dist/timeline/TrackType.d.ts.map +1 -1
- package/dist/timeline/TrackType.js +1 -1
- package/dist/timeline/clip/AudioClipBoxAdapter.js +66 -53
- package/dist/timeline/clip/NoteClipBoxAdapter.js +66 -53
- package/dist/timeline/clip/ValueClipBoxAdapter.js +67 -54
- package/dist/timeline/collection/NoteEventCollectionBoxAdapter.js +85 -73
- package/dist/timeline/collection/ValueEventCollectionBoxAdapter.js +53 -40
- package/dist/timeline/event/NoteEventBoxAdapter.js +43 -30
- package/dist/timeline/event/ValueEventBoxAdapter.js +67 -54
- package/dist/timeline/region/AudioRegionBoxAdapter.d.ts +17 -9
- package/dist/timeline/region/AudioRegionBoxAdapter.d.ts.map +1 -1
- package/dist/timeline/region/AudioRegionBoxAdapter.js +149 -83
- package/dist/timeline/region/MutableRegion.d.ts +8 -0
- package/dist/timeline/region/MutableRegion.d.ts.map +1 -0
- package/dist/timeline/region/MutableRegion.js +1 -0
- package/dist/timeline/region/NoteRegionBoxAdapter.d.ts +6 -1
- package/dist/timeline/region/NoteRegionBoxAdapter.d.ts.map +1 -1
- package/dist/timeline/region/NoteRegionBoxAdapter.js +78 -61
- package/dist/timeline/region/ValueRegionBoxAdapter.d.ts +6 -1
- package/dist/timeline/region/ValueRegionBoxAdapter.d.ts.map +1 -1
- package/dist/timeline/region/ValueRegionBoxAdapter.js +79 -62
- package/package.json +8 -8
- package/dist/IconSymbol.d.ts +0 -126
- package/dist/IconSymbol.d.ts.map +0 -1
- package/dist/IconSymbol.js +0 -126
- package/dist/UpdateClockRate.d.ts +0 -2
- package/dist/UpdateClockRate.d.ts.map +0 -1
- package/dist/UpdateClockRate.js +0 -2
- package/dist/project/ProjectDecoder.d.ts +0 -10
- package/dist/project/ProjectDecoder.d.ts.map +0 -1
- package/dist/project/ProjectDecoder.js +0 -36
|
@@ -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 _NoteClipBoxAdapter_instances, _NoteClipBoxAdapter_terminator, _NoteClipBoxAdapter_context, _NoteClipBoxAdapter_box, _NoteClipBoxAdapter_selectedValue, _NoteClipBoxAdapter_changeNotifier, _NoteClipBoxAdapter_isConstructing, _NoteClipBoxAdapter_eventCollectionSubscription, _NoteClipBoxAdapter_dispatchChange;
|
|
1
13
|
import { DefaultObservableValue, Notifier, Option, safeExecute, Terminable, Terminator, UUID } from "@opendaw/lib-std";
|
|
2
14
|
import { PPQN } from "@opendaw/lib-dsp";
|
|
3
15
|
import { Propagation } from "@opendaw/lib-box";
|
|
@@ -5,92 +17,93 @@ import { NoteClipBox } from "@opendaw/studio-boxes";
|
|
|
5
17
|
import { NoteEventCollectionBoxAdapter } from "../collection/NoteEventCollectionBoxAdapter";
|
|
6
18
|
import { TrackBoxAdapter } from "../TrackBoxAdapter";
|
|
7
19
|
export class NoteClipBoxAdapter {
|
|
8
|
-
type = "note-clip";
|
|
9
|
-
#terminator = new Terminator();
|
|
10
|
-
#context;
|
|
11
|
-
#box;
|
|
12
|
-
#selectedValue;
|
|
13
|
-
#changeNotifier;
|
|
14
|
-
#isConstructing; // Prevents stack overflow due to infinite adapter queries
|
|
15
|
-
#eventCollectionSubscription = Terminable.Empty;
|
|
16
20
|
constructor(context, box) {
|
|
17
|
-
this
|
|
18
|
-
this
|
|
19
|
-
this
|
|
20
|
-
this
|
|
21
|
-
this
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
_NoteClipBoxAdapter_instances.add(this);
|
|
22
|
+
this.type = "note-clip";
|
|
23
|
+
_NoteClipBoxAdapter_terminator.set(this, new Terminator());
|
|
24
|
+
_NoteClipBoxAdapter_context.set(this, void 0);
|
|
25
|
+
_NoteClipBoxAdapter_box.set(this, void 0);
|
|
26
|
+
_NoteClipBoxAdapter_selectedValue.set(this, void 0);
|
|
27
|
+
_NoteClipBoxAdapter_changeNotifier.set(this, void 0);
|
|
28
|
+
_NoteClipBoxAdapter_isConstructing.set(this, void 0); // Prevents stack overflow due to infinite adapter queries
|
|
29
|
+
_NoteClipBoxAdapter_eventCollectionSubscription.set(this, Terminable.Empty);
|
|
30
|
+
__classPrivateFieldSet(this, _NoteClipBoxAdapter_context, context, "f");
|
|
31
|
+
__classPrivateFieldSet(this, _NoteClipBoxAdapter_box, box, "f");
|
|
32
|
+
__classPrivateFieldSet(this, _NoteClipBoxAdapter_isConstructing, true, "f");
|
|
33
|
+
__classPrivateFieldSet(this, _NoteClipBoxAdapter_selectedValue, __classPrivateFieldGet(this, _NoteClipBoxAdapter_terminator, "f").own(new DefaultObservableValue(false)), "f");
|
|
34
|
+
__classPrivateFieldSet(this, _NoteClipBoxAdapter_changeNotifier, __classPrivateFieldGet(this, _NoteClipBoxAdapter_terminator, "f").own(new Notifier()), "f");
|
|
35
|
+
__classPrivateFieldGet(this, _NoteClipBoxAdapter_terminator, "f").ownAll(__classPrivateFieldGet(this, _NoteClipBoxAdapter_box, "f").pointerHub.subscribe({
|
|
36
|
+
onAdded: () => __classPrivateFieldGet(this, _NoteClipBoxAdapter_instances, "m", _NoteClipBoxAdapter_dispatchChange).call(this),
|
|
37
|
+
onRemoved: () => __classPrivateFieldGet(this, _NoteClipBoxAdapter_instances, "m", _NoteClipBoxAdapter_dispatchChange).call(this)
|
|
38
|
+
}), __classPrivateFieldGet(this, _NoteClipBoxAdapter_box, "f").subscribe(Propagation.Children, (_update) => __classPrivateFieldGet(this, _NoteClipBoxAdapter_instances, "m", _NoteClipBoxAdapter_dispatchChange).call(this)), __classPrivateFieldGet(this, _NoteClipBoxAdapter_box, "f").events.catchupAndSubscribe(({ targetVertex }) => {
|
|
39
|
+
__classPrivateFieldGet(this, _NoteClipBoxAdapter_eventCollectionSubscription, "f").terminate();
|
|
40
|
+
__classPrivateFieldSet(this, _NoteClipBoxAdapter_eventCollectionSubscription, targetVertex.match({
|
|
28
41
|
none: () => Terminable.Empty,
|
|
29
|
-
some: ({ box }) => this
|
|
42
|
+
some: ({ box }) => __classPrivateFieldGet(this, _NoteClipBoxAdapter_context, "f").boxAdapters
|
|
30
43
|
.adapterFor(box, NoteEventCollectionBoxAdapter)
|
|
31
|
-
.subscribeChange(() => this
|
|
32
|
-
});
|
|
33
|
-
this
|
|
44
|
+
.subscribeChange(() => __classPrivateFieldGet(this, _NoteClipBoxAdapter_instances, "m", _NoteClipBoxAdapter_dispatchChange).call(this))
|
|
45
|
+
}), "f");
|
|
46
|
+
__classPrivateFieldGet(this, _NoteClipBoxAdapter_instances, "m", _NoteClipBoxAdapter_dispatchChange).call(this);
|
|
34
47
|
}));
|
|
35
|
-
this
|
|
48
|
+
__classPrivateFieldSet(this, _NoteClipBoxAdapter_isConstructing, false, "f");
|
|
36
49
|
}
|
|
37
50
|
catchupAndSubscribeSelected(observer) {
|
|
38
|
-
return this
|
|
51
|
+
return __classPrivateFieldGet(this, _NoteClipBoxAdapter_selectedValue, "f").catchupAndSubscribe(observer);
|
|
39
52
|
}
|
|
40
|
-
subscribeChange(observer) { return this
|
|
53
|
+
subscribeChange(observer) { return __classPrivateFieldGet(this, _NoteClipBoxAdapter_changeNotifier, "f").subscribe(observer); }
|
|
41
54
|
accept(visitor) { return safeExecute(visitor.visitNoteClipBoxAdapter, this); }
|
|
42
55
|
consolidate() {
|
|
43
56
|
if (this.isMirrowed) {
|
|
44
|
-
this
|
|
57
|
+
__classPrivateFieldGet(this, _NoteClipBoxAdapter_box, "f").events.refer(this.optCollection.unwrap().copy().box.owners);
|
|
45
58
|
}
|
|
46
59
|
}
|
|
47
60
|
clone(consolidate) {
|
|
48
|
-
const events = consolidate ? this.optCollection.unwrap().copy().box.owners : this
|
|
49
|
-
NoteClipBox.create(this
|
|
61
|
+
const events = consolidate ? this.optCollection.unwrap().copy().box.owners : __classPrivateFieldGet(this, _NoteClipBoxAdapter_box, "f").events.targetVertex.unwrap();
|
|
62
|
+
NoteClipBox.create(__classPrivateFieldGet(this, _NoteClipBoxAdapter_context, "f").boxGraph, UUID.generate(), box => {
|
|
50
63
|
box.index.setValue(this.indexField.getValue());
|
|
51
64
|
box.label.setValue(this.label);
|
|
52
65
|
box.hue.setValue(this.hue);
|
|
53
66
|
box.duration.setValue(this.duration);
|
|
54
67
|
box.mute.setValue(this.mute);
|
|
55
|
-
box.clips.refer(this
|
|
68
|
+
box.clips.refer(__classPrivateFieldGet(this, _NoteClipBoxAdapter_box, "f").clips.targetVertex.unwrap());
|
|
56
69
|
box.events.refer(events);
|
|
57
70
|
});
|
|
58
71
|
}
|
|
59
|
-
onSelected() { this
|
|
60
|
-
onDeselected() { this
|
|
61
|
-
get isSelected() { return this
|
|
72
|
+
onSelected() { __classPrivateFieldGet(this, _NoteClipBoxAdapter_selectedValue, "f").setValue(true); }
|
|
73
|
+
onDeselected() { __classPrivateFieldGet(this, _NoteClipBoxAdapter_selectedValue, "f").setValue(false); }
|
|
74
|
+
get isSelected() { return __classPrivateFieldGet(this, _NoteClipBoxAdapter_selectedValue, "f").getValue(); }
|
|
62
75
|
terminate() {
|
|
63
|
-
this
|
|
64
|
-
this
|
|
76
|
+
__classPrivateFieldGet(this, _NoteClipBoxAdapter_eventCollectionSubscription, "f").terminate();
|
|
77
|
+
__classPrivateFieldGet(this, _NoteClipBoxAdapter_terminator, "f").terminate();
|
|
65
78
|
}
|
|
66
|
-
get box() { return this
|
|
67
|
-
get uuid() { return this
|
|
68
|
-
get address() { return this
|
|
69
|
-
get indexField() { return this
|
|
70
|
-
get duration() { return this
|
|
71
|
-
get mute() { return this
|
|
72
|
-
get hue() { return this
|
|
79
|
+
get box() { return __classPrivateFieldGet(this, _NoteClipBoxAdapter_box, "f"); }
|
|
80
|
+
get uuid() { return __classPrivateFieldGet(this, _NoteClipBoxAdapter_box, "f").address.uuid; }
|
|
81
|
+
get address() { return __classPrivateFieldGet(this, _NoteClipBoxAdapter_box, "f").address; }
|
|
82
|
+
get indexField() { return __classPrivateFieldGet(this, _NoteClipBoxAdapter_box, "f").index; }
|
|
83
|
+
get duration() { return __classPrivateFieldGet(this, _NoteClipBoxAdapter_box, "f").duration.getValue(); }
|
|
84
|
+
get mute() { return __classPrivateFieldGet(this, _NoteClipBoxAdapter_box, "f").mute.getValue(); }
|
|
85
|
+
get hue() { return __classPrivateFieldGet(this, _NoteClipBoxAdapter_box, "f").hue.getValue(); }
|
|
73
86
|
get events() {
|
|
74
87
|
return this.optCollection.map(collection => collection.events);
|
|
75
88
|
}
|
|
76
89
|
get hasCollection() { return !this.optCollection.isEmpty(); }
|
|
77
90
|
get optCollection() {
|
|
78
|
-
return this
|
|
79
|
-
.map(vertex => this
|
|
91
|
+
return __classPrivateFieldGet(this, _NoteClipBoxAdapter_box, "f").events.targetVertex
|
|
92
|
+
.map(vertex => __classPrivateFieldGet(this, _NoteClipBoxAdapter_context, "f").boxAdapters.adapterFor(vertex.box, NoteEventCollectionBoxAdapter));
|
|
80
93
|
}
|
|
81
|
-
get label() { return this
|
|
94
|
+
get label() { return __classPrivateFieldGet(this, _NoteClipBoxAdapter_box, "f").label.getValue(); }
|
|
82
95
|
get trackBoxAdapter() {
|
|
83
|
-
if (this
|
|
96
|
+
if (__classPrivateFieldGet(this, _NoteClipBoxAdapter_isConstructing, "f")) {
|
|
84
97
|
return Option.None;
|
|
85
98
|
}
|
|
86
|
-
return this
|
|
87
|
-
.map(vertex => this
|
|
99
|
+
return __classPrivateFieldGet(this, _NoteClipBoxAdapter_box, "f").clips.targetVertex
|
|
100
|
+
.map(vertex => __classPrivateFieldGet(this, _NoteClipBoxAdapter_context, "f").boxAdapters.adapterFor(vertex.box, TrackBoxAdapter));
|
|
88
101
|
}
|
|
89
102
|
get isMirrowed() { return this.optCollection.mapOr(adapter => adapter.numOwners > 1, false); }
|
|
90
103
|
get canMirror() { return true; }
|
|
91
|
-
toString() { return `{NoteClipBoxAdapter ${UUID.toString(this
|
|
92
|
-
#dispatchChange() {
|
|
93
|
-
this.#changeNotifier.notify();
|
|
94
|
-
this.trackBoxAdapter.unwrapOrNull()?.clips?.dispatchChange();
|
|
95
|
-
}
|
|
104
|
+
toString() { return `{NoteClipBoxAdapter ${UUID.toString(__classPrivateFieldGet(this, _NoteClipBoxAdapter_box, "f").address.uuid)} d: ${PPQN.toString(this.duration)}}`; }
|
|
96
105
|
}
|
|
106
|
+
_NoteClipBoxAdapter_terminator = new WeakMap(), _NoteClipBoxAdapter_context = new WeakMap(), _NoteClipBoxAdapter_box = new WeakMap(), _NoteClipBoxAdapter_selectedValue = new WeakMap(), _NoteClipBoxAdapter_changeNotifier = new WeakMap(), _NoteClipBoxAdapter_isConstructing = new WeakMap(), _NoteClipBoxAdapter_eventCollectionSubscription = new WeakMap(), _NoteClipBoxAdapter_instances = new WeakSet(), _NoteClipBoxAdapter_dispatchChange = function _NoteClipBoxAdapter_dispatchChange() {
|
|
107
|
+
__classPrivateFieldGet(this, _NoteClipBoxAdapter_changeNotifier, "f").notify();
|
|
108
|
+
this.trackBoxAdapter.unwrapOrNull()?.clips?.dispatchChange();
|
|
109
|
+
};
|
|
@@ -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 _ValueClipBoxAdapter_instances, _ValueClipBoxAdapter_terminator, _ValueClipBoxAdapter_context, _ValueClipBoxAdapter_box, _ValueClipBoxAdapter_selectedValue, _ValueClipBoxAdapter_changeNotifier, _ValueClipBoxAdapter_isConstructing, _ValueClipBoxAdapter_eventCollectionSubscription, _ValueClipBoxAdapter_dispatchChange;
|
|
1
13
|
import { PPQN } from "@opendaw/lib-dsp";
|
|
2
14
|
import { DefaultObservableValue, Notifier, Option, safeExecute, Terminable, Terminator, UUID } from "@opendaw/lib-std";
|
|
3
15
|
import { Propagation } from "@opendaw/lib-box";
|
|
@@ -5,98 +17,99 @@ import { TrackBoxAdapter } from "../TrackBoxAdapter";
|
|
|
5
17
|
import { ValueEventCollectionBoxAdapter } from "../collection/ValueEventCollectionBoxAdapter";
|
|
6
18
|
import { ValueClipBox } from "@opendaw/studio-boxes";
|
|
7
19
|
export class ValueClipBoxAdapter {
|
|
8
|
-
type = "value-clip";
|
|
9
|
-
#terminator = new Terminator();
|
|
10
|
-
#context;
|
|
11
|
-
#box;
|
|
12
|
-
#selectedValue;
|
|
13
|
-
#changeNotifier;
|
|
14
|
-
#isConstructing; // Prevents stack overflow due to infinite adapter queries
|
|
15
|
-
#eventCollectionSubscription = Terminable.Empty;
|
|
16
20
|
constructor(context, box) {
|
|
17
|
-
this
|
|
18
|
-
this
|
|
19
|
-
this
|
|
20
|
-
this
|
|
21
|
-
this
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
_ValueClipBoxAdapter_instances.add(this);
|
|
22
|
+
this.type = "value-clip";
|
|
23
|
+
_ValueClipBoxAdapter_terminator.set(this, new Terminator());
|
|
24
|
+
_ValueClipBoxAdapter_context.set(this, void 0);
|
|
25
|
+
_ValueClipBoxAdapter_box.set(this, void 0);
|
|
26
|
+
_ValueClipBoxAdapter_selectedValue.set(this, void 0);
|
|
27
|
+
_ValueClipBoxAdapter_changeNotifier.set(this, void 0);
|
|
28
|
+
_ValueClipBoxAdapter_isConstructing.set(this, void 0); // Prevents stack overflow due to infinite adapter queries
|
|
29
|
+
_ValueClipBoxAdapter_eventCollectionSubscription.set(this, Terminable.Empty);
|
|
30
|
+
__classPrivateFieldSet(this, _ValueClipBoxAdapter_context, context, "f");
|
|
31
|
+
__classPrivateFieldSet(this, _ValueClipBoxAdapter_box, box, "f");
|
|
32
|
+
__classPrivateFieldSet(this, _ValueClipBoxAdapter_isConstructing, true, "f");
|
|
33
|
+
__classPrivateFieldSet(this, _ValueClipBoxAdapter_selectedValue, __classPrivateFieldGet(this, _ValueClipBoxAdapter_terminator, "f").own(new DefaultObservableValue(false)), "f");
|
|
34
|
+
__classPrivateFieldSet(this, _ValueClipBoxAdapter_changeNotifier, __classPrivateFieldGet(this, _ValueClipBoxAdapter_terminator, "f").own(new Notifier()), "f");
|
|
35
|
+
__classPrivateFieldGet(this, _ValueClipBoxAdapter_terminator, "f").own(__classPrivateFieldGet(this, _ValueClipBoxAdapter_box, "f").pointerHub.subscribe({
|
|
36
|
+
onAdded: () => __classPrivateFieldGet(this, _ValueClipBoxAdapter_instances, "m", _ValueClipBoxAdapter_dispatchChange).call(this),
|
|
37
|
+
onRemoved: () => __classPrivateFieldGet(this, _ValueClipBoxAdapter_instances, "m", _ValueClipBoxAdapter_dispatchChange).call(this)
|
|
25
38
|
}));
|
|
26
|
-
this
|
|
27
|
-
this
|
|
28
|
-
this
|
|
29
|
-
this
|
|
39
|
+
__classPrivateFieldGet(this, _ValueClipBoxAdapter_terminator, "f").own(__classPrivateFieldGet(this, _ValueClipBoxAdapter_box, "f").subscribe(Propagation.Children, (_update) => __classPrivateFieldGet(this, _ValueClipBoxAdapter_instances, "m", _ValueClipBoxAdapter_dispatchChange).call(this)));
|
|
40
|
+
__classPrivateFieldGet(this, _ValueClipBoxAdapter_terminator, "f").own(__classPrivateFieldGet(this, _ValueClipBoxAdapter_box, "f").events.catchupAndSubscribe(({ targetVertex }) => {
|
|
41
|
+
__classPrivateFieldGet(this, _ValueClipBoxAdapter_eventCollectionSubscription, "f").terminate();
|
|
42
|
+
__classPrivateFieldSet(this, _ValueClipBoxAdapter_eventCollectionSubscription, targetVertex.match({
|
|
30
43
|
none: () => Terminable.Empty,
|
|
31
|
-
some: ({ box }) => this
|
|
44
|
+
some: ({ box }) => __classPrivateFieldGet(this, _ValueClipBoxAdapter_context, "f").boxAdapters
|
|
32
45
|
.adapterFor(box, ValueEventCollectionBoxAdapter)
|
|
33
|
-
.subscribeChange(() => this
|
|
34
|
-
});
|
|
35
|
-
this
|
|
46
|
+
.subscribeChange(() => __classPrivateFieldGet(this, _ValueClipBoxAdapter_instances, "m", _ValueClipBoxAdapter_dispatchChange).call(this))
|
|
47
|
+
}), "f");
|
|
48
|
+
__classPrivateFieldGet(this, _ValueClipBoxAdapter_instances, "m", _ValueClipBoxAdapter_dispatchChange).call(this);
|
|
36
49
|
}));
|
|
37
|
-
this
|
|
50
|
+
__classPrivateFieldSet(this, _ValueClipBoxAdapter_isConstructing, false, "f");
|
|
38
51
|
}
|
|
39
52
|
valueAt(position, fallback) {
|
|
40
53
|
const content = this.optCollection;
|
|
41
54
|
return content.isEmpty() ? fallback : content.unwrap().valueAt(position % this.duration, fallback);
|
|
42
55
|
}
|
|
43
56
|
catchupAndSubscribeSelected(observer) {
|
|
44
|
-
return this
|
|
57
|
+
return __classPrivateFieldGet(this, _ValueClipBoxAdapter_selectedValue, "f").catchupAndSubscribe(observer);
|
|
45
58
|
}
|
|
46
|
-
subscribeChange(observer) { return this
|
|
59
|
+
subscribeChange(observer) { return __classPrivateFieldGet(this, _ValueClipBoxAdapter_changeNotifier, "f").subscribe(observer); }
|
|
47
60
|
accept(visitor) { return safeExecute(visitor.visitValueClipBoxAdapter, this); }
|
|
48
61
|
consolidate() {
|
|
49
62
|
if (this.isMirrowed) {
|
|
50
|
-
this
|
|
63
|
+
__classPrivateFieldGet(this, _ValueClipBoxAdapter_box, "f").events.refer(this.optCollection.unwrap().copy().box.owners);
|
|
51
64
|
}
|
|
52
65
|
}
|
|
53
66
|
clone(consolidate) {
|
|
54
|
-
const events = consolidate ? this.optCollection.unwrap().copy().box.owners : this
|
|
55
|
-
ValueClipBox.create(this
|
|
67
|
+
const events = consolidate ? this.optCollection.unwrap().copy().box.owners : __classPrivateFieldGet(this, _ValueClipBoxAdapter_box, "f").events.targetVertex.unwrap();
|
|
68
|
+
ValueClipBox.create(__classPrivateFieldGet(this, _ValueClipBoxAdapter_context, "f").boxGraph, UUID.generate(), box => {
|
|
56
69
|
box.index.setValue(this.indexField.getValue());
|
|
57
70
|
box.label.setValue(this.label);
|
|
58
71
|
box.hue.setValue(this.hue);
|
|
59
72
|
box.duration.setValue(this.duration);
|
|
60
73
|
box.mute.setValue(this.mute);
|
|
61
|
-
box.clips.refer(this
|
|
74
|
+
box.clips.refer(__classPrivateFieldGet(this, _ValueClipBoxAdapter_box, "f").clips.targetVertex.unwrap());
|
|
62
75
|
box.events.refer(events);
|
|
63
76
|
});
|
|
64
77
|
}
|
|
65
|
-
onSelected() { this
|
|
66
|
-
onDeselected() { this
|
|
67
|
-
get isSelected() { return this
|
|
78
|
+
onSelected() { __classPrivateFieldGet(this, _ValueClipBoxAdapter_selectedValue, "f").setValue(true); }
|
|
79
|
+
onDeselected() { __classPrivateFieldGet(this, _ValueClipBoxAdapter_selectedValue, "f").setValue(false); }
|
|
80
|
+
get isSelected() { return __classPrivateFieldGet(this, _ValueClipBoxAdapter_selectedValue, "f").getValue(); }
|
|
68
81
|
terminate() {
|
|
69
|
-
this
|
|
70
|
-
this
|
|
82
|
+
__classPrivateFieldGet(this, _ValueClipBoxAdapter_eventCollectionSubscription, "f").terminate();
|
|
83
|
+
__classPrivateFieldGet(this, _ValueClipBoxAdapter_terminator, "f").terminate();
|
|
71
84
|
}
|
|
72
|
-
get box() { return this
|
|
73
|
-
get uuid() { return this
|
|
74
|
-
get address() { return this
|
|
75
|
-
get indexField() { return this
|
|
76
|
-
get duration() { return this
|
|
77
|
-
get mute() { return this
|
|
78
|
-
get hue() { return this
|
|
85
|
+
get box() { return __classPrivateFieldGet(this, _ValueClipBoxAdapter_box, "f"); }
|
|
86
|
+
get uuid() { return __classPrivateFieldGet(this, _ValueClipBoxAdapter_box, "f").address.uuid; }
|
|
87
|
+
get address() { return __classPrivateFieldGet(this, _ValueClipBoxAdapter_box, "f").address; }
|
|
88
|
+
get indexField() { return __classPrivateFieldGet(this, _ValueClipBoxAdapter_box, "f").index; }
|
|
89
|
+
get duration() { return __classPrivateFieldGet(this, _ValueClipBoxAdapter_box, "f").duration.getValue(); }
|
|
90
|
+
get mute() { return __classPrivateFieldGet(this, _ValueClipBoxAdapter_box, "f").mute.getValue(); }
|
|
91
|
+
get hue() { return __classPrivateFieldGet(this, _ValueClipBoxAdapter_box, "f").hue.getValue(); }
|
|
79
92
|
get hasCollection() { return !this.optCollection.isEmpty(); }
|
|
80
93
|
get events() {
|
|
81
94
|
return this.optCollection.map(collection => collection.events);
|
|
82
95
|
}
|
|
83
96
|
get optCollection() {
|
|
84
|
-
return this
|
|
85
|
-
.map(vertex => this
|
|
97
|
+
return __classPrivateFieldGet(this, _ValueClipBoxAdapter_box, "f").events.targetVertex
|
|
98
|
+
.map(vertex => __classPrivateFieldGet(this, _ValueClipBoxAdapter_context, "f").boxAdapters.adapterFor(vertex.box, ValueEventCollectionBoxAdapter));
|
|
86
99
|
}
|
|
87
|
-
get label() { return this
|
|
100
|
+
get label() { return __classPrivateFieldGet(this, _ValueClipBoxAdapter_box, "f").label.getValue(); }
|
|
88
101
|
get trackBoxAdapter() {
|
|
89
|
-
if (this
|
|
102
|
+
if (__classPrivateFieldGet(this, _ValueClipBoxAdapter_isConstructing, "f")) {
|
|
90
103
|
return Option.None;
|
|
91
104
|
}
|
|
92
|
-
return this
|
|
93
|
-
.map(vertex => this
|
|
105
|
+
return __classPrivateFieldGet(this, _ValueClipBoxAdapter_box, "f").clips.targetVertex
|
|
106
|
+
.map(vertex => __classPrivateFieldGet(this, _ValueClipBoxAdapter_context, "f").boxAdapters.adapterFor(vertex.box, TrackBoxAdapter));
|
|
94
107
|
}
|
|
95
108
|
get isMirrowed() { return this.optCollection.mapOr(adapter => adapter.numOwners > 1, false); }
|
|
96
109
|
get canMirror() { return true; }
|
|
97
|
-
toString() { return `{ValueClipBoxAdapter ${UUID.toString(this
|
|
98
|
-
#dispatchChange() {
|
|
99
|
-
this.#changeNotifier.notify();
|
|
100
|
-
this.trackBoxAdapter.unwrapOrNull()?.clips?.dispatchChange();
|
|
101
|
-
}
|
|
110
|
+
toString() { return `{ValueClipBoxAdapter ${UUID.toString(__classPrivateFieldGet(this, _ValueClipBoxAdapter_box, "f").address.uuid)} d: ${PPQN.toString(this.duration)}}`; }
|
|
102
111
|
}
|
|
112
|
+
_ValueClipBoxAdapter_terminator = new WeakMap(), _ValueClipBoxAdapter_context = new WeakMap(), _ValueClipBoxAdapter_box = new WeakMap(), _ValueClipBoxAdapter_selectedValue = new WeakMap(), _ValueClipBoxAdapter_changeNotifier = new WeakMap(), _ValueClipBoxAdapter_isConstructing = new WeakMap(), _ValueClipBoxAdapter_eventCollectionSubscription = new WeakMap(), _ValueClipBoxAdapter_instances = new WeakSet(), _ValueClipBoxAdapter_dispatchChange = function _ValueClipBoxAdapter_dispatchChange() {
|
|
113
|
+
__classPrivateFieldGet(this, _ValueClipBoxAdapter_changeNotifier, "f").notify();
|
|
114
|
+
this.trackBoxAdapter.unwrapOrNull()?.clips?.dispatchChange();
|
|
115
|
+
};
|
|
@@ -1,55 +1,68 @@
|
|
|
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 _NoteEventCollectionBoxAdapter_instances, _NoteEventCollectionBoxAdapter_terminator, _NoteEventCollectionBoxAdapter_context, _NoteEventCollectionBoxAdapter_box, _NoteEventCollectionBoxAdapter_changeNotifier, _NoteEventCollectionBoxAdapter_adapters, _NoteEventCollectionBoxAdapter_events, _NoteEventCollectionBoxAdapter_minPitch, _NoteEventCollectionBoxAdapter_maxPitch, _NoteEventCollectionBoxAdapter_maxDuration, _NoteEventCollectionBoxAdapter_computedExtremas, _NoteEventCollectionBoxAdapter_onEventsChanged, _NoteEventCollectionBoxAdapter_computeExtremas;
|
|
1
13
|
import { NoteEventBox, NoteEventCollectionBox } from "@opendaw/studio-boxes";
|
|
2
14
|
import { asDefined, Intervals, Iterables, Notifier, Terminator, UUID } from "@opendaw/lib-std";
|
|
3
15
|
import { EventCollection, NoteEvent } from "@opendaw/lib-dsp";
|
|
4
16
|
import { Pointers } from "@opendaw/studio-enums";
|
|
5
17
|
import { NoteEventBoxAdapter } from "../event/NoteEventBoxAdapter";
|
|
6
18
|
export class NoteEventCollectionBoxAdapter {
|
|
7
|
-
#terminator = new Terminator();
|
|
8
|
-
#context;
|
|
9
|
-
#box;
|
|
10
|
-
#changeNotifier;
|
|
11
|
-
#adapters;
|
|
12
|
-
#events;
|
|
13
|
-
#minPitch = 60;
|
|
14
|
-
#maxPitch = 60;
|
|
15
|
-
#maxDuration = 0;
|
|
16
|
-
#computedExtremas = false;
|
|
17
19
|
constructor(context, box) {
|
|
18
|
-
this
|
|
19
|
-
this
|
|
20
|
-
this
|
|
21
|
-
|
|
22
|
-
this
|
|
20
|
+
_NoteEventCollectionBoxAdapter_instances.add(this);
|
|
21
|
+
_NoteEventCollectionBoxAdapter_terminator.set(this, new Terminator());
|
|
22
|
+
_NoteEventCollectionBoxAdapter_context.set(this, void 0);
|
|
23
|
+
_NoteEventCollectionBoxAdapter_box.set(this, void 0);
|
|
24
|
+
_NoteEventCollectionBoxAdapter_changeNotifier.set(this, void 0);
|
|
25
|
+
_NoteEventCollectionBoxAdapter_adapters.set(this, void 0);
|
|
26
|
+
_NoteEventCollectionBoxAdapter_events.set(this, void 0);
|
|
27
|
+
_NoteEventCollectionBoxAdapter_minPitch.set(this, 60);
|
|
28
|
+
_NoteEventCollectionBoxAdapter_maxPitch.set(this, 60);
|
|
29
|
+
_NoteEventCollectionBoxAdapter_maxDuration.set(this, 0);
|
|
30
|
+
_NoteEventCollectionBoxAdapter_computedExtremas.set(this, false);
|
|
31
|
+
__classPrivateFieldSet(this, _NoteEventCollectionBoxAdapter_context, context, "f");
|
|
32
|
+
__classPrivateFieldSet(this, _NoteEventCollectionBoxAdapter_box, box, "f");
|
|
33
|
+
__classPrivateFieldSet(this, _NoteEventCollectionBoxAdapter_changeNotifier, new Notifier(), "f");
|
|
34
|
+
__classPrivateFieldSet(this, _NoteEventCollectionBoxAdapter_adapters, UUID.newSet(adapter => adapter.uuid), "f");
|
|
35
|
+
__classPrivateFieldSet(this, _NoteEventCollectionBoxAdapter_events, EventCollection.create(NoteEvent.Comparator), "f");
|
|
23
36
|
const addNoteProcedure = (box) => {
|
|
24
37
|
const adapter = asDefined(box.accept({
|
|
25
|
-
visitNoteEventBox: (box) => this
|
|
38
|
+
visitNoteEventBox: (box) => __classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_context, "f").boxAdapters.adapterFor(box, NoteEventBoxAdapter)
|
|
26
39
|
}), `Could not find adapter for ${box}`);
|
|
27
|
-
if (this
|
|
28
|
-
this
|
|
29
|
-
this
|
|
40
|
+
if (__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_adapters, "f").add(adapter)) {
|
|
41
|
+
__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_events, "f").add(adapter);
|
|
42
|
+
__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_instances, "m", _NoteEventCollectionBoxAdapter_onEventsChanged).call(this);
|
|
30
43
|
}
|
|
31
44
|
};
|
|
32
|
-
this
|
|
33
|
-
this
|
|
45
|
+
__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_box, "f").events.pointerHub.incoming().forEach(({ box }) => addNoteProcedure(box));
|
|
46
|
+
__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_terminator, "f").own(__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_box, "f").events.pointerHub.subscribe({
|
|
34
47
|
onAdded: ({ box }) => addNoteProcedure(box),
|
|
35
48
|
onRemoved: ({ box: { address: { uuid } } }) => {
|
|
36
|
-
this
|
|
37
|
-
this
|
|
49
|
+
__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_events, "f").remove(__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_adapters, "f").removeByKey(uuid));
|
|
50
|
+
__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_instances, "m", _NoteEventCollectionBoxAdapter_onEventsChanged).call(this);
|
|
38
51
|
}
|
|
39
52
|
}));
|
|
40
|
-
this
|
|
41
|
-
onAdded: () => this
|
|
42
|
-
onRemoved: () => this
|
|
53
|
+
__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_terminator, "f").own(__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_box, "f").owners.pointerHub.subscribe({
|
|
54
|
+
onAdded: () => __classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_changeNotifier, "f").notify(this),
|
|
55
|
+
onRemoved: () => __classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_changeNotifier, "f").notify(this)
|
|
43
56
|
}));
|
|
44
57
|
}
|
|
45
58
|
copy() {
|
|
46
|
-
const graph = this
|
|
59
|
+
const graph = __classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_context, "f").boxGraph;
|
|
47
60
|
const boxCopy = NoteEventCollectionBox.create(graph, UUID.generate());
|
|
48
|
-
this
|
|
49
|
-
return this
|
|
61
|
+
__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_events, "f").asArray().forEach(source => source.copyTo({ events: boxCopy.events }));
|
|
62
|
+
return __classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_context, "f").boxAdapters.adapterFor(boxCopy, NoteEventCollectionBoxAdapter);
|
|
50
63
|
}
|
|
51
64
|
createEvent({ position, duration, velocity, pitch, chance, playCount, cent }) {
|
|
52
|
-
return this
|
|
65
|
+
return __classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_context, "f").boxAdapters.adapterFor(NoteEventBox.create(__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_context, "f").boxGraph, UUID.generate(), box => {
|
|
53
66
|
box.position.setValue(position);
|
|
54
67
|
box.duration.setValue(duration);
|
|
55
68
|
box.velocity.setValue(velocity);
|
|
@@ -57,13 +70,13 @@ export class NoteEventCollectionBoxAdapter {
|
|
|
57
70
|
box.chance.setValue(chance);
|
|
58
71
|
box.playCount.setValue(playCount);
|
|
59
72
|
box.cent.setValue(cent);
|
|
60
|
-
box.events.refer(this
|
|
73
|
+
box.events.refer(__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_box, "f").events);
|
|
61
74
|
}), NoteEventBoxAdapter);
|
|
62
75
|
}
|
|
63
|
-
subscribeChange(observer) { return this
|
|
64
|
-
selectable() { return this
|
|
76
|
+
subscribeChange(observer) { return __classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_changeNotifier, "f").subscribe(observer); }
|
|
77
|
+
selectable() { return __classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_events, "f").asArray(); }
|
|
65
78
|
selectableAt(coordinates) {
|
|
66
|
-
for (const element of this
|
|
79
|
+
for (const element of __classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_events, "f").asArray()) { // TODO Use optimized data structures
|
|
67
80
|
if (element.position <= coordinates.u && coordinates.u < element.complete && element.pitch === coordinates.v) {
|
|
68
81
|
return Iterables.one(element);
|
|
69
82
|
}
|
|
@@ -72,7 +85,7 @@ export class NoteEventCollectionBoxAdapter {
|
|
|
72
85
|
}
|
|
73
86
|
selectablesBetween(begin, end) {
|
|
74
87
|
const events = [];
|
|
75
|
-
for (const element of this
|
|
88
|
+
for (const element of __classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_events, "f").asArray()) { // TODO Use optimized data structures
|
|
76
89
|
if (Intervals.intersect1D(element.position, element.complete, begin.u, end.u)
|
|
77
90
|
&& Intervals.intersect1D(element.pitch, element.pitch, begin.v, end.v)) {
|
|
78
91
|
events.push(element);
|
|
@@ -81,56 +94,55 @@ export class NoteEventCollectionBoxAdapter {
|
|
|
81
94
|
return events;
|
|
82
95
|
}
|
|
83
96
|
requestSorting() {
|
|
84
|
-
this
|
|
97
|
+
__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_events, "f").onIndexingChanged();
|
|
85
98
|
this.onEventPropertyChanged();
|
|
86
99
|
}
|
|
87
|
-
onEventPropertyChanged() { this
|
|
88
|
-
terminate() { this
|
|
89
|
-
get box() { return this
|
|
90
|
-
get uuid() { return this
|
|
91
|
-
get address() { return this
|
|
92
|
-
get numOwners() { return this
|
|
100
|
+
onEventPropertyChanged() { __classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_instances, "m", _NoteEventCollectionBoxAdapter_onEventsChanged).call(this); }
|
|
101
|
+
terminate() { __classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_terminator, "f").terminate(); }
|
|
102
|
+
get box() { return __classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_box, "f"); }
|
|
103
|
+
get uuid() { return __classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_box, "f").address.uuid; }
|
|
104
|
+
get address() { return __classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_box, "f").address; }
|
|
105
|
+
get numOwners() { return __classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_box, "f").owners.pointerHub.filter(Pointers.NoteEventCollection).length; }
|
|
93
106
|
get events() {
|
|
94
|
-
if (!this
|
|
95
|
-
this
|
|
107
|
+
if (!__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_computedExtremas, "f")) {
|
|
108
|
+
__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_instances, "m", _NoteEventCollectionBoxAdapter_computeExtremas).call(this);
|
|
96
109
|
}
|
|
97
|
-
return this
|
|
110
|
+
return __classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_events, "f");
|
|
98
111
|
}
|
|
99
112
|
get minPitch() {
|
|
100
|
-
if (!this
|
|
101
|
-
this
|
|
113
|
+
if (!__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_computedExtremas, "f")) {
|
|
114
|
+
__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_instances, "m", _NoteEventCollectionBoxAdapter_computeExtremas).call(this);
|
|
102
115
|
}
|
|
103
|
-
return this
|
|
116
|
+
return __classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_minPitch, "f");
|
|
104
117
|
}
|
|
105
118
|
get maxPitch() {
|
|
106
|
-
if (!this
|
|
107
|
-
this
|
|
119
|
+
if (!__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_computedExtremas, "f")) {
|
|
120
|
+
__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_instances, "m", _NoteEventCollectionBoxAdapter_computeExtremas).call(this);
|
|
108
121
|
}
|
|
109
|
-
return this
|
|
122
|
+
return __classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_maxPitch, "f");
|
|
110
123
|
}
|
|
111
124
|
get maxDuration() {
|
|
112
|
-
if (!this
|
|
113
|
-
this
|
|
125
|
+
if (!__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_computedExtremas, "f")) {
|
|
126
|
+
__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_instances, "m", _NoteEventCollectionBoxAdapter_computeExtremas).call(this);
|
|
114
127
|
}
|
|
115
|
-
return this
|
|
116
|
-
}
|
|
117
|
-
toString() { return `{NoteEventCollectionBox ${UUID.toString(this.#box.address.uuid)}}`; }
|
|
118
|
-
#onEventsChanged() {
|
|
119
|
-
this.#computedExtremas = false;
|
|
120
|
-
this.#changeNotifier.notify(this);
|
|
121
|
-
}
|
|
122
|
-
#computeExtremas() {
|
|
123
|
-
let min = 127 | 0;
|
|
124
|
-
let max = 0 | 0;
|
|
125
|
-
let maxDuration = 0;
|
|
126
|
-
this.#events.asArray().forEach(({ pitch, duration }) => {
|
|
127
|
-
min = Math.min(min, pitch);
|
|
128
|
-
max = Math.max(max, pitch);
|
|
129
|
-
maxDuration = Math.max(maxDuration, duration);
|
|
130
|
-
});
|
|
131
|
-
this.#minPitch = min;
|
|
132
|
-
this.#maxPitch = max;
|
|
133
|
-
this.#maxDuration = maxDuration;
|
|
134
|
-
this.#computedExtremas = true;
|
|
128
|
+
return __classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_maxDuration, "f");
|
|
135
129
|
}
|
|
130
|
+
toString() { return `{NoteEventCollectionBox ${UUID.toString(__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_box, "f").address.uuid)}}`; }
|
|
136
131
|
}
|
|
132
|
+
_NoteEventCollectionBoxAdapter_terminator = new WeakMap(), _NoteEventCollectionBoxAdapter_context = new WeakMap(), _NoteEventCollectionBoxAdapter_box = new WeakMap(), _NoteEventCollectionBoxAdapter_changeNotifier = new WeakMap(), _NoteEventCollectionBoxAdapter_adapters = new WeakMap(), _NoteEventCollectionBoxAdapter_events = new WeakMap(), _NoteEventCollectionBoxAdapter_minPitch = new WeakMap(), _NoteEventCollectionBoxAdapter_maxPitch = new WeakMap(), _NoteEventCollectionBoxAdapter_maxDuration = new WeakMap(), _NoteEventCollectionBoxAdapter_computedExtremas = new WeakMap(), _NoteEventCollectionBoxAdapter_instances = new WeakSet(), _NoteEventCollectionBoxAdapter_onEventsChanged = function _NoteEventCollectionBoxAdapter_onEventsChanged() {
|
|
133
|
+
__classPrivateFieldSet(this, _NoteEventCollectionBoxAdapter_computedExtremas, false, "f");
|
|
134
|
+
__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_changeNotifier, "f").notify(this);
|
|
135
|
+
}, _NoteEventCollectionBoxAdapter_computeExtremas = function _NoteEventCollectionBoxAdapter_computeExtremas() {
|
|
136
|
+
let min = 127 | 0;
|
|
137
|
+
let max = 0 | 0;
|
|
138
|
+
let maxDuration = 0;
|
|
139
|
+
__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_events, "f").asArray().forEach(({ pitch, duration }) => {
|
|
140
|
+
min = Math.min(min, pitch);
|
|
141
|
+
max = Math.max(max, pitch);
|
|
142
|
+
maxDuration = Math.max(maxDuration, duration);
|
|
143
|
+
});
|
|
144
|
+
__classPrivateFieldSet(this, _NoteEventCollectionBoxAdapter_minPitch, min, "f");
|
|
145
|
+
__classPrivateFieldSet(this, _NoteEventCollectionBoxAdapter_maxPitch, max, "f");
|
|
146
|
+
__classPrivateFieldSet(this, _NoteEventCollectionBoxAdapter_maxDuration, maxDuration, "f");
|
|
147
|
+
__classPrivateFieldSet(this, _NoteEventCollectionBoxAdapter_computedExtremas, true, "f");
|
|
148
|
+
};
|