@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.
- 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.js +37 -24
- 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.js +42 -29
- 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,27 +1,40 @@
|
|
|
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 _TrackBoxAdapter_instances, _TrackBoxAdapter_context, _TrackBoxAdapter_box, _TrackBoxAdapter_terminator, _TrackBoxAdapter_clips, _TrackBoxAdapter_regions, _TrackBoxAdapter_listIndex, _TrackBoxAdapter_catchupAndSubscribeTargetDeviceName, _TrackBoxAdapter_catchupAndSubscribeTargetControlName;
|
|
1
13
|
import { asInstanceOf, DefaultObservableValue, isInstanceOf, Option, panic, Terminable, Terminator } from "@opendaw/lib-std";
|
|
2
14
|
import { StringField } from "@opendaw/lib-box";
|
|
15
|
+
import { UpdateClockRate } from "@opendaw/lib-dsp";
|
|
3
16
|
import { TrackClips } from "./TrackClips";
|
|
4
17
|
import { TrackRegions } from "./TrackRegions";
|
|
5
18
|
import { AudioUnitBoxAdapter } from "../audio-unit/AudioUnitBoxAdapter";
|
|
6
19
|
import { TrackType } from "./TrackType";
|
|
7
|
-
import { UpdateClockRate } from "../UpdateClockRate";
|
|
8
20
|
import { ValueClipBoxAdapter } from "./clip/ValueClipBoxAdapter";
|
|
9
21
|
import { ValueRegionBoxAdapter } from "./region/ValueRegionBoxAdapter";
|
|
10
22
|
import { AudioUnitBox } from "@opendaw/studio-boxes";
|
|
11
23
|
export class TrackBoxAdapter {
|
|
12
|
-
#context;
|
|
13
|
-
#box;
|
|
14
|
-
#terminator;
|
|
15
|
-
#clips;
|
|
16
|
-
#regions;
|
|
17
|
-
#listIndex;
|
|
18
24
|
constructor(context, box) {
|
|
19
|
-
this
|
|
20
|
-
this
|
|
21
|
-
this
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
this
|
|
25
|
+
_TrackBoxAdapter_instances.add(this);
|
|
26
|
+
_TrackBoxAdapter_context.set(this, void 0);
|
|
27
|
+
_TrackBoxAdapter_box.set(this, void 0);
|
|
28
|
+
_TrackBoxAdapter_terminator.set(this, void 0);
|
|
29
|
+
_TrackBoxAdapter_clips.set(this, void 0);
|
|
30
|
+
_TrackBoxAdapter_regions.set(this, void 0);
|
|
31
|
+
_TrackBoxAdapter_listIndex.set(this, void 0);
|
|
32
|
+
__classPrivateFieldSet(this, _TrackBoxAdapter_context, context, "f");
|
|
33
|
+
__classPrivateFieldSet(this, _TrackBoxAdapter_box, box, "f");
|
|
34
|
+
__classPrivateFieldSet(this, _TrackBoxAdapter_terminator, new Terminator(), "f");
|
|
35
|
+
__classPrivateFieldSet(this, _TrackBoxAdapter_clips, __classPrivateFieldGet(this, _TrackBoxAdapter_terminator, "f").own(new TrackClips(this, context.boxAdapters)), "f");
|
|
36
|
+
__classPrivateFieldSet(this, _TrackBoxAdapter_regions, __classPrivateFieldGet(this, _TrackBoxAdapter_terminator, "f").own(new TrackRegions(this, context.boxAdapters)), "f");
|
|
37
|
+
__classPrivateFieldSet(this, _TrackBoxAdapter_listIndex, __classPrivateFieldGet(this, _TrackBoxAdapter_terminator, "f").own(new DefaultObservableValue(-1)), "f");
|
|
25
38
|
}
|
|
26
39
|
catchupAndSubscribePath(observer) {
|
|
27
40
|
const path = [Option.None, Option.None];
|
|
@@ -33,13 +46,13 @@ export class TrackBoxAdapter {
|
|
|
33
46
|
observer(Option.None);
|
|
34
47
|
}
|
|
35
48
|
};
|
|
36
|
-
return Terminable.many(this
|
|
49
|
+
return Terminable.many(__classPrivateFieldGet(this, _TrackBoxAdapter_instances, "m", _TrackBoxAdapter_catchupAndSubscribeTargetDeviceName).call(this, option => {
|
|
37
50
|
if (path[0].equals(option)) {
|
|
38
51
|
return;
|
|
39
52
|
}
|
|
40
53
|
path[0] = option;
|
|
41
54
|
updater();
|
|
42
|
-
}), this
|
|
55
|
+
}), __classPrivateFieldGet(this, _TrackBoxAdapter_instances, "m", _TrackBoxAdapter_catchupAndSubscribeTargetControlName).call(this, option => {
|
|
43
56
|
if (path[1].equals(option)) {
|
|
44
57
|
return;
|
|
45
58
|
}
|
|
@@ -48,10 +61,10 @@ export class TrackBoxAdapter {
|
|
|
48
61
|
}));
|
|
49
62
|
}
|
|
50
63
|
set targetDeviceName(value) {
|
|
51
|
-
this
|
|
64
|
+
__classPrivateFieldGet(this, _TrackBoxAdapter_box, "f").target.targetVertex.ifSome(targetVertex => {
|
|
52
65
|
const vertex = targetVertex.box;
|
|
53
66
|
if (vertex instanceof AudioUnitBox) {
|
|
54
|
-
const adapter = this
|
|
67
|
+
const adapter = __classPrivateFieldGet(this, _TrackBoxAdapter_context, "f").boxAdapters.adapterFor(vertex, AudioUnitBoxAdapter);
|
|
55
68
|
return adapter.input.getValue().ifSome(({ labelField }) => labelField.setValue(value));
|
|
56
69
|
}
|
|
57
70
|
else if ("label" in vertex && vertex.label instanceof StringField) {
|
|
@@ -60,10 +73,10 @@ export class TrackBoxAdapter {
|
|
|
60
73
|
});
|
|
61
74
|
}
|
|
62
75
|
get targetDeviceName() {
|
|
63
|
-
return this
|
|
76
|
+
return __classPrivateFieldGet(this, _TrackBoxAdapter_box, "f").target.targetVertex.flatMap(targetVertex => {
|
|
64
77
|
const vertex = targetVertex.box;
|
|
65
78
|
if (vertex instanceof AudioUnitBox) {
|
|
66
|
-
const adapter = this
|
|
79
|
+
const adapter = __classPrivateFieldGet(this, _TrackBoxAdapter_context, "f").boxAdapters.adapterFor(vertex, AudioUnitBoxAdapter);
|
|
67
80
|
return adapter.input.label;
|
|
68
81
|
}
|
|
69
82
|
else if ("label" in vertex && vertex.label instanceof StringField) {
|
|
@@ -74,71 +87,19 @@ export class TrackBoxAdapter {
|
|
|
74
87
|
}
|
|
75
88
|
});
|
|
76
89
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
observer(Option.wrap(vertex.name));
|
|
91
|
-
return Terminable.Empty;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
observer(Option.None);
|
|
95
|
-
return Terminable.Empty;
|
|
96
|
-
}
|
|
97
|
-
#catchupAndSubscribeTargetControlName(observer) {
|
|
98
|
-
const type = this.type;
|
|
99
|
-
switch (type) {
|
|
100
|
-
case TrackType.Audio:
|
|
101
|
-
case TrackType.Notes: {
|
|
102
|
-
observer(Option.wrap(TrackType[type]));
|
|
103
|
-
return Terminable.Empty;
|
|
104
|
-
}
|
|
105
|
-
case TrackType.Value: {
|
|
106
|
-
const target = this.#box.target.targetVertex.unwrap();
|
|
107
|
-
if (target.isField()) {
|
|
108
|
-
observer(this.#context.parameterFieldAdapters.opt(target.address).map(vertex => vertex.name));
|
|
109
|
-
}
|
|
110
|
-
else if (target.isBox()) {
|
|
111
|
-
// I cannot think of a scenario where target is a box, but at least the UI shows the box's name
|
|
112
|
-
observer(Option.wrap(target.name));
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
return panic("Illegal State. Vertex is not a field nor box.");
|
|
116
|
-
}
|
|
117
|
-
return Terminable.Empty;
|
|
118
|
-
}
|
|
119
|
-
case TrackType.Undefined: {
|
|
120
|
-
observer(Option.wrap(""));
|
|
121
|
-
return Terminable.Empty;
|
|
122
|
-
}
|
|
123
|
-
default: {
|
|
124
|
-
observer(Option.None);
|
|
125
|
-
return Terminable.Empty;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
terminate() { this.#terminator.terminate(); }
|
|
130
|
-
get audioUnit() { return asInstanceOf(this.#box.tracks.targetVertex.unwrap().box, AudioUnitBox); }
|
|
131
|
-
get target() { return this.#box.target; }
|
|
132
|
-
get clips() { return this.#clips; }
|
|
133
|
-
get regions() { return this.#regions; }
|
|
134
|
-
get enabled() { return this.#box.enabled; }
|
|
135
|
-
get indexField() { return this.#box.index; }
|
|
136
|
-
get type() { return this.#box.type.getValue(); }
|
|
137
|
-
get box() { return this.#box; }
|
|
138
|
-
get uuid() { return this.#box.address.uuid; }
|
|
139
|
-
get address() { return this.#box.address; }
|
|
140
|
-
get listIndex() { return this.#listIndex.getValue(); }
|
|
141
|
-
set listIndex(value) { this.#listIndex.setValue(value); }
|
|
90
|
+
terminate() { __classPrivateFieldGet(this, _TrackBoxAdapter_terminator, "f").terminate(); }
|
|
91
|
+
get audioUnit() { return asInstanceOf(__classPrivateFieldGet(this, _TrackBoxAdapter_box, "f").tracks.targetVertex.unwrap().box, AudioUnitBox); }
|
|
92
|
+
get target() { return __classPrivateFieldGet(this, _TrackBoxAdapter_box, "f").target; }
|
|
93
|
+
get clips() { return __classPrivateFieldGet(this, _TrackBoxAdapter_clips, "f"); }
|
|
94
|
+
get regions() { return __classPrivateFieldGet(this, _TrackBoxAdapter_regions, "f"); }
|
|
95
|
+
get enabled() { return __classPrivateFieldGet(this, _TrackBoxAdapter_box, "f").enabled; }
|
|
96
|
+
get indexField() { return __classPrivateFieldGet(this, _TrackBoxAdapter_box, "f").index; }
|
|
97
|
+
get type() { return __classPrivateFieldGet(this, _TrackBoxAdapter_box, "f").type.getValue(); }
|
|
98
|
+
get box() { return __classPrivateFieldGet(this, _TrackBoxAdapter_box, "f"); }
|
|
99
|
+
get uuid() { return __classPrivateFieldGet(this, _TrackBoxAdapter_box, "f").address.uuid; }
|
|
100
|
+
get address() { return __classPrivateFieldGet(this, _TrackBoxAdapter_box, "f").address; }
|
|
101
|
+
get listIndex() { return __classPrivateFieldGet(this, _TrackBoxAdapter_listIndex, "f").getValue(); }
|
|
102
|
+
set listIndex(value) { __classPrivateFieldGet(this, _TrackBoxAdapter_listIndex, "f").setValue(value); }
|
|
142
103
|
accepts(subject) {
|
|
143
104
|
switch (subject.type) {
|
|
144
105
|
case "audio-clip":
|
|
@@ -160,7 +121,7 @@ export class TrackBoxAdapter {
|
|
|
160
121
|
return fallback;
|
|
161
122
|
}
|
|
162
123
|
let value = fallback;
|
|
163
|
-
const intervals = this
|
|
124
|
+
const intervals = __classPrivateFieldGet(this, _TrackBoxAdapter_context, "f").clipSequencing.iterate(this.uuid, position, position + UpdateClockRate);
|
|
164
125
|
for (const { optClip, sectionFrom } of intervals) {
|
|
165
126
|
value = optClip.match({
|
|
166
127
|
none: () => {
|
|
@@ -192,3 +153,54 @@ export class TrackBoxAdapter {
|
|
|
192
153
|
return value;
|
|
193
154
|
}
|
|
194
155
|
}
|
|
156
|
+
_TrackBoxAdapter_context = new WeakMap(), _TrackBoxAdapter_box = new WeakMap(), _TrackBoxAdapter_terminator = new WeakMap(), _TrackBoxAdapter_clips = new WeakMap(), _TrackBoxAdapter_regions = new WeakMap(), _TrackBoxAdapter_listIndex = new WeakMap(), _TrackBoxAdapter_instances = new WeakSet(), _TrackBoxAdapter_catchupAndSubscribeTargetDeviceName = function _TrackBoxAdapter_catchupAndSubscribeTargetDeviceName(observer) {
|
|
157
|
+
const targetVertex = __classPrivateFieldGet(this, _TrackBoxAdapter_box, "f").target.targetVertex;
|
|
158
|
+
if (targetVertex.nonEmpty()) {
|
|
159
|
+
const vertex = targetVertex.unwrap().box;
|
|
160
|
+
if (vertex instanceof AudioUnitBox) {
|
|
161
|
+
const adapter = __classPrivateFieldGet(this, _TrackBoxAdapter_context, "f").boxAdapters.adapterFor(vertex, AudioUnitBoxAdapter);
|
|
162
|
+
return adapter.input.catchupAndSubscribeLabelChange(option => observer(option));
|
|
163
|
+
}
|
|
164
|
+
else if ("label" in vertex && vertex.label instanceof StringField) {
|
|
165
|
+
return vertex.label.catchupAndSubscribe(owner => observer(Option.wrap(owner.getValue())));
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
// This will probably not happen. It is just a fallback.
|
|
169
|
+
observer(Option.wrap(vertex.name));
|
|
170
|
+
return Terminable.Empty;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
observer(Option.None);
|
|
174
|
+
return Terminable.Empty;
|
|
175
|
+
}, _TrackBoxAdapter_catchupAndSubscribeTargetControlName = function _TrackBoxAdapter_catchupAndSubscribeTargetControlName(observer) {
|
|
176
|
+
const type = this.type;
|
|
177
|
+
switch (type) {
|
|
178
|
+
case TrackType.Audio:
|
|
179
|
+
case TrackType.Notes: {
|
|
180
|
+
observer(Option.wrap(TrackType[type]));
|
|
181
|
+
return Terminable.Empty;
|
|
182
|
+
}
|
|
183
|
+
case TrackType.Value: {
|
|
184
|
+
const target = __classPrivateFieldGet(this, _TrackBoxAdapter_box, "f").target.targetVertex.unwrap();
|
|
185
|
+
if (target.isField()) {
|
|
186
|
+
observer(__classPrivateFieldGet(this, _TrackBoxAdapter_context, "f").parameterFieldAdapters.opt(target.address).map(vertex => vertex.name));
|
|
187
|
+
}
|
|
188
|
+
else if (target.isBox()) {
|
|
189
|
+
// I cannot think of a scenario where target is a box, but at least the UI shows the box's name
|
|
190
|
+
observer(Option.wrap(target.name));
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
return panic("Illegal State. Vertex is not a field nor box.");
|
|
194
|
+
}
|
|
195
|
+
return Terminable.Empty;
|
|
196
|
+
}
|
|
197
|
+
case TrackType.Undefined: {
|
|
198
|
+
observer(Option.wrap(""));
|
|
199
|
+
return Terminable.Empty;
|
|
200
|
+
}
|
|
201
|
+
default: {
|
|
202
|
+
observer(Option.None);
|
|
203
|
+
return Terminable.Empty;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
};
|
|
@@ -1,26 +1,39 @@
|
|
|
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 _TrackClips_trackBoxAdapter, _TrackClips_terminator, _TrackClips_changeNotifier, _TrackClips_collection;
|
|
1
13
|
import { Pointers } from "@opendaw/studio-enums";
|
|
2
14
|
import { Notifier, Terminator } from "@opendaw/lib-std";
|
|
3
15
|
import { IndexedBoxAdapterCollection } from "../IndexedBoxAdapterCollection";
|
|
4
16
|
import { ClipAdapters } from "./ClipBoxAdapter";
|
|
5
17
|
export class TrackClips {
|
|
6
|
-
#trackBoxAdapter;
|
|
7
|
-
#terminator;
|
|
8
|
-
#changeNotifier;
|
|
9
|
-
#collection;
|
|
10
18
|
constructor(adapter, boxAdapters) {
|
|
11
|
-
this
|
|
12
|
-
this
|
|
13
|
-
this
|
|
14
|
-
|
|
15
|
-
this
|
|
19
|
+
_TrackClips_trackBoxAdapter.set(this, void 0);
|
|
20
|
+
_TrackClips_terminator.set(this, void 0);
|
|
21
|
+
_TrackClips_changeNotifier.set(this, void 0);
|
|
22
|
+
_TrackClips_collection.set(this, void 0);
|
|
23
|
+
__classPrivateFieldSet(this, _TrackClips_trackBoxAdapter, adapter, "f");
|
|
24
|
+
__classPrivateFieldSet(this, _TrackClips_terminator, new Terminator(), "f");
|
|
25
|
+
__classPrivateFieldSet(this, _TrackClips_changeNotifier, __classPrivateFieldGet(this, _TrackClips_terminator, "f").own(new Notifier()), "f");
|
|
26
|
+
__classPrivateFieldSet(this, _TrackClips_collection, __classPrivateFieldGet(this, _TrackClips_terminator, "f").own(IndexedBoxAdapterCollection.create(adapter.box.clips, box => ClipAdapters.for(boxAdapters, box), Pointers.ClipCollection)), "f");
|
|
27
|
+
__classPrivateFieldGet(this, _TrackClips_collection, "f").subscribe({
|
|
16
28
|
onAdd: () => this.dispatchChange(),
|
|
17
29
|
onRemove: () => this.dispatchChange(),
|
|
18
30
|
onReorder: () => this.dispatchChange()
|
|
19
31
|
});
|
|
20
32
|
}
|
|
21
|
-
get trackBoxAdapter() { return this
|
|
22
|
-
get collection() { return this
|
|
23
|
-
dispatchChange() { this
|
|
24
|
-
subscribeChanges(observer) { return this
|
|
25
|
-
terminate() { this
|
|
33
|
+
get trackBoxAdapter() { return __classPrivateFieldGet(this, _TrackClips_trackBoxAdapter, "f"); }
|
|
34
|
+
get collection() { return __classPrivateFieldGet(this, _TrackClips_collection, "f"); }
|
|
35
|
+
dispatchChange() { __classPrivateFieldGet(this, _TrackClips_changeNotifier, "f").notify(); }
|
|
36
|
+
subscribeChanges(observer) { return __classPrivateFieldGet(this, _TrackClips_changeNotifier, "f").subscribe(observer); }
|
|
37
|
+
terminate() { __classPrivateFieldGet(this, _TrackClips_terminator, "f").terminate(); }
|
|
26
38
|
}
|
|
39
|
+
_TrackClips_trackBoxAdapter = new WeakMap(), _TrackClips_terminator = new WeakMap(), _TrackClips_changeNotifier = new WeakMap(), _TrackClips_collection = new WeakMap();
|
|
@@ -1,50 +1,63 @@
|
|
|
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 _TrackRegions_trackBoxAdapter, _TrackRegions_terminator, _TrackRegions_changeNotifier, _TrackRegions_regionsListeners, _TrackRegions_collection, _TrackRegions_adapters;
|
|
1
13
|
import { RegionCollection } from "@opendaw/lib-dsp";
|
|
2
14
|
import { assert, Listeners, Notifier, Terminator, UUID } from "@opendaw/lib-std";
|
|
3
15
|
import { Pointers } from "@opendaw/studio-enums";
|
|
4
16
|
import { RegionAdapters, RegionComparator } from "./RegionBoxAdapter";
|
|
5
17
|
export class TrackRegions {
|
|
6
|
-
#trackBoxAdapter;
|
|
7
|
-
#terminator;
|
|
8
|
-
#changeNotifier;
|
|
9
|
-
#regionsListeners;
|
|
10
|
-
#collection;
|
|
11
|
-
#adapters;
|
|
12
18
|
constructor(adapter, boxAdapters) {
|
|
13
|
-
this
|
|
14
|
-
this
|
|
15
|
-
this
|
|
16
|
-
this
|
|
17
|
-
this
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
_TrackRegions_trackBoxAdapter.set(this, void 0);
|
|
20
|
+
_TrackRegions_terminator.set(this, void 0);
|
|
21
|
+
_TrackRegions_changeNotifier.set(this, void 0);
|
|
22
|
+
_TrackRegions_regionsListeners.set(this, void 0);
|
|
23
|
+
_TrackRegions_collection.set(this, void 0);
|
|
24
|
+
_TrackRegions_adapters.set(this, void 0);
|
|
25
|
+
__classPrivateFieldSet(this, _TrackRegions_trackBoxAdapter, adapter, "f");
|
|
26
|
+
__classPrivateFieldSet(this, _TrackRegions_terminator, new Terminator(), "f");
|
|
27
|
+
__classPrivateFieldSet(this, _TrackRegions_changeNotifier, __classPrivateFieldGet(this, _TrackRegions_terminator, "f").own(new Notifier()), "f");
|
|
28
|
+
__classPrivateFieldSet(this, _TrackRegions_regionsListeners, __classPrivateFieldGet(this, _TrackRegions_terminator, "f").own(new Listeners()), "f");
|
|
29
|
+
__classPrivateFieldSet(this, _TrackRegions_collection, RegionCollection.create(RegionComparator), "f");
|
|
30
|
+
__classPrivateFieldSet(this, _TrackRegions_adapters, UUID.newSet(adapter => adapter.uuid), "f");
|
|
31
|
+
__classPrivateFieldGet(this, _TrackRegions_terminator, "f").ownAll(__classPrivateFieldGet(this, _TrackRegions_trackBoxAdapter, "f").box.regions.pointerHub.catchupAndSubscribe({
|
|
20
32
|
onAdded: ({ box }) => {
|
|
21
33
|
const adapter = RegionAdapters.for(boxAdapters, box);
|
|
22
|
-
const added = this
|
|
34
|
+
const added = __classPrivateFieldGet(this, _TrackRegions_adapters, "f").add(adapter);
|
|
23
35
|
assert(added, `Cannot add ${box}`);
|
|
24
|
-
this
|
|
25
|
-
this
|
|
36
|
+
__classPrivateFieldGet(this, _TrackRegions_collection, "f").add(adapter);
|
|
37
|
+
__classPrivateFieldGet(this, _TrackRegions_regionsListeners, "f").forEach(listener => listener.onAdded(adapter));
|
|
26
38
|
this.dispatchChange();
|
|
27
39
|
},
|
|
28
40
|
onRemoved: ({ box: { address: { uuid } } }) => {
|
|
29
|
-
const adapter = this
|
|
30
|
-
this
|
|
31
|
-
this
|
|
41
|
+
const adapter = __classPrivateFieldGet(this, _TrackRegions_adapters, "f").removeByKey(uuid);
|
|
42
|
+
__classPrivateFieldGet(this, _TrackRegions_collection, "f").remove(adapter);
|
|
43
|
+
__classPrivateFieldGet(this, _TrackRegions_regionsListeners, "f").forEach(listener => listener.onRemoved(adapter));
|
|
32
44
|
this.dispatchChange();
|
|
33
45
|
}
|
|
34
46
|
}, Pointers.RegionCollection));
|
|
35
47
|
}
|
|
36
|
-
get trackBoxAdapter() { return this
|
|
37
|
-
get collection() { return this
|
|
38
|
-
get adapters() { return this
|
|
48
|
+
get trackBoxAdapter() { return __classPrivateFieldGet(this, _TrackRegions_trackBoxAdapter, "f"); }
|
|
49
|
+
get collection() { return __classPrivateFieldGet(this, _TrackRegions_collection, "f"); }
|
|
50
|
+
get adapters() { return __classPrivateFieldGet(this, _TrackRegions_adapters, "f"); }
|
|
39
51
|
onIndexingChanged() {
|
|
40
|
-
this
|
|
52
|
+
__classPrivateFieldGet(this, _TrackRegions_collection, "f").onIndexingChanged();
|
|
41
53
|
this.dispatchChange();
|
|
42
54
|
}
|
|
43
55
|
catchupAndSubscribe(listener) {
|
|
44
56
|
this.collection.asArray().forEach(listener.onAdded);
|
|
45
|
-
return this
|
|
57
|
+
return __classPrivateFieldGet(this, _TrackRegions_regionsListeners, "f").subscribe(listener);
|
|
46
58
|
}
|
|
47
|
-
subscribeChanges(observer) { return this
|
|
48
|
-
dispatchChange() { this
|
|
49
|
-
terminate() { this
|
|
59
|
+
subscribeChanges(observer) { return __classPrivateFieldGet(this, _TrackRegions_changeNotifier, "f").subscribe(observer); }
|
|
60
|
+
dispatchChange() { __classPrivateFieldGet(this, _TrackRegions_changeNotifier, "f").notify(); }
|
|
61
|
+
terminate() { __classPrivateFieldGet(this, _TrackRegions_terminator, "f").terminate(); }
|
|
50
62
|
}
|
|
63
|
+
_TrackRegions_trackBoxAdapter = new WeakMap(), _TrackRegions_terminator = new WeakMap(), _TrackRegions_changeNotifier = new WeakMap(), _TrackRegions_regionsListeners = new WeakMap(), _TrackRegions_collection = new WeakMap(), _TrackRegions_adapters = new WeakMap();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrackType.d.ts","sourceRoot":"","sources":["../../src/timeline/TrackType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"TrackType.d.ts","sourceRoot":"","sources":["../../src/timeline/TrackType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAA;AAEhD,oBAAY,SAAS;IAAE,SAAS,IAAA;IAAE,KAAK,IAAA;IAAE,KAAK,IAAA;IAAE,KAAK,IAAA;CAAC;AAEtD,yBAAiB,SAAS,CAAC;IAChB,MAAM,aAAa,GAAI,MAAM,SAAS,KAAG,MAY/C,CAAA;IACM,MAAM,YAAY,GAAI,MAAM,SAAS,8GAa3C,CAAA;CACJ"}
|
|
@@ -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 _AudioClipBoxAdapter_instances, _AudioClipBoxAdapter_terminator, _AudioClipBoxAdapter_context, _AudioClipBoxAdapter_box, _AudioClipBoxAdapter_selectedValue, _AudioClipBoxAdapter_changeNotifier, _AudioClipBoxAdapter_isConstructing, _AudioClipBoxAdapter_fileAdapter, _AudioClipBoxAdapter_fileSubscription, _AudioClipBoxAdapter_dispatchChange;
|
|
1
13
|
import { PPQN } from "@opendaw/lib-dsp";
|
|
2
14
|
import { DefaultObservableValue, Notifier, Option, safeExecute, Terminator, UUID } from "@opendaw/lib-std";
|
|
3
15
|
import { AudioClipBox } from "@opendaw/studio-boxes";
|
|
@@ -5,83 +17,84 @@ import { Propagation } from "@opendaw/lib-box";
|
|
|
5
17
|
import { TrackBoxAdapter } from "../TrackBoxAdapter";
|
|
6
18
|
import { AudioFileBoxAdapter } from "../../audio/AudioFileBoxAdapter";
|
|
7
19
|
export class AudioClipBoxAdapter {
|
|
8
|
-
type = "audio-clip";
|
|
9
|
-
#terminator = new Terminator();
|
|
10
|
-
#context;
|
|
11
|
-
#box;
|
|
12
|
-
#selectedValue;
|
|
13
|
-
#changeNotifier;
|
|
14
|
-
#isConstructing; // Prevents stack overflow due to infinite adapter queries
|
|
15
|
-
#fileAdapter = Option.None;
|
|
16
|
-
#fileSubscription = Option.None;
|
|
17
20
|
constructor(context, box) {
|
|
18
|
-
this
|
|
19
|
-
this
|
|
20
|
-
this
|
|
21
|
-
this
|
|
22
|
-
this
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
21
|
+
_AudioClipBoxAdapter_instances.add(this);
|
|
22
|
+
this.type = "audio-clip";
|
|
23
|
+
_AudioClipBoxAdapter_terminator.set(this, new Terminator());
|
|
24
|
+
_AudioClipBoxAdapter_context.set(this, void 0);
|
|
25
|
+
_AudioClipBoxAdapter_box.set(this, void 0);
|
|
26
|
+
_AudioClipBoxAdapter_selectedValue.set(this, void 0);
|
|
27
|
+
_AudioClipBoxAdapter_changeNotifier.set(this, void 0);
|
|
28
|
+
_AudioClipBoxAdapter_isConstructing.set(this, void 0); // Prevents stack overflow due to infinite adapter queries
|
|
29
|
+
_AudioClipBoxAdapter_fileAdapter.set(this, Option.None);
|
|
30
|
+
_AudioClipBoxAdapter_fileSubscription.set(this, Option.None);
|
|
31
|
+
__classPrivateFieldSet(this, _AudioClipBoxAdapter_context, context, "f");
|
|
32
|
+
__classPrivateFieldSet(this, _AudioClipBoxAdapter_box, box, "f");
|
|
33
|
+
__classPrivateFieldSet(this, _AudioClipBoxAdapter_isConstructing, true, "f");
|
|
34
|
+
__classPrivateFieldSet(this, _AudioClipBoxAdapter_selectedValue, __classPrivateFieldGet(this, _AudioClipBoxAdapter_terminator, "f").own(new DefaultObservableValue(false)), "f");
|
|
35
|
+
__classPrivateFieldSet(this, _AudioClipBoxAdapter_changeNotifier, __classPrivateFieldGet(this, _AudioClipBoxAdapter_terminator, "f").own(new Notifier()), "f");
|
|
36
|
+
__classPrivateFieldGet(this, _AudioClipBoxAdapter_terminator, "f").ownAll(__classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").pointerHub.subscribe({
|
|
37
|
+
onAdded: () => __classPrivateFieldGet(this, _AudioClipBoxAdapter_instances, "m", _AudioClipBoxAdapter_dispatchChange).call(this),
|
|
38
|
+
onRemoved: () => __classPrivateFieldGet(this, _AudioClipBoxAdapter_instances, "m", _AudioClipBoxAdapter_dispatchChange).call(this)
|
|
39
|
+
}), __classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").file.catchupAndSubscribe((pointerField) => {
|
|
40
|
+
__classPrivateFieldSet(this, _AudioClipBoxAdapter_fileAdapter, pointerField.targetVertex
|
|
41
|
+
.map(vertex => __classPrivateFieldGet(this, _AudioClipBoxAdapter_context, "f").boxAdapters.adapterFor(vertex.box, AudioFileBoxAdapter)), "f");
|
|
42
|
+
__classPrivateFieldGet(this, _AudioClipBoxAdapter_fileSubscription, "f").ifSome(subscription => subscription.terminate());
|
|
43
|
+
__classPrivateFieldSet(this, _AudioClipBoxAdapter_fileSubscription, __classPrivateFieldGet(this, _AudioClipBoxAdapter_fileAdapter, "f").map(adapter => adapter.getOrCreateLoader().subscribe(() => __classPrivateFieldGet(this, _AudioClipBoxAdapter_instances, "m", _AudioClipBoxAdapter_dispatchChange).call(this))), "f");
|
|
44
|
+
}), __classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").subscribe(Propagation.Children, (_update) => __classPrivateFieldGet(this, _AudioClipBoxAdapter_instances, "m", _AudioClipBoxAdapter_dispatchChange).call(this)), {
|
|
32
45
|
terminate: () => {
|
|
33
|
-
this
|
|
34
|
-
this
|
|
46
|
+
__classPrivateFieldGet(this, _AudioClipBoxAdapter_fileSubscription, "f").ifSome(subscription => subscription.terminate());
|
|
47
|
+
__classPrivateFieldSet(this, _AudioClipBoxAdapter_fileSubscription, Option.None, "f");
|
|
35
48
|
}
|
|
36
49
|
});
|
|
37
|
-
this
|
|
50
|
+
__classPrivateFieldSet(this, _AudioClipBoxAdapter_isConstructing, false, "f");
|
|
38
51
|
}
|
|
39
52
|
catchupAndSubscribeSelected(observer) {
|
|
40
|
-
return this
|
|
53
|
+
return __classPrivateFieldGet(this, _AudioClipBoxAdapter_selectedValue, "f").catchupAndSubscribe(observer);
|
|
41
54
|
}
|
|
42
|
-
subscribeChange(observer) { return this
|
|
55
|
+
subscribeChange(observer) { return __classPrivateFieldGet(this, _AudioClipBoxAdapter_changeNotifier, "f").subscribe(observer); }
|
|
43
56
|
accept(visitor) { return safeExecute(visitor.visitAudioClipBoxAdapter, this); }
|
|
44
57
|
consolidate() { }
|
|
45
58
|
clone(_mirrored) {
|
|
46
|
-
AudioClipBox.create(this
|
|
59
|
+
AudioClipBox.create(__classPrivateFieldGet(this, _AudioClipBoxAdapter_context, "f").boxGraph, UUID.generate(), box => {
|
|
47
60
|
box.index.setValue(this.indexField.getValue());
|
|
48
61
|
box.gain.setValue(this.gain);
|
|
49
62
|
box.label.setValue(this.label);
|
|
50
63
|
box.hue.setValue(this.hue);
|
|
51
64
|
box.duration.setValue(this.duration);
|
|
52
65
|
box.mute.setValue(this.mute);
|
|
53
|
-
box.clips.refer(this
|
|
54
|
-
box.file.refer(this
|
|
66
|
+
box.clips.refer(__classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").clips.targetVertex.unwrap());
|
|
67
|
+
box.file.refer(__classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").file.targetVertex.unwrap());
|
|
55
68
|
});
|
|
56
69
|
}
|
|
57
|
-
onSelected() { this
|
|
58
|
-
onDeselected() { this
|
|
59
|
-
get isSelected() { return this
|
|
60
|
-
terminate() { this
|
|
61
|
-
get box() { return this
|
|
62
|
-
get uuid() { return this
|
|
63
|
-
get address() { return this
|
|
64
|
-
get indexField() { return this
|
|
65
|
-
get duration() { return this
|
|
66
|
-
get mute() { return this
|
|
67
|
-
get hue() { return this
|
|
68
|
-
get gain() { return this
|
|
69
|
-
get file() { return this
|
|
70
|
+
onSelected() { __classPrivateFieldGet(this, _AudioClipBoxAdapter_selectedValue, "f").setValue(true); }
|
|
71
|
+
onDeselected() { __classPrivateFieldGet(this, _AudioClipBoxAdapter_selectedValue, "f").setValue(false); }
|
|
72
|
+
get isSelected() { return __classPrivateFieldGet(this, _AudioClipBoxAdapter_selectedValue, "f").getValue(); }
|
|
73
|
+
terminate() { __classPrivateFieldGet(this, _AudioClipBoxAdapter_terminator, "f").terminate(); }
|
|
74
|
+
get box() { return __classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f"); }
|
|
75
|
+
get uuid() { return __classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").address.uuid; }
|
|
76
|
+
get address() { return __classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").address; }
|
|
77
|
+
get indexField() { return __classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").index; }
|
|
78
|
+
get duration() { return __classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").duration.getValue(); }
|
|
79
|
+
get mute() { return __classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").mute.getValue(); }
|
|
80
|
+
get hue() { return __classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").hue.getValue(); }
|
|
81
|
+
get gain() { return __classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").gain.getValue(); }
|
|
82
|
+
get file() { return __classPrivateFieldGet(this, _AudioClipBoxAdapter_fileAdapter, "f").unwrap("Cannot access file."); }
|
|
70
83
|
get hasCollection() { return !this.optCollection.isEmpty(); }
|
|
71
84
|
get optCollection() { return Option.None; }
|
|
72
|
-
get label() { return this
|
|
85
|
+
get label() { return __classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").label.getValue(); }
|
|
73
86
|
get trackBoxAdapter() {
|
|
74
|
-
if (this
|
|
87
|
+
if (__classPrivateFieldGet(this, _AudioClipBoxAdapter_isConstructing, "f")) {
|
|
75
88
|
return Option.None;
|
|
76
89
|
}
|
|
77
|
-
return this
|
|
78
|
-
.map(vertex => this
|
|
90
|
+
return __classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").clips.targetVertex
|
|
91
|
+
.map(vertex => __classPrivateFieldGet(this, _AudioClipBoxAdapter_context, "f").boxAdapters.adapterFor(vertex.box, TrackBoxAdapter));
|
|
79
92
|
}
|
|
80
93
|
get isMirrowed() { return false; }
|
|
81
94
|
get canMirror() { return false; }
|
|
82
|
-
toString() { return `{AudioClipBoxAdapter ${UUID.toString(this
|
|
83
|
-
#dispatchChange() {
|
|
84
|
-
this.#changeNotifier.notify();
|
|
85
|
-
this.trackBoxAdapter.unwrapOrNull()?.clips?.dispatchChange();
|
|
86
|
-
}
|
|
95
|
+
toString() { return `{AudioClipBoxAdapter ${UUID.toString(__classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").address.uuid)} d: ${PPQN.toString(this.duration)}}`; }
|
|
87
96
|
}
|
|
97
|
+
_AudioClipBoxAdapter_terminator = new WeakMap(), _AudioClipBoxAdapter_context = new WeakMap(), _AudioClipBoxAdapter_box = new WeakMap(), _AudioClipBoxAdapter_selectedValue = new WeakMap(), _AudioClipBoxAdapter_changeNotifier = new WeakMap(), _AudioClipBoxAdapter_isConstructing = new WeakMap(), _AudioClipBoxAdapter_fileAdapter = new WeakMap(), _AudioClipBoxAdapter_fileSubscription = new WeakMap(), _AudioClipBoxAdapter_instances = new WeakSet(), _AudioClipBoxAdapter_dispatchChange = function _AudioClipBoxAdapter_dispatchChange() {
|
|
98
|
+
__classPrivateFieldGet(this, _AudioClipBoxAdapter_changeNotifier, "f").notify();
|
|
99
|
+
this.trackBoxAdapter.unwrapOrNull()?.clips?.dispatchChange();
|
|
100
|
+
};
|