@opendaw/studio-adapters 0.0.50 → 0.0.52
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.d.ts.map +1 -1
- package/dist/AutomatableParameterFieldAdapter.js +1 -1
- package/dist/BoxAdapters.d.ts.map +1 -1
- package/dist/BoxAdapters.js +10 -0
- package/dist/EngineAddresses.d.ts +7 -0
- package/dist/EngineAddresses.d.ts.map +1 -0
- package/dist/EngineAddresses.js +8 -0
- package/dist/audio/AudioFileBoxAdapter.d.ts +7 -2
- package/dist/audio/AudioFileBoxAdapter.d.ts.map +1 -1
- package/dist/audio/AudioFileBoxAdapter.js +54 -6
- package/dist/audio/AudioPitchBoxAdapter.d.ts +19 -0
- package/dist/audio/AudioPitchBoxAdapter.d.ts.map +1 -0
- package/dist/audio/AudioPitchBoxAdapter.js +52 -0
- package/dist/audio/AudioPlayMode.d.ts +7 -0
- package/dist/audio/AudioPlayMode.d.ts.map +1 -0
- package/dist/audio/AudioPlayMode.js +6 -0
- package/dist/audio/AudioTimeStretchBoxAdapter.d.ts +22 -0
- package/dist/audio/AudioTimeStretchBoxAdapter.d.ts.map +1 -0
- package/dist/audio/AudioTimeStretchBoxAdapter.js +57 -0
- package/dist/audio/MarkerComparator.d.ts +6 -0
- package/dist/audio/MarkerComparator.d.ts.map +1 -0
- package/dist/audio/MarkerComparator.js +9 -0
- package/dist/audio/TransientMarker.d.ts +5 -0
- package/dist/audio/TransientMarker.d.ts.map +1 -0
- package/dist/audio/TransientMarkerBoxAdapter.d.ts +17 -0
- package/dist/audio/TransientMarkerBoxAdapter.d.ts.map +1 -0
- package/dist/audio/TransientMarkerBoxAdapter.js +30 -0
- package/dist/audio/WarpMarker.d.ts +6 -0
- package/dist/audio/WarpMarker.d.ts.map +1 -0
- package/dist/audio/WarpMarker.js +1 -0
- package/dist/audio/WarpMarkerBoxAdapter.d.ts +26 -0
- package/dist/audio/WarpMarkerBoxAdapter.d.ts.map +1 -0
- package/dist/audio/WarpMarkerBoxAdapter.js +58 -0
- package/dist/devices/audio-effects/DattorroReverbDeviceBoxAdapter.d.ts +39 -0
- package/dist/devices/audio-effects/DattorroReverbDeviceBoxAdapter.d.ts.map +1 -0
- package/dist/devices/audio-effects/DattorroReverbDeviceBoxAdapter.js +59 -0
- package/dist/devices/audio-effects/TidalDeviceBoxAdapter.js +1 -1
- package/dist/factories/AudioBusFactory.d.ts +2 -1
- package/dist/factories/AudioBusFactory.d.ts.map +1 -1
- package/dist/factories/AudioBusFactory.js +1 -1
- package/dist/factories/ColorCodes.d.ts +2 -1
- package/dist/factories/ColorCodes.d.ts.map +1 -1
- package/dist/factories/ColorCodes.js +1 -2
- package/dist/factories/InstrumentBox.d.ts.map +1 -1
- package/dist/index.d.ts +11 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -2
- package/dist/protocols.d.ts +2 -3
- package/dist/protocols.d.ts.map +1 -1
- package/dist/sample/SampleLoader.d.ts +1 -1
- package/dist/sample/SampleLoader.d.ts.map +1 -1
- package/dist/selection/VertexSelection.d.ts.map +1 -1
- package/dist/selection/VertexSelection.js +1 -0
- package/dist/timeline/AudioContentBoxAdapter.d.ts +20 -0
- package/dist/timeline/AudioContentBoxAdapter.d.ts.map +1 -0
- package/dist/timeline/AudioContentBoxAdapter.js +1 -0
- package/dist/timeline/RegionEditing.js +2 -2
- package/dist/timeline/clip/AudioClipBoxAdapter.d.ts +19 -5
- package/dist/timeline/clip/AudioClipBoxAdapter.d.ts.map +1 -1
- package/dist/timeline/clip/AudioClipBoxAdapter.js +64 -15
- package/dist/timeline/collection/NoteEventCollectionBoxAdapter.d.ts.map +1 -1
- package/dist/timeline/collection/NoteEventCollectionBoxAdapter.js +9 -13
- package/dist/timeline/region/AudioRegionBoxAdapter.d.ts +20 -9
- package/dist/timeline/region/AudioRegionBoxAdapter.d.ts.map +1 -1
- package/dist/timeline/region/AudioRegionBoxAdapter.js +75 -67
- package/package.json +8 -8
- package/dist/audio/AudioData.d.ts +0 -7
- package/dist/audio/AudioData.d.ts.map +0 -1
- package/dist/factories/Colors.d.ts +0 -15
- package/dist/factories/Colors.d.ts.map +0 -1
- package/dist/factories/Colors.js +0 -23
- /package/dist/audio/{AudioData.js → TransientMarker.js} +0 -0
|
@@ -9,13 +9,16 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
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
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
|
-
var _AudioClipBoxAdapter_instances, _AudioClipBoxAdapter_terminator, _AudioClipBoxAdapter_context, _AudioClipBoxAdapter_box, _AudioClipBoxAdapter_selectedValue, _AudioClipBoxAdapter_changeNotifier, _AudioClipBoxAdapter_isConstructing, _AudioClipBoxAdapter_fileAdapter, _AudioClipBoxAdapter_fileSubscription, _AudioClipBoxAdapter_dispatchChange;
|
|
13
|
-
import { PPQN } from "@opendaw/lib-dsp";
|
|
14
|
-
import { DefaultObservableValue, Notifier, Option, safeExecute, Terminator, UUID } from "@opendaw/lib-std";
|
|
12
|
+
var _AudioClipBoxAdapter_instances, _AudioClipBoxAdapter_terminator, _AudioClipBoxAdapter_context, _AudioClipBoxAdapter_box, _AudioClipBoxAdapter_playMode, _AudioClipBoxAdapter_selectedValue, _AudioClipBoxAdapter_durationConverter, _AudioClipBoxAdapter_changeNotifier, _AudioClipBoxAdapter_isConstructing, _AudioClipBoxAdapter_fileAdapter, _AudioClipBoxAdapter_fileSubscription, _AudioClipBoxAdapter_playModeSubscription, _AudioClipBoxAdapter_dispatchChange;
|
|
13
|
+
import { PPQN, TimeBase, TimeBaseConverter } from "@opendaw/lib-dsp";
|
|
14
|
+
import { asEnumValue, DefaultObservableValue, isInstanceOf, MutableObservableOption, Notifier, Option, safeExecute, Terminable, Terminator, UUID } from "@opendaw/lib-std";
|
|
15
15
|
import { AudioClipBox } from "@opendaw/studio-boxes";
|
|
16
16
|
import { Propagation } from "@opendaw/lib-box";
|
|
17
17
|
import { TrackBoxAdapter } from "../TrackBoxAdapter";
|
|
18
18
|
import { AudioFileBoxAdapter } from "../../audio/AudioFileBoxAdapter";
|
|
19
|
+
import { AudioPlayMode } from "../../audio/AudioPlayMode";
|
|
20
|
+
import { AudioPitchBoxAdapter } from "../../audio/AudioPitchBoxAdapter";
|
|
21
|
+
import { AudioTimeStretchBoxAdapter } from "../../audio/AudioTimeStretchBoxAdapter";
|
|
19
22
|
export class AudioClipBoxAdapter {
|
|
20
23
|
constructor(context, box) {
|
|
21
24
|
_AudioClipBoxAdapter_instances.add(this);
|
|
@@ -23,30 +26,40 @@ export class AudioClipBoxAdapter {
|
|
|
23
26
|
_AudioClipBoxAdapter_terminator.set(this, new Terminator());
|
|
24
27
|
_AudioClipBoxAdapter_context.set(this, void 0);
|
|
25
28
|
_AudioClipBoxAdapter_box.set(this, void 0);
|
|
29
|
+
_AudioClipBoxAdapter_playMode.set(this, void 0);
|
|
26
30
|
_AudioClipBoxAdapter_selectedValue.set(this, void 0);
|
|
31
|
+
_AudioClipBoxAdapter_durationConverter.set(this, void 0);
|
|
27
32
|
_AudioClipBoxAdapter_changeNotifier.set(this, void 0);
|
|
28
33
|
_AudioClipBoxAdapter_isConstructing.set(this, void 0); // Prevents stack overflow due to infinite adapter queries
|
|
29
34
|
_AudioClipBoxAdapter_fileAdapter.set(this, Option.None);
|
|
30
35
|
_AudioClipBoxAdapter_fileSubscription.set(this, Option.None);
|
|
36
|
+
_AudioClipBoxAdapter_playModeSubscription.set(this, Terminable.Empty);
|
|
31
37
|
__classPrivateFieldSet(this, _AudioClipBoxAdapter_context, context, "f");
|
|
32
38
|
__classPrivateFieldSet(this, _AudioClipBoxAdapter_box, box, "f");
|
|
33
39
|
__classPrivateFieldSet(this, _AudioClipBoxAdapter_isConstructing, true, "f");
|
|
40
|
+
__classPrivateFieldSet(this, _AudioClipBoxAdapter_playMode, new MutableObservableOption(), "f");
|
|
34
41
|
__classPrivateFieldSet(this, _AudioClipBoxAdapter_selectedValue, __classPrivateFieldGet(this, _AudioClipBoxAdapter_terminator, "f").own(new DefaultObservableValue(false)), "f");
|
|
42
|
+
__classPrivateFieldSet(this, _AudioClipBoxAdapter_durationConverter, TimeBaseConverter.aware(context.tempoMap, box.timeBase, AudioClipBoxAdapter.STATIC_POSITION, box.duration), "f");
|
|
35
43
|
__classPrivateFieldSet(this, _AudioClipBoxAdapter_changeNotifier, __classPrivateFieldGet(this, _AudioClipBoxAdapter_terminator, "f").own(new Notifier()), "f");
|
|
36
44
|
__classPrivateFieldGet(this, _AudioClipBoxAdapter_terminator, "f").ownAll(__classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").pointerHub.subscribe({
|
|
37
45
|
onAdded: () => __classPrivateFieldGet(this, _AudioClipBoxAdapter_instances, "m", _AudioClipBoxAdapter_dispatchChange).call(this),
|
|
38
46
|
onRemoved: () => __classPrivateFieldGet(this, _AudioClipBoxAdapter_instances, "m", _AudioClipBoxAdapter_dispatchChange).call(this)
|
|
47
|
+
}), __classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").playMode.catchupAndSubscribe(({ targetVertex }) => {
|
|
48
|
+
__classPrivateFieldGet(this, _AudioClipBoxAdapter_playModeSubscription, "f").terminate();
|
|
49
|
+
targetVertex.match({
|
|
50
|
+
none: () => __classPrivateFieldGet(this, _AudioClipBoxAdapter_playMode, "f").clear(),
|
|
51
|
+
some: ({ box }) => {
|
|
52
|
+
const playMode = __classPrivateFieldGet(this, _AudioClipBoxAdapter_context, "f").boxAdapters.adapterFor(box, AudioPlayMode.isAudioPlayMode);
|
|
53
|
+
__classPrivateFieldSet(this, _AudioClipBoxAdapter_playModeSubscription, playMode.subscribe(() => __classPrivateFieldGet(this, _AudioClipBoxAdapter_instances, "m", _AudioClipBoxAdapter_dispatchChange).call(this)), "f");
|
|
54
|
+
__classPrivateFieldGet(this, _AudioClipBoxAdapter_playMode, "f").wrap(playMode);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
39
57
|
}), __classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").file.catchupAndSubscribe((pointerField) => {
|
|
40
58
|
__classPrivateFieldSet(this, _AudioClipBoxAdapter_fileAdapter, pointerField.targetVertex
|
|
41
59
|
.map(vertex => __classPrivateFieldGet(this, _AudioClipBoxAdapter_context, "f").boxAdapters.adapterFor(vertex.box, AudioFileBoxAdapter)), "f");
|
|
42
60
|
__classPrivateFieldGet(this, _AudioClipBoxAdapter_fileSubscription, "f").ifSome(subscription => subscription.terminate());
|
|
43
61
|
__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))
|
|
45
|
-
terminate: () => {
|
|
46
|
-
__classPrivateFieldGet(this, _AudioClipBoxAdapter_fileSubscription, "f").ifSome(subscription => subscription.terminate());
|
|
47
|
-
__classPrivateFieldSet(this, _AudioClipBoxAdapter_fileSubscription, Option.None, "f");
|
|
48
|
-
}
|
|
49
|
-
});
|
|
62
|
+
}), __classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").subscribe(Propagation.Children, (_update) => __classPrivateFieldGet(this, _AudioClipBoxAdapter_instances, "m", _AudioClipBoxAdapter_dispatchChange).call(this)));
|
|
50
63
|
__classPrivateFieldSet(this, _AudioClipBoxAdapter_isConstructing, false, "f");
|
|
51
64
|
}
|
|
52
65
|
catchupAndSubscribeSelected(observer) {
|
|
@@ -58,31 +71,59 @@ export class AudioClipBoxAdapter {
|
|
|
58
71
|
clone(_mirrored) {
|
|
59
72
|
AudioClipBox.create(__classPrivateFieldGet(this, _AudioClipBoxAdapter_context, "f").boxGraph, UUID.generate(), box => {
|
|
60
73
|
box.index.setValue(this.indexField.getValue());
|
|
61
|
-
box.gain.setValue(this.gain);
|
|
74
|
+
box.gain.setValue(this.gain.getValue());
|
|
75
|
+
box.timeBase.setValue(this.timeBase);
|
|
62
76
|
box.label.setValue(this.label);
|
|
63
77
|
box.hue.setValue(this.hue);
|
|
64
78
|
box.duration.setValue(this.duration);
|
|
65
79
|
box.mute.setValue(this.mute);
|
|
66
80
|
box.clips.refer(__classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").clips.targetVertex.unwrap());
|
|
67
81
|
box.file.refer(__classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").file.targetVertex.unwrap());
|
|
82
|
+
box.events.refer(__classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").events.targetVertex.unwrap());
|
|
83
|
+
__classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").playMode.ifVertex(vertex => box.playMode.refer(vertex.box));
|
|
68
84
|
});
|
|
69
85
|
}
|
|
70
86
|
onSelected() { __classPrivateFieldGet(this, _AudioClipBoxAdapter_selectedValue, "f").setValue(true); }
|
|
71
87
|
onDeselected() { __classPrivateFieldGet(this, _AudioClipBoxAdapter_selectedValue, "f").setValue(false); }
|
|
72
88
|
get isSelected() { return __classPrivateFieldGet(this, _AudioClipBoxAdapter_selectedValue, "f").getValue(); }
|
|
73
|
-
terminate() { __classPrivateFieldGet(this, _AudioClipBoxAdapter_terminator, "f").terminate(); }
|
|
74
89
|
get box() { return __classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f"); }
|
|
75
90
|
get uuid() { return __classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").address.uuid; }
|
|
76
91
|
get address() { return __classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").address; }
|
|
77
92
|
get indexField() { return __classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").index; }
|
|
78
|
-
get duration() { return __classPrivateFieldGet(this,
|
|
93
|
+
get duration() { return __classPrivateFieldGet(this, _AudioClipBoxAdapter_durationConverter, "f").toPPQN(); }
|
|
94
|
+
set duration(value) { __classPrivateFieldGet(this, _AudioClipBoxAdapter_durationConverter, "f").fromPPQN(value); }
|
|
79
95
|
get mute() { return __classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").mute.getValue(); }
|
|
80
96
|
get hue() { return __classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").hue.getValue(); }
|
|
81
|
-
get gain() { return __classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").gain
|
|
97
|
+
get gain() { return __classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").gain; }
|
|
82
98
|
get file() { return __classPrivateFieldGet(this, _AudioClipBoxAdapter_fileAdapter, "f").unwrap("Cannot access file."); }
|
|
99
|
+
get observableOptPlayMode() { return __classPrivateFieldGet(this, _AudioClipBoxAdapter_playMode, "f"); }
|
|
83
100
|
get hasCollection() { return !this.optCollection.isEmpty(); }
|
|
84
101
|
get optCollection() { return Option.None; }
|
|
85
|
-
get
|
|
102
|
+
get timeBase() { return asEnumValue(__classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").timeBase.getValue(), TimeBase); }
|
|
103
|
+
get waveformOffset() { return __classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").waveformOffset; }
|
|
104
|
+
get isPlayModeNoWarp() { return __classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").playMode.isEmpty(); }
|
|
105
|
+
get asPlayModePitch() {
|
|
106
|
+
return this.observableOptPlayMode.map(mode => isInstanceOf(mode, AudioPitchBoxAdapter) ? mode : null);
|
|
107
|
+
}
|
|
108
|
+
get asPlayModeTimeStretch() {
|
|
109
|
+
return this.observableOptPlayMode.map(mode => isInstanceOf(mode, AudioTimeStretchBoxAdapter) ? mode : null);
|
|
110
|
+
}
|
|
111
|
+
get optWarpMarkers() {
|
|
112
|
+
return this.observableOptPlayMode.map(mode => AudioPlayMode.isAudioPlayMode(mode) ? mode.warpMarkers : null);
|
|
113
|
+
}
|
|
114
|
+
get label() {
|
|
115
|
+
if (__classPrivateFieldGet(this, _AudioClipBoxAdapter_fileAdapter, "f").isEmpty()) {
|
|
116
|
+
return "No Audio File";
|
|
117
|
+
}
|
|
118
|
+
const state = __classPrivateFieldGet(this, _AudioClipBoxAdapter_fileAdapter, "f").unwrap().getOrCreateLoader().state;
|
|
119
|
+
if (state.type === "progress") {
|
|
120
|
+
return `${Math.round(state.progress * 100)}%`;
|
|
121
|
+
}
|
|
122
|
+
if (state.type === "error") {
|
|
123
|
+
return String(state.reason);
|
|
124
|
+
}
|
|
125
|
+
return __classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").label.getValue();
|
|
126
|
+
}
|
|
86
127
|
get trackBoxAdapter() {
|
|
87
128
|
if (__classPrivateFieldGet(this, _AudioClipBoxAdapter_isConstructing, "f")) {
|
|
88
129
|
return Option.None;
|
|
@@ -92,9 +133,17 @@ export class AudioClipBoxAdapter {
|
|
|
92
133
|
}
|
|
93
134
|
get isMirrowed() { return false; }
|
|
94
135
|
get canMirror() { return false; }
|
|
136
|
+
terminate() {
|
|
137
|
+
__classPrivateFieldGet(this, _AudioClipBoxAdapter_fileSubscription, "f").ifSome(subscription => subscription.terminate());
|
|
138
|
+
__classPrivateFieldSet(this, _AudioClipBoxAdapter_fileSubscription, Option.None, "f");
|
|
139
|
+
__classPrivateFieldGet(this, _AudioClipBoxAdapter_playModeSubscription, "f").terminate();
|
|
140
|
+
__classPrivateFieldSet(this, _AudioClipBoxAdapter_playModeSubscription, Terminable.Empty, "f");
|
|
141
|
+
__classPrivateFieldGet(this, _AudioClipBoxAdapter_terminator, "f").terminate();
|
|
142
|
+
}
|
|
95
143
|
toString() { return `{AudioClipBoxAdapter ${UUID.toString(__classPrivateFieldGet(this, _AudioClipBoxAdapter_box, "f").address.uuid)} d: ${PPQN.toString(this.duration)}}`; }
|
|
96
144
|
}
|
|
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() {
|
|
145
|
+
_AudioClipBoxAdapter_terminator = new WeakMap(), _AudioClipBoxAdapter_context = new WeakMap(), _AudioClipBoxAdapter_box = new WeakMap(), _AudioClipBoxAdapter_playMode = new WeakMap(), _AudioClipBoxAdapter_selectedValue = new WeakMap(), _AudioClipBoxAdapter_durationConverter = new WeakMap(), _AudioClipBoxAdapter_changeNotifier = new WeakMap(), _AudioClipBoxAdapter_isConstructing = new WeakMap(), _AudioClipBoxAdapter_fileAdapter = new WeakMap(), _AudioClipBoxAdapter_fileSubscription = new WeakMap(), _AudioClipBoxAdapter_playModeSubscription = new WeakMap(), _AudioClipBoxAdapter_instances = new WeakSet(), _AudioClipBoxAdapter_dispatchChange = function _AudioClipBoxAdapter_dispatchChange() {
|
|
98
146
|
__classPrivateFieldGet(this, _AudioClipBoxAdapter_changeNotifier, "f").notify();
|
|
99
147
|
this.trackBoxAdapter.unwrapOrNull()?.clips?.dispatchChange();
|
|
100
148
|
};
|
|
149
|
+
AudioClipBoxAdapter.STATIC_POSITION = { getValue: () => 0 };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NoteEventCollectionBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/timeline/collection/NoteEventCollectionBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"NoteEventCollectionBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/timeline/collection/NoteEventCollectionBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,sBAAsB,EAAC,MAAM,uBAAuB,CAAA;AAC1E,OAAO,EACH,WAAW,EACX,KAAK,EACL,GAAG,EAIH,QAAQ,EACR,iBAAiB,EAEjB,YAAY,EAEZ,IAAI,EACP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAC,eAAe,EAAa,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAEjE,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAE3D,KAAK,iBAAiB,GAAG;IACrB,QAAQ,EAAE,IAAI,CAAA;IACd,QAAQ,EAAE,IAAI,CAAA;IACd,KAAK,EAAE,GAAG,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,KAAK,CAAA;IACf,MAAM,EAAE,GAAG,CAAA;IACX,SAAS,EAAE,GAAG,CAAA;CACjB,CAAA;AAED,qBAAa,6BAA8B,YAAW,UAAU,EAAE,iBAAiB,CAAC,mBAAmB,EAAE,IAAI,EAAE,GAAG,CAAC;;gBAenG,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,sBAAsB;IA2BpE,IAAI,IAAI,6BAA6B;IAOrC,WAAW,CACP,EAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAC,EAAE,iBAAiB,GAAG,mBAAmB;IAa3G,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY;IAEvD,UAAU,IAAI,QAAQ,CAAC,mBAAmB,CAAC;IAE3C,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,mBAAmB,CAAC;IAShF,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,mBAAmB,CAAC;IAW7G,cAAc,IAAI,IAAI;IAKtB,sBAAsB,IAAI,IAAI;IAE9B,SAAS;IAET,IAAI,GAAG,IAAI,sBAAsB,CAAmB;IACpD,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,SAAS,IAAI,GAAG,CAAiF;IACrG,IAAI,MAAM,IAAI,eAAe,CAAC,mBAAmB,CAAC,CAKjD;IAED,IAAI,QAAQ,IAAI,GAAG,CAGlB;IACD,IAAI,QAAQ,IAAI,GAAG,CAGlB;IACD,IAAI,WAAW,IAAI,MAAM,CAGxB;IAED,QAAQ,IAAI,MAAM;CAqBrB"}
|
|
@@ -11,7 +11,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
11
11
|
};
|
|
12
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;
|
|
13
13
|
import { NoteEventBox, NoteEventCollectionBox } from "@opendaw/studio-boxes";
|
|
14
|
-
import {
|
|
14
|
+
import { Intervals, Iterables, Notifier, Terminator, UUID } from "@opendaw/lib-std";
|
|
15
15
|
import { EventCollection, NoteEvent } from "@opendaw/lib-dsp";
|
|
16
16
|
import { Pointers } from "@opendaw/studio-enums";
|
|
17
17
|
import { NoteEventBoxAdapter } from "../event/NoteEventBoxAdapter";
|
|
@@ -33,18 +33,14 @@ export class NoteEventCollectionBoxAdapter {
|
|
|
33
33
|
__classPrivateFieldSet(this, _NoteEventCollectionBoxAdapter_changeNotifier, new Notifier(), "f");
|
|
34
34
|
__classPrivateFieldSet(this, _NoteEventCollectionBoxAdapter_adapters, UUID.newSet(adapter => adapter.uuid), "f");
|
|
35
35
|
__classPrivateFieldSet(this, _NoteEventCollectionBoxAdapter_events, EventCollection.create(NoteEvent.Comparator), "f");
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
};
|
|
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({
|
|
47
|
-
onAdded: ({ box }) => addNoteProcedure(box),
|
|
36
|
+
__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_terminator, "f").own(__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_box, "f").events.pointerHub.catchupAndSubscribe({
|
|
37
|
+
onAdded: ({ box }) => {
|
|
38
|
+
const adapter = __classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_context, "f").boxAdapters.adapterFor(box, NoteEventBoxAdapter);
|
|
39
|
+
if (__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_adapters, "f").add(adapter)) {
|
|
40
|
+
__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_events, "f").add(adapter);
|
|
41
|
+
__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_instances, "m", _NoteEventCollectionBoxAdapter_onEventsChanged).call(this);
|
|
42
|
+
}
|
|
43
|
+
},
|
|
48
44
|
onRemoved: ({ box: { address: { uuid } } }) => {
|
|
49
45
|
__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_events, "f").remove(__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_adapters, "f").removeByKey(uuid));
|
|
50
46
|
__classPrivateFieldGet(this, _NoteEventCollectionBoxAdapter_instances, "m", _NoteEventCollectionBoxAdapter_onEventsChanged).call(this);
|
|
@@ -1,21 +1,28 @@
|
|
|
1
|
-
import { int, Maybe, Observer, Option, Subscription, UUID } from "@opendaw/lib-std";
|
|
2
|
-
import { ppqn, TimeBase } from "@opendaw/lib-dsp";
|
|
1
|
+
import { int, Maybe, MutableObservableValue, ObservableOption, Observer, Option, Subscription, UUID } from "@opendaw/lib-std";
|
|
2
|
+
import { EventCollection, ppqn, TimeBase } from "@opendaw/lib-dsp";
|
|
3
3
|
import { Address, Field } from "@opendaw/lib-box";
|
|
4
|
-
import {
|
|
4
|
+
import { Pointers } from "@opendaw/studio-enums";
|
|
5
5
|
import { AudioRegionBox } from "@opendaw/studio-boxes";
|
|
6
6
|
import { LoopableRegionBoxAdapter, RegionBoxAdapter, RegionBoxAdapterVisitor } from "../RegionBoxAdapter";
|
|
7
7
|
import { TrackBoxAdapter } from "../TrackBoxAdapter";
|
|
8
8
|
import { BoxAdaptersContext } from "../../BoxAdaptersContext";
|
|
9
9
|
import { AudioFileBoxAdapter } from "../../audio/AudioFileBoxAdapter";
|
|
10
10
|
import { MutableRegion } from "./MutableRegion";
|
|
11
|
+
import { ValueEventCollectionBoxAdapter } from "../collection/ValueEventCollectionBoxAdapter";
|
|
12
|
+
import { AudioContentBoxAdapter } from "../AudioContentBoxAdapter";
|
|
13
|
+
import { AudioPlayMode } from "../../audio/AudioPlayMode";
|
|
14
|
+
import { AudioPitchBoxAdapter } from "../../audio/AudioPitchBoxAdapter";
|
|
15
|
+
import { AudioTimeStretchBoxAdapter } from "../../audio/AudioTimeStretchBoxAdapter";
|
|
16
|
+
import { WarpMarkerBoxAdapter } from "../../audio/WarpMarkerBoxAdapter";
|
|
11
17
|
type CopyToParams = {
|
|
12
18
|
track?: Field<Pointers.RegionCollection>;
|
|
13
19
|
position?: ppqn;
|
|
14
20
|
duration?: ppqn;
|
|
15
21
|
loopOffset?: ppqn;
|
|
16
22
|
loopDuration?: ppqn;
|
|
23
|
+
consolidate?: boolean;
|
|
17
24
|
};
|
|
18
|
-
export declare class AudioRegionBoxAdapter implements LoopableRegionBoxAdapter<
|
|
25
|
+
export declare class AudioRegionBoxAdapter implements AudioContentBoxAdapter, LoopableRegionBoxAdapter<ValueEventCollectionBoxAdapter>, MutableRegion {
|
|
19
26
|
#private;
|
|
20
27
|
readonly type = "audio-region";
|
|
21
28
|
constructor(context: BoxAdaptersContext, box: AudioRegionBox);
|
|
@@ -35,21 +42,25 @@ export declare class AudioRegionBoxAdapter implements LoopableRegionBoxAdapter<n
|
|
|
35
42
|
get offset(): ppqn;
|
|
36
43
|
get mute(): boolean;
|
|
37
44
|
get hue(): int;
|
|
38
|
-
get gain(): number
|
|
45
|
+
get gain(): MutableObservableValue<number>;
|
|
39
46
|
get file(): AudioFileBoxAdapter;
|
|
47
|
+
get observableOptPlayMode(): ObservableOption<AudioPlayMode>;
|
|
40
48
|
get timeBase(): TimeBase;
|
|
41
|
-
get
|
|
42
|
-
get
|
|
49
|
+
get waveformOffset(): MutableObservableValue<number>;
|
|
50
|
+
get isPlayModeNoWarp(): boolean;
|
|
51
|
+
get asPlayModePitch(): Option<AudioPitchBoxAdapter>;
|
|
52
|
+
get asPlayModeTimeStretch(): Option<AudioTimeStretchBoxAdapter>;
|
|
53
|
+
get optWarpMarkers(): Option<EventCollection<WarpMarkerBoxAdapter>>;
|
|
43
54
|
get label(): string;
|
|
44
55
|
get isMirrowed(): boolean;
|
|
45
56
|
get canMirror(): boolean;
|
|
46
57
|
get trackBoxAdapter(): Option<TrackBoxAdapter>;
|
|
58
|
+
get hasCollection(): boolean;
|
|
59
|
+
get optCollection(): Option<ValueEventCollectionBoxAdapter>;
|
|
47
60
|
set position(value: ppqn);
|
|
48
61
|
set duration(value: ppqn);
|
|
49
62
|
set loopOffset(value: ppqn);
|
|
50
63
|
set loopDuration(value: ppqn);
|
|
51
|
-
get playback(): AudioPlayback;
|
|
52
|
-
setPlayback(value: AudioPlayback, keepCurrentStretch?: boolean): void;
|
|
53
64
|
copyTo(params?: CopyToParams): AudioRegionBoxAdapter;
|
|
54
65
|
consolidate(): void;
|
|
55
66
|
canFlatten(_regions: ReadonlyArray<RegionBoxAdapter<unknown>>): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioRegionBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/timeline/region/AudioRegionBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,GAAG,
|
|
1
|
+
{"version":3,"file":"AudioRegionBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/timeline/region/AudioRegionBoxAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,14 +9,17 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
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
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
|
-
var _AudioRegionBoxAdapter_instances, _AudioRegionBoxAdapter_terminator, _AudioRegionBoxAdapter_context, _AudioRegionBoxAdapter_box, _AudioRegionBoxAdapter_durationConverter, _AudioRegionBoxAdapter_loopOffsetConverter, _AudioRegionBoxAdapter_loopDurationConverter, _AudioRegionBoxAdapter_changeNotifier, _AudioRegionBoxAdapter_fileAdapter, _AudioRegionBoxAdapter_fileSubscription, _AudioRegionBoxAdapter_tempoSubscription,
|
|
13
|
-
import { asEnumValue, Notifier, Option, safeExecute, Terminable, Terminator, UUID } from "@opendaw/lib-std";
|
|
12
|
+
var _AudioRegionBoxAdapter_instances, _AudioRegionBoxAdapter_terminator, _AudioRegionBoxAdapter_context, _AudioRegionBoxAdapter_box, _AudioRegionBoxAdapter_durationConverter, _AudioRegionBoxAdapter_loopOffsetConverter, _AudioRegionBoxAdapter_loopDurationConverter, _AudioRegionBoxAdapter_playMode, _AudioRegionBoxAdapter_changeNotifier, _AudioRegionBoxAdapter_constructing, _AudioRegionBoxAdapter_fileAdapter, _AudioRegionBoxAdapter_fileSubscription, _AudioRegionBoxAdapter_playModeSubscription, _AudioRegionBoxAdapter_tempoSubscription, _AudioRegionBoxAdapter_eventCollectionSubscription, _AudioRegionBoxAdapter_isSelected, _AudioRegionBoxAdapter_dispatchChange;
|
|
13
|
+
import { asEnumValue, isInstanceOf, MutableObservableOption, Notifier, Option, safeExecute, Terminable, Terminator, UUID } from "@opendaw/lib-std";
|
|
14
14
|
import { TimeBase, TimeBaseConverter } from "@opendaw/lib-dsp";
|
|
15
15
|
import { Propagation } from "@opendaw/lib-box";
|
|
16
|
-
import { AudioPlayback } from "@opendaw/studio-enums";
|
|
17
16
|
import { AudioRegionBox } from "@opendaw/studio-boxes";
|
|
18
17
|
import { TrackBoxAdapter } from "../TrackBoxAdapter";
|
|
19
18
|
import { AudioFileBoxAdapter } from "../../audio/AudioFileBoxAdapter";
|
|
19
|
+
import { ValueEventCollectionBoxAdapter } from "../collection/ValueEventCollectionBoxAdapter";
|
|
20
|
+
import { AudioPlayMode } from "../../audio/AudioPlayMode";
|
|
21
|
+
import { AudioPitchBoxAdapter } from "../../audio/AudioPitchBoxAdapter";
|
|
22
|
+
import { AudioTimeStretchBoxAdapter } from "../../audio/AudioTimeStretchBoxAdapter";
|
|
20
23
|
export class AudioRegionBoxAdapter {
|
|
21
24
|
constructor(context, box) {
|
|
22
25
|
_AudioRegionBoxAdapter_instances.add(this);
|
|
@@ -27,12 +30,15 @@ export class AudioRegionBoxAdapter {
|
|
|
27
30
|
_AudioRegionBoxAdapter_durationConverter.set(this, void 0);
|
|
28
31
|
_AudioRegionBoxAdapter_loopOffsetConverter.set(this, void 0);
|
|
29
32
|
_AudioRegionBoxAdapter_loopDurationConverter.set(this, void 0);
|
|
33
|
+
_AudioRegionBoxAdapter_playMode.set(this, void 0);
|
|
30
34
|
_AudioRegionBoxAdapter_changeNotifier.set(this, void 0);
|
|
35
|
+
_AudioRegionBoxAdapter_constructing.set(this, void 0);
|
|
31
36
|
_AudioRegionBoxAdapter_fileAdapter.set(this, Option.None);
|
|
32
37
|
_AudioRegionBoxAdapter_fileSubscription.set(this, Terminable.Empty);
|
|
38
|
+
_AudioRegionBoxAdapter_playModeSubscription.set(this, Terminable.Empty);
|
|
33
39
|
_AudioRegionBoxAdapter_tempoSubscription.set(this, Terminable.Empty);
|
|
40
|
+
_AudioRegionBoxAdapter_eventCollectionSubscription.set(this, Terminable.Empty);
|
|
34
41
|
_AudioRegionBoxAdapter_isSelected.set(this, void 0);
|
|
35
|
-
_AudioRegionBoxAdapter_constructing.set(this, void 0);
|
|
36
42
|
__classPrivateFieldSet(this, _AudioRegionBoxAdapter_context, context, "f");
|
|
37
43
|
__classPrivateFieldSet(this, _AudioRegionBoxAdapter_box, box, "f");
|
|
38
44
|
__classPrivateFieldSet(this, _AudioRegionBoxAdapter_terminator, new Terminator(), "f");
|
|
@@ -40,6 +46,7 @@ export class AudioRegionBoxAdapter {
|
|
|
40
46
|
__classPrivateFieldSet(this, _AudioRegionBoxAdapter_durationConverter, TimeBaseConverter.aware(context.tempoMap, timeBase, position, duration), "f");
|
|
41
47
|
__classPrivateFieldSet(this, _AudioRegionBoxAdapter_loopOffsetConverter, TimeBaseConverter.aware(context.tempoMap, timeBase, position, loopOffset), "f");
|
|
42
48
|
__classPrivateFieldSet(this, _AudioRegionBoxAdapter_loopDurationConverter, TimeBaseConverter.aware(context.tempoMap, timeBase, position, loopDuration), "f");
|
|
49
|
+
__classPrivateFieldSet(this, _AudioRegionBoxAdapter_playMode, new MutableObservableOption(), "f");
|
|
43
50
|
__classPrivateFieldSet(this, _AudioRegionBoxAdapter_changeNotifier, new Notifier(), "f");
|
|
44
51
|
__classPrivateFieldSet(this, _AudioRegionBoxAdapter_isSelected, false, "f");
|
|
45
52
|
__classPrivateFieldSet(this, _AudioRegionBoxAdapter_constructing, true, "f");
|
|
@@ -50,6 +57,16 @@ export class AudioRegionBoxAdapter {
|
|
|
50
57
|
__classPrivateFieldSet(this, _AudioRegionBoxAdapter_fileAdapter, pointerField.targetVertex.map(vertex => __classPrivateFieldGet(this, _AudioRegionBoxAdapter_context, "f").boxAdapters.adapterFor(vertex.box, AudioFileBoxAdapter)), "f");
|
|
51
58
|
__classPrivateFieldGet(this, _AudioRegionBoxAdapter_fileSubscription, "f").terminate();
|
|
52
59
|
__classPrivateFieldSet(this, _AudioRegionBoxAdapter_fileSubscription, __classPrivateFieldGet(this, _AudioRegionBoxAdapter_fileAdapter, "f").mapOr(adapter => adapter.getOrCreateLoader().subscribe(() => __classPrivateFieldGet(this, _AudioRegionBoxAdapter_instances, "m", _AudioRegionBoxAdapter_dispatchChange).call(this)), Terminable.Empty), "f");
|
|
60
|
+
}), __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").playMode.catchupAndSubscribe(({ targetVertex }) => {
|
|
61
|
+
__classPrivateFieldGet(this, _AudioRegionBoxAdapter_playModeSubscription, "f").terminate();
|
|
62
|
+
targetVertex.match({
|
|
63
|
+
none: () => __classPrivateFieldGet(this, _AudioRegionBoxAdapter_playMode, "f").clear(),
|
|
64
|
+
some: ({ box }) => {
|
|
65
|
+
const playMode = __classPrivateFieldGet(this, _AudioRegionBoxAdapter_context, "f").boxAdapters.adapterFor(box, AudioPlayMode.isAudioPlayMode);
|
|
66
|
+
__classPrivateFieldSet(this, _AudioRegionBoxAdapter_playModeSubscription, playMode.subscribe(() => __classPrivateFieldGet(this, _AudioRegionBoxAdapter_instances, "m", _AudioRegionBoxAdapter_dispatchChange).call(this)), "f");
|
|
67
|
+
__classPrivateFieldGet(this, _AudioRegionBoxAdapter_playMode, "f").wrap(playMode);
|
|
68
|
+
}
|
|
69
|
+
});
|
|
53
70
|
}), __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").timeBase.catchupAndSubscribe(owner => {
|
|
54
71
|
__classPrivateFieldGet(this, _AudioRegionBoxAdapter_tempoSubscription, "f").terminate();
|
|
55
72
|
if (asEnumValue(owner.getValue(), TimeBase) === TimeBase.Seconds) {
|
|
@@ -69,14 +86,16 @@ export class AudioRegionBoxAdapter {
|
|
|
69
86
|
__classPrivateFieldGet(this, _AudioRegionBoxAdapter_instances, "m", _AudioRegionBoxAdapter_dispatchChange).call(this);
|
|
70
87
|
}
|
|
71
88
|
}
|
|
72
|
-
}), {
|
|
73
|
-
terminate
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
__classPrivateFieldGet(this,
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
89
|
+
}), __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").events.catchupAndSubscribe(({ targetVertex }) => {
|
|
90
|
+
__classPrivateFieldGet(this, _AudioRegionBoxAdapter_eventCollectionSubscription, "f").terminate();
|
|
91
|
+
__classPrivateFieldSet(this, _AudioRegionBoxAdapter_eventCollectionSubscription, targetVertex.match({
|
|
92
|
+
none: () => Terminable.Empty,
|
|
93
|
+
some: ({ box }) => __classPrivateFieldGet(this, _AudioRegionBoxAdapter_context, "f").boxAdapters
|
|
94
|
+
.adapterFor(box, ValueEventCollectionBoxAdapter)
|
|
95
|
+
.subscribeChange(() => __classPrivateFieldGet(this, _AudioRegionBoxAdapter_instances, "m", _AudioRegionBoxAdapter_dispatchChange).call(this))
|
|
96
|
+
}), "f");
|
|
97
|
+
__classPrivateFieldGet(this, _AudioRegionBoxAdapter_instances, "m", _AudioRegionBoxAdapter_dispatchChange).call(this);
|
|
98
|
+
}));
|
|
80
99
|
__classPrivateFieldSet(this, _AudioRegionBoxAdapter_constructing, false, "f");
|
|
81
100
|
}
|
|
82
101
|
subscribeChange(observer) { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_changeNotifier, "f").subscribe(observer); }
|
|
@@ -103,11 +122,21 @@ export class AudioRegionBoxAdapter {
|
|
|
103
122
|
get offset() { return this.position - this.loopOffset; }
|
|
104
123
|
get mute() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").mute.getValue(); }
|
|
105
124
|
get hue() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").hue.getValue(); }
|
|
106
|
-
get gain() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").gain
|
|
125
|
+
get gain() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").gain; }
|
|
107
126
|
get file() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_fileAdapter, "f").unwrap("Cannot access file."); }
|
|
127
|
+
get observableOptPlayMode() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_playMode, "f"); }
|
|
108
128
|
get timeBase() { return asEnumValue(__classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").timeBase.getValue(), TimeBase); }
|
|
109
|
-
get
|
|
110
|
-
get
|
|
129
|
+
get waveformOffset() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").waveformOffset; }
|
|
130
|
+
get isPlayModeNoWarp() { return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").playMode.isEmpty(); }
|
|
131
|
+
get asPlayModePitch() {
|
|
132
|
+
return this.observableOptPlayMode.map(mode => isInstanceOf(mode, AudioPitchBoxAdapter) ? mode : null);
|
|
133
|
+
}
|
|
134
|
+
get asPlayModeTimeStretch() {
|
|
135
|
+
return this.observableOptPlayMode.map(mode => isInstanceOf(mode, AudioTimeStretchBoxAdapter) ? mode : null);
|
|
136
|
+
}
|
|
137
|
+
get optWarpMarkers() {
|
|
138
|
+
return this.observableOptPlayMode.map(mode => AudioPlayMode.isAudioPlayMode(mode) ? mode.warpMarkers : null);
|
|
139
|
+
}
|
|
111
140
|
get label() {
|
|
112
141
|
if (__classPrivateFieldGet(this, _AudioRegionBoxAdapter_fileAdapter, "f").isEmpty()) {
|
|
113
142
|
return "No Audio File";
|
|
@@ -121,73 +150,42 @@ export class AudioRegionBoxAdapter {
|
|
|
121
150
|
}
|
|
122
151
|
return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").label.getValue();
|
|
123
152
|
}
|
|
124
|
-
get isMirrowed() { return false; }
|
|
125
|
-
get canMirror() { return
|
|
153
|
+
get isMirrowed() { return this.optCollection.mapOr(adapter => adapter.numOwners > 1, false); }
|
|
154
|
+
get canMirror() { return true; }
|
|
126
155
|
get trackBoxAdapter() {
|
|
127
156
|
return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").regions.targetVertex
|
|
128
157
|
.map(vertex => __classPrivateFieldGet(this, _AudioRegionBoxAdapter_context, "f").boxAdapters.adapterFor(vertex.box, TrackBoxAdapter));
|
|
129
158
|
}
|
|
159
|
+
get hasCollection() { return this.optCollection.nonEmpty(); }
|
|
160
|
+
get optCollection() {
|
|
161
|
+
return __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").events.targetVertex
|
|
162
|
+
.map(vertex => __classPrivateFieldGet(this, _AudioRegionBoxAdapter_context, "f").boxAdapters.adapterFor(vertex.box, ValueEventCollectionBoxAdapter));
|
|
163
|
+
}
|
|
130
164
|
set position(value) { __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").position.setValue(value); }
|
|
131
165
|
set duration(value) { __classPrivateFieldGet(this, _AudioRegionBoxAdapter_durationConverter, "f").fromPPQN(value); }
|
|
132
166
|
set loopOffset(value) { __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopOffsetConverter, "f").fromPPQN(value); }
|
|
133
167
|
set loopDuration(value) { __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopDurationConverter, "f").fromPPQN(value); }
|
|
134
|
-
get playback() { return asEnumValue(__classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").playback.getValue(), AudioPlayback); }
|
|
135
|
-
setPlayback(value, keepCurrentStretch = false) {
|
|
136
|
-
const wasMusical = this.timeBase === TimeBase.Musical;
|
|
137
|
-
__classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").playback.setValue(value);
|
|
138
|
-
if (value === AudioPlayback.NoSync) {
|
|
139
|
-
if (wasMusical) {
|
|
140
|
-
if (keepCurrentStretch) {
|
|
141
|
-
const duration = __classPrivateFieldGet(this, _AudioRegionBoxAdapter_durationConverter, "f").toSeconds();
|
|
142
|
-
const loopDuration = __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopDurationConverter, "f").toSeconds();
|
|
143
|
-
const loopOffset = __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopOffsetConverter, "f").toSeconds();
|
|
144
|
-
__classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").timeBase.setValue(TimeBase.Seconds);
|
|
145
|
-
__classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").duration.setValue(duration);
|
|
146
|
-
__classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").loopDuration.setValue(loopDuration);
|
|
147
|
-
__classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").loopOffset.setValue(loopOffset);
|
|
148
|
-
}
|
|
149
|
-
else {
|
|
150
|
-
// Reset to 100% playback speed (original file speed)
|
|
151
|
-
const fileDuration = this.file.endInSeconds - this.file.startInSeconds;
|
|
152
|
-
const currentLoopDurationSeconds = __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopDurationConverter, "f").toSeconds();
|
|
153
|
-
const scale = fileDuration / currentLoopDurationSeconds;
|
|
154
|
-
const currentDurationSeconds = __classPrivateFieldGet(this, _AudioRegionBoxAdapter_durationConverter, "f").toSeconds();
|
|
155
|
-
const currentLoopOffsetSeconds = __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopOffsetConverter, "f").toSeconds();
|
|
156
|
-
__classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").timeBase.setValue(TimeBase.Seconds);
|
|
157
|
-
__classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").duration.setValue(currentDurationSeconds * scale);
|
|
158
|
-
__classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").loopDuration.setValue(fileDuration);
|
|
159
|
-
__classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").loopOffset.setValue(currentLoopOffsetSeconds * scale);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
else {
|
|
164
|
-
// Switching TO musical (Pitch/Timestretch/AudioFit)
|
|
165
|
-
if (!wasMusical) {
|
|
166
|
-
const duration = __classPrivateFieldGet(this, _AudioRegionBoxAdapter_durationConverter, "f").toPPQN();
|
|
167
|
-
const loopDuration = __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopDurationConverter, "f").toPPQN();
|
|
168
|
-
const loopOffset = __classPrivateFieldGet(this, _AudioRegionBoxAdapter_loopOffsetConverter, "f").toPPQN();
|
|
169
|
-
__classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").timeBase.setValue(TimeBase.Musical);
|
|
170
|
-
__classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").duration.setValue(duration);
|
|
171
|
-
__classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").loopOffset.setValue(loopOffset);
|
|
172
|
-
__classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").loopDuration.setValue(loopDuration);
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
168
|
copyTo(params) {
|
|
177
|
-
|
|
169
|
+
const eventCollection = this.optCollection.unwrap("Cannot make copy without event-collection");
|
|
170
|
+
const eventTarget = params?.consolidate === true
|
|
171
|
+
? eventCollection.copy().box.owners
|
|
172
|
+
: eventCollection.box.owners;
|
|
173
|
+
const adapter = __classPrivateFieldGet(this, _AudioRegionBoxAdapter_context, "f").boxAdapters.adapterFor(AudioRegionBox.create(__classPrivateFieldGet(this, _AudioRegionBoxAdapter_context, "f").boxGraph, UUID.generate(), box => {
|
|
178
174
|
box.timeBase.setValue(__classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").timeBase.getValue());
|
|
179
175
|
box.position.setValue(params?.position ?? __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").position.getValue());
|
|
180
|
-
// TODO Respect time-base.
|
|
181
|
-
box.duration.setValue(params?.duration ?? __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").duration.getValue());
|
|
182
|
-
box.loopOffset.setValue(params?.loopOffset ?? __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").loopOffset.getValue());
|
|
183
|
-
box.loopDuration.setValue(params?.loopDuration ?? __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").loopDuration.getValue());
|
|
184
176
|
box.regions.refer(params?.track ?? __classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").regions.targetVertex.unwrap());
|
|
185
177
|
box.file.refer(__classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").file.targetVertex.unwrap());
|
|
178
|
+
box.events.refer(eventTarget);
|
|
186
179
|
box.mute.setValue(this.mute);
|
|
187
180
|
box.hue.setValue(this.hue);
|
|
188
181
|
box.label.setValue(this.label);
|
|
189
|
-
box.gain.setValue(this.gain);
|
|
182
|
+
box.gain.setValue(this.gain.getValue());
|
|
183
|
+
__classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").playMode.ifVertex(vertex => box.playMode.refer(vertex.box));
|
|
190
184
|
}), AudioRegionBoxAdapter);
|
|
185
|
+
adapter.duration = params?.duration ?? this.duration;
|
|
186
|
+
adapter.loopOffset = params?.loopOffset ?? this.loopOffset;
|
|
187
|
+
adapter.loopDuration = params?.loopDuration ?? this.loopDuration;
|
|
188
|
+
return adapter;
|
|
191
189
|
}
|
|
192
190
|
consolidate() {
|
|
193
191
|
// TODO This needs to done by creating a new audio file
|
|
@@ -197,10 +195,20 @@ export class AudioRegionBoxAdapter {
|
|
|
197
195
|
// TODO This needs to done by creating a new audio file
|
|
198
196
|
return Option.None;
|
|
199
197
|
}
|
|
200
|
-
terminate() {
|
|
198
|
+
terminate() {
|
|
199
|
+
__classPrivateFieldGet(this, _AudioRegionBoxAdapter_fileSubscription, "f").terminate();
|
|
200
|
+
__classPrivateFieldSet(this, _AudioRegionBoxAdapter_fileSubscription, Terminable.Empty, "f");
|
|
201
|
+
__classPrivateFieldGet(this, _AudioRegionBoxAdapter_tempoSubscription, "f").terminate();
|
|
202
|
+
__classPrivateFieldSet(this, _AudioRegionBoxAdapter_tempoSubscription, Terminable.Empty, "f");
|
|
203
|
+
__classPrivateFieldGet(this, _AudioRegionBoxAdapter_playModeSubscription, "f").terminate();
|
|
204
|
+
__classPrivateFieldSet(this, _AudioRegionBoxAdapter_playModeSubscription, Terminable.Empty, "f");
|
|
205
|
+
__classPrivateFieldGet(this, _AudioRegionBoxAdapter_eventCollectionSubscription, "f").terminate();
|
|
206
|
+
__classPrivateFieldSet(this, _AudioRegionBoxAdapter_eventCollectionSubscription, Terminable.Empty, "f");
|
|
207
|
+
__classPrivateFieldGet(this, _AudioRegionBoxAdapter_terminator, "f").terminate();
|
|
208
|
+
}
|
|
201
209
|
toString() { return `{AudioRegionBoxAdapter ${UUID.toString(__classPrivateFieldGet(this, _AudioRegionBoxAdapter_box, "f").address.uuid)}}`; }
|
|
202
210
|
}
|
|
203
|
-
_AudioRegionBoxAdapter_terminator = new WeakMap(), _AudioRegionBoxAdapter_context = new WeakMap(), _AudioRegionBoxAdapter_box = new WeakMap(), _AudioRegionBoxAdapter_durationConverter = new WeakMap(), _AudioRegionBoxAdapter_loopOffsetConverter = new WeakMap(), _AudioRegionBoxAdapter_loopDurationConverter = new WeakMap(), _AudioRegionBoxAdapter_changeNotifier = new WeakMap(), _AudioRegionBoxAdapter_fileAdapter = new WeakMap(), _AudioRegionBoxAdapter_fileSubscription = new WeakMap(), _AudioRegionBoxAdapter_tempoSubscription = new WeakMap(),
|
|
211
|
+
_AudioRegionBoxAdapter_terminator = new WeakMap(), _AudioRegionBoxAdapter_context = new WeakMap(), _AudioRegionBoxAdapter_box = new WeakMap(), _AudioRegionBoxAdapter_durationConverter = new WeakMap(), _AudioRegionBoxAdapter_loopOffsetConverter = new WeakMap(), _AudioRegionBoxAdapter_loopDurationConverter = new WeakMap(), _AudioRegionBoxAdapter_playMode = new WeakMap(), _AudioRegionBoxAdapter_changeNotifier = new WeakMap(), _AudioRegionBoxAdapter_constructing = new WeakMap(), _AudioRegionBoxAdapter_fileAdapter = new WeakMap(), _AudioRegionBoxAdapter_fileSubscription = new WeakMap(), _AudioRegionBoxAdapter_playModeSubscription = new WeakMap(), _AudioRegionBoxAdapter_tempoSubscription = new WeakMap(), _AudioRegionBoxAdapter_eventCollectionSubscription = new WeakMap(), _AudioRegionBoxAdapter_isSelected = new WeakMap(), _AudioRegionBoxAdapter_instances = new WeakSet(), _AudioRegionBoxAdapter_dispatchChange = function _AudioRegionBoxAdapter_dispatchChange() {
|
|
204
212
|
if (__classPrivateFieldGet(this, _AudioRegionBoxAdapter_constructing, "f")) {
|
|
205
213
|
return;
|
|
206
214
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opendaw/studio-adapters",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.52",
|
|
4
4
|
"license": "LGPL-3.0-or-later",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -23,17 +23,17 @@
|
|
|
23
23
|
"test": "echo \"No tests to run\""
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@opendaw/lib-box": "^0.0.
|
|
27
|
-
"@opendaw/lib-dsp": "^0.0.
|
|
28
|
-
"@opendaw/lib-runtime": "^0.0.
|
|
29
|
-
"@opendaw/lib-std": "^0.0.
|
|
30
|
-
"@opendaw/studio-boxes": "^0.0.
|
|
31
|
-
"@opendaw/studio-enums": "^0.0.
|
|
26
|
+
"@opendaw/lib-box": "^0.0.51",
|
|
27
|
+
"@opendaw/lib-dsp": "^0.0.51",
|
|
28
|
+
"@opendaw/lib-runtime": "^0.0.51",
|
|
29
|
+
"@opendaw/lib-std": "^0.0.51",
|
|
30
|
+
"@opendaw/studio-boxes": "^0.0.51",
|
|
31
|
+
"@opendaw/studio-enums": "^0.0.42",
|
|
32
32
|
"soundfont2": "^0.5.0"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@opendaw/eslint-config": "^0.0.20",
|
|
36
36
|
"@opendaw/typescript-config": "^0.0.20"
|
|
37
37
|
},
|
|
38
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "1b6de986a1edbf3e26b8044f9c9e6a887f4b3b87"
|
|
39
39
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AudioData.d.ts","sourceRoot":"","sources":["../../src/audio/AudioData.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,gBAAgB,EAAE,MAAM,CAAA;IACxB,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;CACtC,CAAA"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export declare const Colors: {
|
|
2
|
-
blue: string;
|
|
3
|
-
green: string;
|
|
4
|
-
yellow: string;
|
|
5
|
-
cream: string;
|
|
6
|
-
orange: string;
|
|
7
|
-
red: string;
|
|
8
|
-
purple: string;
|
|
9
|
-
bright: string;
|
|
10
|
-
gray: string;
|
|
11
|
-
dark: string;
|
|
12
|
-
shadow: string;
|
|
13
|
-
black: string;
|
|
14
|
-
};
|
|
15
|
-
//# sourceMappingURL=Colors.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Colors.d.ts","sourceRoot":"","sources":["../../src/factories/Colors.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,MAAM;;;;;;;;;;;;;CAalB,CAAA"}
|
package/dist/factories/Colors.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { InaccessibleProperty } from "@opendaw/lib-std";
|
|
2
|
-
const getPropertyValue = (() => {
|
|
3
|
-
if (typeof document === "undefined") {
|
|
4
|
-
// This will compile in React but fails at runtime when no document is available
|
|
5
|
-
return (_property) => InaccessibleProperty;
|
|
6
|
-
}
|
|
7
|
-
const computedStyle = getComputedStyle(document.documentElement);
|
|
8
|
-
return (property) => computedStyle.getPropertyValue(property);
|
|
9
|
-
})();
|
|
10
|
-
export const Colors = {
|
|
11
|
-
blue: getPropertyValue("--color-blue"),
|
|
12
|
-
green: getPropertyValue("--color-green"),
|
|
13
|
-
yellow: getPropertyValue("--color-yellow"),
|
|
14
|
-
cream: getPropertyValue("--color-cream"),
|
|
15
|
-
orange: getPropertyValue("--color-orange"),
|
|
16
|
-
red: getPropertyValue("--color-red"),
|
|
17
|
-
purple: getPropertyValue("--color-purple"),
|
|
18
|
-
bright: getPropertyValue("--color-bright"),
|
|
19
|
-
gray: getPropertyValue("--color-gray"),
|
|
20
|
-
dark: getPropertyValue("--color-dark"),
|
|
21
|
-
shadow: getPropertyValue("--color-shadow"),
|
|
22
|
-
black: getPropertyValue("--color-black")
|
|
23
|
-
};
|
|
File without changes
|