@opendaw/studio-adapters 0.0.51 → 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutomatableParameterFieldAdapter.d.ts","sourceRoot":"","sources":["../src/AutomatableParameterFieldAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,qBAAqB,EAIrB,QAAQ,EACR,MAAM,EAEN,SAAS,EACT,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,UAAU,EAEV,SAAS,EACT,YAAY,EACf,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAAC,OAAO,EAA8B,cAAc,EAAE,aAAa,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAA;AACpH,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAE9C,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AAQvD,qBAAa,gCAAgC,CAAC,CAAC,SAAS,eAAe,GAAG,GAAG,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU;;gBAiBlG,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,EAC7B,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,EAC7B,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,EAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,SAAS;
|
|
1
|
+
{"version":3,"file":"AutomatableParameterFieldAdapter.d.ts","sourceRoot":"","sources":["../src/AutomatableParameterFieldAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,qBAAqB,EAIrB,QAAQ,EACR,MAAM,EAEN,SAAS,EACT,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,UAAU,EAEV,SAAS,EACT,YAAY,EACf,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAAC,OAAO,EAA8B,cAAc,EAAE,aAAa,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAA;AACpH,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAE9C,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AAQvD,qBAAa,gCAAgC,CAAC,CAAC,SAAS,eAAe,GAAG,GAAG,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU;;gBAiBlG,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,EAC7B,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,EAC7B,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,EAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,SAAS;IA0D9B,mBAAmB,IAAI,UAAU;IAWjC,IAAI,KAAK,IAAI,cAAc,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAqB;IACxE,IAAI,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,CAA4B;IAC/D,IAAI,aAAa,IAAI,aAAa,CAAC,CAAC,CAAC,CAA6B;IAClE,IAAI,IAAI,IAAI,MAAM,CAAoB;IACtC,IAAI,MAAM,IAAI,SAAS,CAAsB;IAC7C,IAAI,IAAI,IAAI,aAAa,CAA0B;IACnD,IAAI,OAAO,IAAI,OAAO,CAA6B;IACnD,IAAI,KAAK,IAAI,MAAM,CAAC,eAAe,CAAC,CAA+B;IAEnE,OAAO,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC;IAW1B,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY;IAEhF,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY;IAK1F,iCAAiC,CAAC,QAAQ,EAAE,qBAAqB,GAAG,YAAY;IAMhF,QAAQ,IAAI,CAAC;IACb,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IACpC,YAAY,IAAI,SAAS;IACzB,kBAAkB,IAAI,CAAC;IACvB,sBAAsB,IAAI,SAAS;IACnC,uBAAuB,IAAI,QAAQ,CAAC,YAAY,CAAC;IACjD,aAAa,IAAI,QAAQ,CAAC,YAAY,CAAC;IACvC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAWjC,KAAK,IAAI,IAAI;IAEb,SAAS,IAAI,IAAI;CAKpB"}
|
|
@@ -86,7 +86,7 @@ export class AutomatableParameterFieldAdapter {
|
|
|
86
86
|
and I am too lazy to implement this in the mappings itself.
|
|
87
87
|
*/
|
|
88
88
|
if (field.getValue() !== valueMapping.clamp(field.getValue())) {
|
|
89
|
-
console.warn(`${name} (${field.getValue()}) is out of bounds`, valueMapping);
|
|
89
|
+
console.warn(`${name} (${field.getValue()}) is out of bounds`, "constraints" in field ? field["constraints"] : "no constraints", valueMapping, field.address.fieldKeys.join(", "), field.box.name);
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
registerMidiControl() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoxAdapters.d.ts","sourceRoot":"","sources":["../src/BoxAdapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,UAAU,EACV,KAAK,EAKL,UAAU,EAEb,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,GAAG,EAAS,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"BoxAdapters.d.ts","sourceRoot":"","sources":["../src/BoxAdapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,UAAU,EACV,KAAK,EAKL,UAAU,EAEb,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,GAAG,EAAS,MAAM,kBAAkB,CAAA;AAiG5C,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AAmBvC,qBAAa,WAAY,YAAW,UAAU;;gBAO9B,OAAO,EAAE,kBAAkB;IAkBvC,SAAS,IAAI,IAAI;IAMjB,UAAU,CAAC,GAAG,SAAS,GAAG,EAAE,CAAC,SAAS,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;CA6EtG"}
|
package/dist/BoxAdapters.js
CHANGED
|
@@ -61,6 +61,11 @@ import { FoldDeviceBoxAdapter } from "./devices/audio-effects/FoldDeviceBoxAdapt
|
|
|
61
61
|
import { MIDIOutputDeviceBoxAdapter } from "./devices/instruments/MIDIOutputDeviceBoxAdapter";
|
|
62
62
|
import { VelocityDeviceBoxAdapter } from "./devices/midi-effects/VelocityDeviceBoxAdapter";
|
|
63
63
|
import { TidalDeviceBoxAdapter } from "./devices/audio-effects/TidalDeviceBoxAdapter";
|
|
64
|
+
import { DattorroReverbDeviceBoxAdapter } from "./devices/audio-effects/DattorroReverbDeviceBoxAdapter";
|
|
65
|
+
import { AudioPitchBoxAdapter } from "./audio/AudioPitchBoxAdapter";
|
|
66
|
+
import { TransientMarkerBoxAdapter } from "./audio/TransientMarkerBoxAdapter";
|
|
67
|
+
import { WarpMarkerBoxAdapter } from "./audio/WarpMarkerBoxAdapter";
|
|
68
|
+
import { AudioTimeStretchBoxAdapter } from "./audio/AudioTimeStretchBoxAdapter";
|
|
64
69
|
export class BoxAdapters {
|
|
65
70
|
constructor(context) {
|
|
66
71
|
_BoxAdapters_instances.add(this);
|
|
@@ -112,11 +117,16 @@ _BoxAdapters_context = new WeakMap(), _BoxAdapters_adapters = new WeakMap(), _Bo
|
|
|
112
117
|
visitAudioBusBox: (box) => new AudioBusBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
|
|
113
118
|
visitAudioClipBox: (box) => new AudioClipBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
|
|
114
119
|
visitAudioFileBox: (box) => new AudioFileBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
|
|
120
|
+
visitAudioPitchBox: (box) => new AudioPitchBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
|
|
121
|
+
visitAudioTimeStretchBox: (box) => new AudioTimeStretchBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
|
|
122
|
+
visitTransientMarkerBox: (box) => new TransientMarkerBoxAdapter(box),
|
|
123
|
+
visitWarpMarkerBox: (box) => new WarpMarkerBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
|
|
115
124
|
visitAudioRegionBox: (box) => new AudioRegionBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
|
|
116
125
|
visitAudioUnitBox: (box) => new AudioUnitBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
|
|
117
126
|
visitAuxSendBox: (box) => new AuxSendBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
|
|
118
127
|
visitCompressorDeviceBox: (box) => new CompressorDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
|
|
119
128
|
visitCrusherDeviceBox: (box) => new CrusherDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
|
|
129
|
+
visitDattorroReverbDeviceBox: (box) => new DattorroReverbDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
|
|
120
130
|
visitDelayDeviceBox: (box) => new DelayDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
|
|
121
131
|
visitDeviceInterfaceKnobBox: (box) => new DeviceInterfaceKnobAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
|
|
122
132
|
visitTidalDeviceBox: (box) => new TidalDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EngineAddresses.d.ts","sourceRoot":"","sources":["../src/EngineAddresses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AAGxC,yBAAiB,eAAe,CAAC;IACtB,MAAM,KAAK,SAAyC,CAAA;IACpD,MAAM,QAAQ,SAAyC,CAAA;IACvD,MAAM,QAAQ,SAAyC,CAAA;CACjE"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Address } from "@opendaw/lib-box";
|
|
2
|
+
import { UUID } from "@opendaw/lib-std";
|
|
3
|
+
export var EngineAddresses;
|
|
4
|
+
(function (EngineAddresses) {
|
|
5
|
+
EngineAddresses.PEAKS = Address.compose(UUID.Lowest).append(0);
|
|
6
|
+
EngineAddresses.SPECTRUM = Address.compose(UUID.Lowest).append(1);
|
|
7
|
+
EngineAddresses.WAVEFORM = Address.compose(UUID.Lowest).append(2);
|
|
8
|
+
})(EngineAddresses || (EngineAddresses = {}));
|
|
@@ -1,21 +1,26 @@
|
|
|
1
1
|
import { AudioFileBox } from "@opendaw/studio-boxes";
|
|
2
|
-
import { Option, UUID } from "@opendaw/lib-std";
|
|
2
|
+
import { int, Option, UUID } from "@opendaw/lib-std";
|
|
3
3
|
import { Peaks } from "@opendaw/lib-fusion";
|
|
4
|
-
import { AudioData } from "./AudioData";
|
|
5
4
|
import { Address } from "@opendaw/lib-box";
|
|
6
5
|
import { SampleLoader } from "../sample/SampleLoader";
|
|
7
6
|
import { BoxAdaptersContext } from "../BoxAdaptersContext";
|
|
8
7
|
import { BoxAdapter } from "../BoxAdapter";
|
|
8
|
+
import { AudioData, EventCollection } from "@opendaw/lib-dsp";
|
|
9
|
+
import { TransientMarkerBoxAdapter } from "./TransientMarkerBoxAdapter";
|
|
9
10
|
export declare class AudioFileBoxAdapter implements BoxAdapter {
|
|
10
11
|
#private;
|
|
12
|
+
static Comparator: (a: TransientMarkerBoxAdapter, b: TransientMarkerBoxAdapter) => int;
|
|
11
13
|
constructor(context: BoxAdaptersContext, box: AudioFileBox);
|
|
12
14
|
get box(): AudioFileBox;
|
|
13
15
|
get uuid(): UUID.Bytes;
|
|
14
16
|
get address(): Address;
|
|
15
17
|
get startInSeconds(): number;
|
|
16
18
|
get endInSeconds(): number;
|
|
19
|
+
get transients(): EventCollection<TransientMarkerBoxAdapter>;
|
|
20
|
+
get fileName(): string;
|
|
17
21
|
get data(): Option<AudioData>;
|
|
18
22
|
get peaks(): Option<Peaks>;
|
|
23
|
+
get audioData(): Promise<AudioData>;
|
|
19
24
|
getOrCreateLoader(): SampleLoader;
|
|
20
25
|
terminate(): void;
|
|
21
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioFileBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/audio/AudioFileBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"AudioFileBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/audio/AudioFileBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAC,GAAG,EAAE,MAAM,EAA0C,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAC1F,OAAO,EAAC,KAAK,EAAC,MAAM,qBAAqB,CAAA;AACzC,OAAO,EAAC,OAAO,EAAe,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAC,YAAY,EAAC,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,SAAS,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAC,yBAAyB,EAAC,MAAM,6BAA6B,CAAA;AAGrE,qBAAa,mBAAoB,YAAW,UAAU;;IAClD,MAAM,CAAC,UAAU,GAAI,GAAG,yBAAyB,EAAE,GAAG,yBAAyB,KAAG,GAAG,CAOpF;gBAWW,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,YAAY;IAqC1D,IAAI,GAAG,IAAI,YAAY,CAAmB;IAC1C,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,cAAc,IAAI,MAAM,CAA6C;IACzE,IAAI,YAAY,IAAI,MAAM,CAA2C;IACrE,IAAI,UAAU,IAAI,eAAe,CAAC,yBAAyB,CAAC,CAA0B;IACtF,IAAI,QAAQ,IAAI,MAAM,CAAuC;IAC7D,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,CAAuC;IACpE,IAAI,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAwC;IAClE,IAAI,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,CAAkC;IAErE,iBAAiB,IAAI,YAAY;IAEjC,SAAS,IAAI,IAAI;CACpB"}
|
|
@@ -9,24 +9,72 @@ 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 _AudioFileBoxAdapter_context, _AudioFileBoxAdapter_box;
|
|
12
|
+
var _AudioFileBoxAdapter_terminator, _AudioFileBoxAdapter_context, _AudioFileBoxAdapter_box, _AudioFileBoxAdapter_transientMarkerAdapters, _AudioFileBoxAdapter_transients, _AudioFileBoxAdapter_audioDataPromise;
|
|
13
|
+
import { panic, Terminator, UUID } from "@opendaw/lib-std";
|
|
14
|
+
import { EventCollection } from "@opendaw/lib-dsp";
|
|
15
|
+
import { TransientMarkerBoxAdapter } from "./TransientMarkerBoxAdapter";
|
|
16
|
+
import { Promises } from "@opendaw/lib-runtime";
|
|
13
17
|
export class AudioFileBoxAdapter {
|
|
14
18
|
constructor(context, box) {
|
|
19
|
+
_AudioFileBoxAdapter_terminator.set(this, new Terminator());
|
|
15
20
|
_AudioFileBoxAdapter_context.set(this, void 0);
|
|
16
21
|
_AudioFileBoxAdapter_box.set(this, void 0);
|
|
22
|
+
_AudioFileBoxAdapter_transientMarkerAdapters.set(this, void 0);
|
|
23
|
+
_AudioFileBoxAdapter_transients.set(this, void 0);
|
|
24
|
+
_AudioFileBoxAdapter_audioDataPromise.set(this, void 0);
|
|
17
25
|
__classPrivateFieldSet(this, _AudioFileBoxAdapter_context, context, "f");
|
|
18
26
|
__classPrivateFieldSet(this, _AudioFileBoxAdapter_box, box, "f");
|
|
27
|
+
__classPrivateFieldSet(this, _AudioFileBoxAdapter_transientMarkerAdapters, UUID.newSet(({ uuid }) => uuid), "f");
|
|
28
|
+
__classPrivateFieldSet(this, _AudioFileBoxAdapter_transients, EventCollection.create(AudioFileBoxAdapter.Comparator), "f");
|
|
29
|
+
__classPrivateFieldSet(this, _AudioFileBoxAdapter_audioDataPromise, Promises.memoizeAsync(async () => {
|
|
30
|
+
if (this.data.nonEmpty()) {
|
|
31
|
+
return this.data.unwrap();
|
|
32
|
+
}
|
|
33
|
+
const { promise, resolve, reject } = Promise.withResolvers();
|
|
34
|
+
const loader = this.getOrCreateLoader();
|
|
35
|
+
const subscription = loader.subscribe(state => {
|
|
36
|
+
if (state.type === "loaded") {
|
|
37
|
+
subscription.terminate();
|
|
38
|
+
resolve(loader.data.unwrap("State mismatch"));
|
|
39
|
+
}
|
|
40
|
+
else if (state.type === "error") {
|
|
41
|
+
subscription.terminate();
|
|
42
|
+
reject(state.reason);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
return promise;
|
|
46
|
+
}), "f");
|
|
47
|
+
__classPrivateFieldGet(this, _AudioFileBoxAdapter_terminator, "f").own(box.transientMarkers.pointerHub.catchupAndSubscribe({
|
|
48
|
+
onAdded: (pointer) => {
|
|
49
|
+
const marker = __classPrivateFieldGet(this, _AudioFileBoxAdapter_context, "f").boxAdapters.adapterFor(pointer.box, TransientMarkerBoxAdapter);
|
|
50
|
+
if (__classPrivateFieldGet(this, _AudioFileBoxAdapter_transientMarkerAdapters, "f").add(marker)) {
|
|
51
|
+
__classPrivateFieldGet(this, _AudioFileBoxAdapter_transients, "f").add(marker);
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
onRemoved: ({ box: { address: { uuid } } }) => {
|
|
55
|
+
__classPrivateFieldGet(this, _AudioFileBoxAdapter_transients, "f").remove(__classPrivateFieldGet(this, _AudioFileBoxAdapter_transientMarkerAdapters, "f").removeByKey(uuid));
|
|
56
|
+
}
|
|
57
|
+
}));
|
|
19
58
|
}
|
|
20
59
|
get box() { return __classPrivateFieldGet(this, _AudioFileBoxAdapter_box, "f"); }
|
|
21
60
|
get uuid() { return __classPrivateFieldGet(this, _AudioFileBoxAdapter_box, "f").address.uuid; }
|
|
22
61
|
get address() { return __classPrivateFieldGet(this, _AudioFileBoxAdapter_box, "f").address; }
|
|
23
62
|
get startInSeconds() { return __classPrivateFieldGet(this, _AudioFileBoxAdapter_box, "f").startInSeconds.getValue(); }
|
|
24
63
|
get endInSeconds() { return __classPrivateFieldGet(this, _AudioFileBoxAdapter_box, "f").endInSeconds.getValue(); }
|
|
64
|
+
get transients() { return __classPrivateFieldGet(this, _AudioFileBoxAdapter_transients, "f"); }
|
|
65
|
+
get fileName() { return __classPrivateFieldGet(this, _AudioFileBoxAdapter_box, "f").fileName.getValue(); }
|
|
25
66
|
get data() { return this.getOrCreateLoader().data; }
|
|
26
67
|
get peaks() { return this.getOrCreateLoader().peaks; }
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
terminate() { }
|
|
68
|
+
get audioData() { return __classPrivateFieldGet(this, _AudioFileBoxAdapter_audioDataPromise, "f").call(this); }
|
|
69
|
+
getOrCreateLoader() { return __classPrivateFieldGet(this, _AudioFileBoxAdapter_context, "f").sampleManager.getOrCreate(__classPrivateFieldGet(this, _AudioFileBoxAdapter_box, "f").address.uuid); }
|
|
70
|
+
terminate() { __classPrivateFieldGet(this, _AudioFileBoxAdapter_terminator, "f").terminate(); }
|
|
31
71
|
}
|
|
32
|
-
_AudioFileBoxAdapter_context = new WeakMap(), _AudioFileBoxAdapter_box = new WeakMap();
|
|
72
|
+
_AudioFileBoxAdapter_terminator = new WeakMap(), _AudioFileBoxAdapter_context = new WeakMap(), _AudioFileBoxAdapter_box = new WeakMap(), _AudioFileBoxAdapter_transientMarkerAdapters = new WeakMap(), _AudioFileBoxAdapter_transients = new WeakMap(), _AudioFileBoxAdapter_audioDataPromise = new WeakMap();
|
|
73
|
+
AudioFileBoxAdapter.Comparator = (a, b) => {
|
|
74
|
+
const difference = a.position - b.position;
|
|
75
|
+
if (difference === 0) {
|
|
76
|
+
console.warn(a, b);
|
|
77
|
+
return panic("Events at the same position: " + a.position + ", " + b.position);
|
|
78
|
+
}
|
|
79
|
+
return difference;
|
|
80
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Observer, Subscription, UUID } from "@opendaw/lib-std";
|
|
2
|
+
import { Address } from "@opendaw/lib-box";
|
|
3
|
+
import { BoxAdaptersContext } from "../BoxAdaptersContext";
|
|
4
|
+
import { BoxAdapter } from "../BoxAdapter";
|
|
5
|
+
import { EventCollection } from "@opendaw/lib-dsp";
|
|
6
|
+
import { WarpMarkerBoxAdapter } from "./WarpMarkerBoxAdapter";
|
|
7
|
+
import { AudioPitchBox } from "@opendaw/studio-boxes";
|
|
8
|
+
export declare class AudioPitchBoxAdapter implements BoxAdapter {
|
|
9
|
+
#private;
|
|
10
|
+
constructor(context: BoxAdaptersContext, box: AudioPitchBox);
|
|
11
|
+
get box(): AudioPitchBox;
|
|
12
|
+
get uuid(): UUID.Bytes;
|
|
13
|
+
get address(): Address;
|
|
14
|
+
get warpMarkers(): EventCollection<WarpMarkerBoxAdapter>;
|
|
15
|
+
subscribe(observer: Observer<void>): Subscription;
|
|
16
|
+
onChanged(): void;
|
|
17
|
+
terminate(): void;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=AudioPitchBoxAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AudioPitchBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/audio/AudioPitchBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,QAAQ,EAAa,YAAY,EAAc,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAC9F,OAAO,EAAC,OAAO,EAAe,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAA;AAGnD,qBAAa,oBAAqB,YAAW,UAAU;;gBAUvC,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,aAAa;IAwB3D,IAAI,GAAG,IAAI,aAAa,CAAmB;IAC3C,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,WAAW,IAAI,eAAe,CAAC,oBAAoB,CAAC,CAA2B;IAEnF,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY;IACjD,SAAS,IAAI,IAAI;IAEjB,SAAS,IAAI,IAAI;CACpB"}
|
|
@@ -0,0 +1,52 @@
|
|
|
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 _AudioPitchBoxAdapter_terminator, _AudioPitchBoxAdapter_context, _AudioPitchBoxAdapter_box, _AudioPitchBoxAdapter_notifer, _AudioPitchBoxAdapter_warpMarkerAdapters, _AudioPitchBoxAdapter_warpMarkers;
|
|
13
|
+
import { Notifier, Terminator, UUID } from "@opendaw/lib-std";
|
|
14
|
+
import { EventCollection } from "@opendaw/lib-dsp";
|
|
15
|
+
import { WarpMarkerBoxAdapter } from "./WarpMarkerBoxAdapter";
|
|
16
|
+
import { MarkerComparator } from "./MarkerComparator";
|
|
17
|
+
export class AudioPitchBoxAdapter {
|
|
18
|
+
constructor(context, box) {
|
|
19
|
+
_AudioPitchBoxAdapter_terminator.set(this, new Terminator());
|
|
20
|
+
_AudioPitchBoxAdapter_context.set(this, void 0);
|
|
21
|
+
_AudioPitchBoxAdapter_box.set(this, void 0);
|
|
22
|
+
_AudioPitchBoxAdapter_notifer.set(this, void 0);
|
|
23
|
+
_AudioPitchBoxAdapter_warpMarkerAdapters.set(this, void 0);
|
|
24
|
+
_AudioPitchBoxAdapter_warpMarkers.set(this, void 0);
|
|
25
|
+
__classPrivateFieldSet(this, _AudioPitchBoxAdapter_context, context, "f");
|
|
26
|
+
__classPrivateFieldSet(this, _AudioPitchBoxAdapter_box, box, "f");
|
|
27
|
+
__classPrivateFieldSet(this, _AudioPitchBoxAdapter_notifer, new Notifier(), "f");
|
|
28
|
+
__classPrivateFieldSet(this, _AudioPitchBoxAdapter_warpMarkerAdapters, UUID.newSet(({ uuid }) => uuid), "f");
|
|
29
|
+
__classPrivateFieldSet(this, _AudioPitchBoxAdapter_warpMarkers, EventCollection.create(MarkerComparator), "f");
|
|
30
|
+
__classPrivateFieldGet(this, _AudioPitchBoxAdapter_terminator, "f").ownAll(box.warpMarkers.pointerHub.catchupAndSubscribe({
|
|
31
|
+
onAdded: (pointer) => {
|
|
32
|
+
const marker = __classPrivateFieldGet(this, _AudioPitchBoxAdapter_context, "f").boxAdapters.adapterFor(pointer.box, WarpMarkerBoxAdapter);
|
|
33
|
+
if (__classPrivateFieldGet(this, _AudioPitchBoxAdapter_warpMarkerAdapters, "f").add(marker)) {
|
|
34
|
+
__classPrivateFieldGet(this, _AudioPitchBoxAdapter_warpMarkers, "f").add(marker);
|
|
35
|
+
__classPrivateFieldGet(this, _AudioPitchBoxAdapter_notifer, "f").notify();
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
onRemoved: ({ box: { address: { uuid } } }) => {
|
|
39
|
+
__classPrivateFieldGet(this, _AudioPitchBoxAdapter_warpMarkers, "f").remove(__classPrivateFieldGet(this, _AudioPitchBoxAdapter_warpMarkerAdapters, "f").removeByKey(uuid));
|
|
40
|
+
__classPrivateFieldGet(this, _AudioPitchBoxAdapter_notifer, "f").notify();
|
|
41
|
+
}
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
44
|
+
get box() { return __classPrivateFieldGet(this, _AudioPitchBoxAdapter_box, "f"); }
|
|
45
|
+
get uuid() { return __classPrivateFieldGet(this, _AudioPitchBoxAdapter_box, "f").address.uuid; }
|
|
46
|
+
get address() { return __classPrivateFieldGet(this, _AudioPitchBoxAdapter_box, "f").address; }
|
|
47
|
+
get warpMarkers() { return __classPrivateFieldGet(this, _AudioPitchBoxAdapter_warpMarkers, "f"); }
|
|
48
|
+
subscribe(observer) { return __classPrivateFieldGet(this, _AudioPitchBoxAdapter_notifer, "f").subscribe(observer); }
|
|
49
|
+
onChanged() { __classPrivateFieldGet(this, _AudioPitchBoxAdapter_notifer, "f").notify(); }
|
|
50
|
+
terminate() { __classPrivateFieldGet(this, _AudioPitchBoxAdapter_terminator, "f").terminate(); }
|
|
51
|
+
}
|
|
52
|
+
_AudioPitchBoxAdapter_terminator = new WeakMap(), _AudioPitchBoxAdapter_context = new WeakMap(), _AudioPitchBoxAdapter_box = new WeakMap(), _AudioPitchBoxAdapter_notifer = new WeakMap(), _AudioPitchBoxAdapter_warpMarkerAdapters = new WeakMap(), _AudioPitchBoxAdapter_warpMarkers = new WeakMap();
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AudioPitchBoxAdapter } from "./AudioPitchBoxAdapter";
|
|
2
|
+
import { AudioTimeStretchBoxAdapter } from "./AudioTimeStretchBoxAdapter";
|
|
3
|
+
export declare namespace AudioPlayMode {
|
|
4
|
+
const isAudioPlayMode: (mode: unknown) => mode is AudioPlayMode;
|
|
5
|
+
}
|
|
6
|
+
export type AudioPlayMode = AudioPitchBoxAdapter | AudioTimeStretchBoxAdapter;
|
|
7
|
+
//# sourceMappingURL=AudioPlayMode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AudioPlayMode.d.ts","sourceRoot":"","sources":["../../src/audio/AudioPlayMode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAC,0BAA0B,EAAC,MAAM,8BAA8B,CAAA;AAEvE,yBAAiB,aAAa,CAAC;IACpB,MAAM,eAAe,GAAI,MAAM,OAAO,KAAG,IAAI,IAAI,aAC8B,CAAA;CACzF;AAED,MAAM,MAAM,aAAa,GAAG,oBAAoB,GAAG,0BAA0B,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { AudioPitchBoxAdapter } from "./AudioPitchBoxAdapter";
|
|
2
|
+
import { AudioTimeStretchBoxAdapter } from "./AudioTimeStretchBoxAdapter";
|
|
3
|
+
export var AudioPlayMode;
|
|
4
|
+
(function (AudioPlayMode) {
|
|
5
|
+
AudioPlayMode.isAudioPlayMode = (mode) => mode instanceof AudioPitchBoxAdapter || mode instanceof AudioTimeStretchBoxAdapter;
|
|
6
|
+
})(AudioPlayMode || (AudioPlayMode = {}));
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Observer, Subscription, UUID } from "@opendaw/lib-std";
|
|
2
|
+
import { Address } from "@opendaw/lib-box";
|
|
3
|
+
import { BoxAdaptersContext } from "../BoxAdaptersContext";
|
|
4
|
+
import { BoxAdapter } from "../BoxAdapter";
|
|
5
|
+
import { EventCollection } from "@opendaw/lib-dsp";
|
|
6
|
+
import { WarpMarkerBoxAdapter } from "./WarpMarkerBoxAdapter";
|
|
7
|
+
import { AudioTimeStretchBox } from "@opendaw/studio-boxes";
|
|
8
|
+
import { TransientPlayMode } from "@opendaw/studio-enums";
|
|
9
|
+
export declare class AudioTimeStretchBoxAdapter implements BoxAdapter {
|
|
10
|
+
#private;
|
|
11
|
+
constructor(context: BoxAdaptersContext, box: AudioTimeStretchBox);
|
|
12
|
+
get box(): AudioTimeStretchBox;
|
|
13
|
+
get uuid(): UUID.Bytes;
|
|
14
|
+
get address(): Address;
|
|
15
|
+
get warpMarkers(): EventCollection<WarpMarkerBoxAdapter>;
|
|
16
|
+
get playbackRate(): number;
|
|
17
|
+
get transientPlayMode(): TransientPlayMode;
|
|
18
|
+
subscribe(observer: Observer<void>): Subscription;
|
|
19
|
+
onChanged(): void;
|
|
20
|
+
terminate(): void;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=AudioTimeStretchBoxAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AudioTimeStretchBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/audio/AudioTimeStretchBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,QAAQ,EAAa,YAAY,EAAc,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAC3G,OAAO,EAAC,OAAO,EAAe,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAA;AAEzD,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAA;AAEvD,qBAAa,0BAA2B,YAAW,UAAU;;gBAU7C,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,mBAAmB;IAwBjE,IAAI,GAAG,IAAI,mBAAmB,CAAmB;IACjD,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,WAAW,IAAI,eAAe,CAAC,oBAAoB,CAAC,CAA2B;IACnF,IAAI,YAAY,IAAI,MAAM,CAA2C;IACrE,IAAI,iBAAiB,IAAI,iBAAiB,CAEzC;IAED,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY;IACjD,SAAS,IAAI,IAAI;IAEjB,SAAS,IAAI,IAAI;CACpB"}
|
|
@@ -0,0 +1,57 @@
|
|
|
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 _AudioTimeStretchBoxAdapter_terminator, _AudioTimeStretchBoxAdapter_context, _AudioTimeStretchBoxAdapter_box, _AudioTimeStretchBoxAdapter_notifer, _AudioTimeStretchBoxAdapter_warpMarkerAdapters, _AudioTimeStretchBoxAdapter_warpMarkers;
|
|
13
|
+
import { asEnumValue, Notifier, Terminator, UUID } from "@opendaw/lib-std";
|
|
14
|
+
import { EventCollection } from "@opendaw/lib-dsp";
|
|
15
|
+
import { WarpMarkerBoxAdapter } from "./WarpMarkerBoxAdapter";
|
|
16
|
+
import { MarkerComparator } from "./MarkerComparator";
|
|
17
|
+
import { TransientPlayMode } from "@opendaw/studio-enums";
|
|
18
|
+
export class AudioTimeStretchBoxAdapter {
|
|
19
|
+
constructor(context, box) {
|
|
20
|
+
_AudioTimeStretchBoxAdapter_terminator.set(this, new Terminator());
|
|
21
|
+
_AudioTimeStretchBoxAdapter_context.set(this, void 0);
|
|
22
|
+
_AudioTimeStretchBoxAdapter_box.set(this, void 0);
|
|
23
|
+
_AudioTimeStretchBoxAdapter_notifer.set(this, void 0);
|
|
24
|
+
_AudioTimeStretchBoxAdapter_warpMarkerAdapters.set(this, void 0);
|
|
25
|
+
_AudioTimeStretchBoxAdapter_warpMarkers.set(this, void 0);
|
|
26
|
+
__classPrivateFieldSet(this, _AudioTimeStretchBoxAdapter_context, context, "f");
|
|
27
|
+
__classPrivateFieldSet(this, _AudioTimeStretchBoxAdapter_box, box, "f");
|
|
28
|
+
__classPrivateFieldSet(this, _AudioTimeStretchBoxAdapter_notifer, new Notifier(), "f");
|
|
29
|
+
__classPrivateFieldSet(this, _AudioTimeStretchBoxAdapter_warpMarkerAdapters, UUID.newSet(({ uuid }) => uuid), "f");
|
|
30
|
+
__classPrivateFieldSet(this, _AudioTimeStretchBoxAdapter_warpMarkers, EventCollection.create(MarkerComparator), "f");
|
|
31
|
+
__classPrivateFieldGet(this, _AudioTimeStretchBoxAdapter_terminator, "f").ownAll(box.warpMarkers.pointerHub.catchupAndSubscribe({
|
|
32
|
+
onAdded: (pointer) => {
|
|
33
|
+
const marker = __classPrivateFieldGet(this, _AudioTimeStretchBoxAdapter_context, "f").boxAdapters.adapterFor(pointer.box, WarpMarkerBoxAdapter);
|
|
34
|
+
if (__classPrivateFieldGet(this, _AudioTimeStretchBoxAdapter_warpMarkerAdapters, "f").add(marker)) {
|
|
35
|
+
__classPrivateFieldGet(this, _AudioTimeStretchBoxAdapter_warpMarkers, "f").add(marker);
|
|
36
|
+
__classPrivateFieldGet(this, _AudioTimeStretchBoxAdapter_notifer, "f").notify();
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
onRemoved: ({ box: { address: { uuid } } }) => {
|
|
40
|
+
__classPrivateFieldGet(this, _AudioTimeStretchBoxAdapter_warpMarkers, "f").remove(__classPrivateFieldGet(this, _AudioTimeStretchBoxAdapter_warpMarkerAdapters, "f").removeByKey(uuid));
|
|
41
|
+
__classPrivateFieldGet(this, _AudioTimeStretchBoxAdapter_notifer, "f").notify();
|
|
42
|
+
}
|
|
43
|
+
}));
|
|
44
|
+
}
|
|
45
|
+
get box() { return __classPrivateFieldGet(this, _AudioTimeStretchBoxAdapter_box, "f"); }
|
|
46
|
+
get uuid() { return __classPrivateFieldGet(this, _AudioTimeStretchBoxAdapter_box, "f").address.uuid; }
|
|
47
|
+
get address() { return __classPrivateFieldGet(this, _AudioTimeStretchBoxAdapter_box, "f").address; }
|
|
48
|
+
get warpMarkers() { return __classPrivateFieldGet(this, _AudioTimeStretchBoxAdapter_warpMarkers, "f"); }
|
|
49
|
+
get playbackRate() { return __classPrivateFieldGet(this, _AudioTimeStretchBoxAdapter_box, "f").playbackRate.getValue(); }
|
|
50
|
+
get transientPlayMode() {
|
|
51
|
+
return asEnumValue(__classPrivateFieldGet(this, _AudioTimeStretchBoxAdapter_box, "f").transientPlayMode.getValue(), TransientPlayMode);
|
|
52
|
+
}
|
|
53
|
+
subscribe(observer) { return __classPrivateFieldGet(this, _AudioTimeStretchBoxAdapter_notifer, "f").subscribe(observer); }
|
|
54
|
+
onChanged() { __classPrivateFieldGet(this, _AudioTimeStretchBoxAdapter_notifer, "f").notify(); }
|
|
55
|
+
terminate() { __classPrivateFieldGet(this, _AudioTimeStretchBoxAdapter_terminator, "f").terminate(); }
|
|
56
|
+
}
|
|
57
|
+
_AudioTimeStretchBoxAdapter_terminator = new WeakMap(), _AudioTimeStretchBoxAdapter_context = new WeakMap(), _AudioTimeStretchBoxAdapter_box = new WeakMap(), _AudioTimeStretchBoxAdapter_notifer = new WeakMap(), _AudioTimeStretchBoxAdapter_warpMarkerAdapters = new WeakMap(), _AudioTimeStretchBoxAdapter_warpMarkers = new WeakMap();
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TransientMarkerBoxAdapter } from "./TransientMarkerBoxAdapter";
|
|
2
|
+
import { int } from "@opendaw/lib-std";
|
|
3
|
+
import { WarpMarkerBoxAdapter } from "./WarpMarkerBoxAdapter";
|
|
4
|
+
export type Marker = WarpMarkerBoxAdapter | TransientMarkerBoxAdapter;
|
|
5
|
+
export declare const MarkerComparator: <M extends Marker>(a: M, b: M) => int;
|
|
6
|
+
//# sourceMappingURL=MarkerComparator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkerComparator.d.ts","sourceRoot":"","sources":["../../src/audio/MarkerComparator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,yBAAyB,EAAC,MAAM,6BAA6B,CAAA;AACrE,OAAO,EAAC,GAAG,EAAQ,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAA;AAE3D,MAAM,MAAM,MAAM,GAAG,oBAAoB,GAAG,yBAAyB,CAAA;AAErE,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,KAAG,GAO/D,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { panic } from "@opendaw/lib-std";
|
|
2
|
+
export const MarkerComparator = (a, b) => {
|
|
3
|
+
const difference = a.position - b.position;
|
|
4
|
+
if (difference === 0) {
|
|
5
|
+
console.warn(a, b);
|
|
6
|
+
return panic("Events at the same position: " + a.position + ", " + b.position);
|
|
7
|
+
}
|
|
8
|
+
return difference;
|
|
9
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransientMarker.d.ts","sourceRoot":"","sources":["../../src/audio/TransientMarker.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Observer, Subscription, UUID } from "@opendaw/lib-std";
|
|
2
|
+
import { Address } from "@opendaw/lib-box";
|
|
3
|
+
import { Event } from "@opendaw/lib-dsp";
|
|
4
|
+
import { TransientMarkerBox } from "@opendaw/studio-boxes";
|
|
5
|
+
import { BoxAdapter } from "../BoxAdapter";
|
|
6
|
+
export declare class TransientMarkerBoxAdapter implements BoxAdapter, Event {
|
|
7
|
+
#private;
|
|
8
|
+
readonly type = "transient-marker";
|
|
9
|
+
constructor(box: TransientMarkerBox);
|
|
10
|
+
get box(): TransientMarkerBox;
|
|
11
|
+
get uuid(): UUID.Bytes;
|
|
12
|
+
get address(): Address;
|
|
13
|
+
get position(): number;
|
|
14
|
+
subscribe(observer: Observer<void>): Subscription;
|
|
15
|
+
terminate(): void;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=TransientMarkerBoxAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransientMarkerBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/audio/TransientMarkerBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,QAAQ,EAAE,YAAY,EAAc,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACnF,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AAExC,qBAAa,yBAA0B,YAAW,UAAU,EAAE,KAAK;;IAC/D,QAAQ,CAAC,IAAI,sBAAqB;gBAMtB,GAAG,EAAE,kBAAkB;IAMnC,IAAI,GAAG,IAAI,kBAAkB,CAAmB;IAChD,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,QAAQ,IAAI,MAAM,CAAuC;IAE7D,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY;IAEjD,SAAS,IAAI,IAAI;CACpB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
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 _TransientMarkerBoxAdapter_terminator, _TransientMarkerBoxAdapter_box, _TransientMarkerBoxAdapter_notifer;
|
|
13
|
+
import { Notifier, Terminator } from "@opendaw/lib-std";
|
|
14
|
+
export class TransientMarkerBoxAdapter {
|
|
15
|
+
constructor(box) {
|
|
16
|
+
this.type = "transient-marker";
|
|
17
|
+
_TransientMarkerBoxAdapter_terminator.set(this, new Terminator());
|
|
18
|
+
_TransientMarkerBoxAdapter_box.set(this, void 0);
|
|
19
|
+
_TransientMarkerBoxAdapter_notifer.set(this, void 0);
|
|
20
|
+
__classPrivateFieldSet(this, _TransientMarkerBoxAdapter_box, box, "f");
|
|
21
|
+
__classPrivateFieldSet(this, _TransientMarkerBoxAdapter_notifer, new Notifier(), "f");
|
|
22
|
+
}
|
|
23
|
+
get box() { return __classPrivateFieldGet(this, _TransientMarkerBoxAdapter_box, "f"); }
|
|
24
|
+
get uuid() { return __classPrivateFieldGet(this, _TransientMarkerBoxAdapter_box, "f").address.uuid; }
|
|
25
|
+
get address() { return __classPrivateFieldGet(this, _TransientMarkerBoxAdapter_box, "f").address; }
|
|
26
|
+
get position() { return __classPrivateFieldGet(this, _TransientMarkerBoxAdapter_box, "f").position.getValue(); }
|
|
27
|
+
subscribe(observer) { return __classPrivateFieldGet(this, _TransientMarkerBoxAdapter_notifer, "f").subscribe(observer); }
|
|
28
|
+
terminate() { __classPrivateFieldGet(this, _TransientMarkerBoxAdapter_terminator, "f").terminate(); }
|
|
29
|
+
}
|
|
30
|
+
_TransientMarkerBoxAdapter_terminator = new WeakMap(), _TransientMarkerBoxAdapter_box = new WeakMap(), _TransientMarkerBoxAdapter_notifer = new WeakMap();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WarpMarker.d.ts","sourceRoot":"","sources":["../../src/audio/WarpMarker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAErC,MAAM,MAAM,UAAU,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Observer, Option, Selectable, Subscription, UUID } from "@opendaw/lib-std";
|
|
2
|
+
import { Address } from "@opendaw/lib-box";
|
|
3
|
+
import { Event } from "@opendaw/lib-dsp";
|
|
4
|
+
import { WarpMarkerBox } from "@opendaw/studio-boxes";
|
|
5
|
+
import { BoxAdapter } from "../BoxAdapter";
|
|
6
|
+
import { AudioPitchBoxAdapter } from "./AudioPitchBoxAdapter";
|
|
7
|
+
import { BoxAdaptersContext } from "../BoxAdaptersContext";
|
|
8
|
+
import { AudioTimeStretchBoxAdapter } from "./AudioTimeStretchBoxAdapter";
|
|
9
|
+
export declare class WarpMarkerBoxAdapter implements BoxAdapter, Event, Selectable {
|
|
10
|
+
#private;
|
|
11
|
+
readonly type = "warp-marker";
|
|
12
|
+
constructor(context: BoxAdaptersContext, box: WarpMarkerBox);
|
|
13
|
+
onSelected(): void;
|
|
14
|
+
onDeselected(): void;
|
|
15
|
+
get box(): WarpMarkerBox;
|
|
16
|
+
get uuid(): UUID.Bytes;
|
|
17
|
+
get address(): Address;
|
|
18
|
+
get position(): number;
|
|
19
|
+
get seconds(): number;
|
|
20
|
+
get isSelected(): boolean;
|
|
21
|
+
get optWarping(): Option<AudioPitchBoxAdapter | AudioTimeStretchBoxAdapter>;
|
|
22
|
+
get isAnchor(): boolean;
|
|
23
|
+
subscribe(observer: Observer<void>): Subscription;
|
|
24
|
+
terminate(): void;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=WarpMarkerBoxAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WarpMarkerBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/audio/WarpMarkerBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAc,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACvG,OAAO,EAAC,OAAO,EAAc,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,0BAA0B,EAAC,MAAM,8BAA8B,CAAA;AAGvE,qBAAa,oBAAqB,YAAW,UAAU,EAAE,KAAK,EAAE,UAAU;;IACtE,QAAQ,CAAC,IAAI,iBAAgB;gBAUjB,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,aAAa;IAQ3D,UAAU,IAAI,IAAI;IAMlB,YAAY,IAAI,IAAI;IAKpB,IAAI,GAAG,IAAI,aAAa,CAAmB;IAC3C,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,QAAQ,IAAI,MAAM,CAAuC;IAC7D,IAAI,OAAO,IAAI,MAAM,CAAsC;IAC3D,IAAI,UAAU,IAAI,OAAO,CAA0B;IACnD,IAAI,UAAU,IAAI,MAAM,CAAC,oBAAoB,GAAG,0BAA0B,CAAC,CAG1E;IAED,IAAI,QAAQ,IAAI,OAAO,CAGtB;IAED,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY;IAEjD,SAAS,IAAI,IAAI;CAMpB"}
|
|
@@ -0,0 +1,58 @@
|
|
|
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 _WarpMarkerBoxAdapter_instances, _WarpMarkerBoxAdapter_terminator, _WarpMarkerBoxAdapter_context, _WarpMarkerBoxAdapter_box, _WarpMarkerBoxAdapter_notifer, _WarpMarkerBoxAdapter_isSelected, _WarpMarkerBoxAdapter_onChanged;
|
|
13
|
+
import { Notifier, Terminator } from "@opendaw/lib-std";
|
|
14
|
+
import { Propagation } from "@opendaw/lib-box";
|
|
15
|
+
import { AudioPlayMode } from "./AudioPlayMode";
|
|
16
|
+
export class WarpMarkerBoxAdapter {
|
|
17
|
+
constructor(context, box) {
|
|
18
|
+
_WarpMarkerBoxAdapter_instances.add(this);
|
|
19
|
+
this.type = "warp-marker";
|
|
20
|
+
_WarpMarkerBoxAdapter_terminator.set(this, new Terminator());
|
|
21
|
+
_WarpMarkerBoxAdapter_context.set(this, void 0);
|
|
22
|
+
_WarpMarkerBoxAdapter_box.set(this, void 0);
|
|
23
|
+
_WarpMarkerBoxAdapter_notifer.set(this, void 0);
|
|
24
|
+
_WarpMarkerBoxAdapter_isSelected.set(this, false);
|
|
25
|
+
__classPrivateFieldSet(this, _WarpMarkerBoxAdapter_context, context, "f");
|
|
26
|
+
__classPrivateFieldSet(this, _WarpMarkerBoxAdapter_box, box, "f");
|
|
27
|
+
__classPrivateFieldSet(this, _WarpMarkerBoxAdapter_notifer, new Notifier(), "f");
|
|
28
|
+
__classPrivateFieldGet(this, _WarpMarkerBoxAdapter_terminator, "f").own(box.subscribe(Propagation.Children, () => __classPrivateFieldGet(this, _WarpMarkerBoxAdapter_instances, "m", _WarpMarkerBoxAdapter_onChanged).call(this)));
|
|
29
|
+
}
|
|
30
|
+
onSelected() {
|
|
31
|
+
__classPrivateFieldSet(this, _WarpMarkerBoxAdapter_isSelected, true, "f");
|
|
32
|
+
this.optWarping.ifSome(warping => warping.onChanged());
|
|
33
|
+
__classPrivateFieldGet(this, _WarpMarkerBoxAdapter_instances, "m", _WarpMarkerBoxAdapter_onChanged).call(this);
|
|
34
|
+
}
|
|
35
|
+
onDeselected() {
|
|
36
|
+
__classPrivateFieldSet(this, _WarpMarkerBoxAdapter_isSelected, false, "f");
|
|
37
|
+
__classPrivateFieldGet(this, _WarpMarkerBoxAdapter_instances, "m", _WarpMarkerBoxAdapter_onChanged).call(this);
|
|
38
|
+
}
|
|
39
|
+
get box() { return __classPrivateFieldGet(this, _WarpMarkerBoxAdapter_box, "f"); }
|
|
40
|
+
get uuid() { return __classPrivateFieldGet(this, _WarpMarkerBoxAdapter_box, "f").address.uuid; }
|
|
41
|
+
get address() { return __classPrivateFieldGet(this, _WarpMarkerBoxAdapter_box, "f").address; }
|
|
42
|
+
get position() { return __classPrivateFieldGet(this, _WarpMarkerBoxAdapter_box, "f").position.getValue(); }
|
|
43
|
+
get seconds() { return __classPrivateFieldGet(this, _WarpMarkerBoxAdapter_box, "f").seconds.getValue(); }
|
|
44
|
+
get isSelected() { return __classPrivateFieldGet(this, _WarpMarkerBoxAdapter_isSelected, "f"); }
|
|
45
|
+
get optWarping() {
|
|
46
|
+
return __classPrivateFieldGet(this, _WarpMarkerBoxAdapter_box, "f").owner.targetVertex
|
|
47
|
+
.map(vertex => __classPrivateFieldGet(this, _WarpMarkerBoxAdapter_context, "f").boxAdapters.adapterFor(vertex.box, AudioPlayMode.isAudioPlayMode));
|
|
48
|
+
}
|
|
49
|
+
get isAnchor() {
|
|
50
|
+
return this.optWarping.mapOr(({ warpMarkers }) => this === warpMarkers.optAt(0) || this === warpMarkers.optAt(warpMarkers.length() - 1), false);
|
|
51
|
+
}
|
|
52
|
+
subscribe(observer) { return __classPrivateFieldGet(this, _WarpMarkerBoxAdapter_notifer, "f").subscribe(observer); }
|
|
53
|
+
terminate() { __classPrivateFieldGet(this, _WarpMarkerBoxAdapter_terminator, "f").terminate(); }
|
|
54
|
+
}
|
|
55
|
+
_WarpMarkerBoxAdapter_terminator = new WeakMap(), _WarpMarkerBoxAdapter_context = new WeakMap(), _WarpMarkerBoxAdapter_box = new WeakMap(), _WarpMarkerBoxAdapter_notifer = new WeakMap(), _WarpMarkerBoxAdapter_isSelected = new WeakMap(), _WarpMarkerBoxAdapter_instances = new WeakSet(), _WarpMarkerBoxAdapter_onChanged = function _WarpMarkerBoxAdapter_onChanged() {
|
|
56
|
+
__classPrivateFieldGet(this, _WarpMarkerBoxAdapter_notifer, "f").notify();
|
|
57
|
+
this.optWarping.ifSome(warping => warping.onChanged());
|
|
58
|
+
};
|