@opendaw/studio-adapters 0.3.1 → 0.3.3
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/LICENSE +661 -0
- package/dist/AutomatableParameterFieldAdapter.d.ts +9 -5
- package/dist/AutomatableParameterFieldAdapter.d.ts.map +1 -1
- package/dist/AutomatableParameterFieldAdapter.js +61 -40
- package/dist/BoxAdapters.d.ts.map +1 -1
- package/dist/BoxAdapters.js +12 -0
- package/dist/DeviceManualUrls.d.ts +1 -0
- package/dist/DeviceManualUrls.d.ts.map +1 -1
- package/dist/DeviceManualUrls.js +1 -0
- package/dist/ParameterFieldAdapters.d.ts +3 -7
- package/dist/ParameterFieldAdapters.d.ts.map +1 -1
- package/dist/ParameterFieldAdapters.js +2 -15
- package/dist/ParameterOwner.d.ts.map +1 -1
- package/dist/ParameterOwner.js +4 -0
- package/dist/RecordingProcessorOptions.d.ts +4 -0
- package/dist/RecordingProcessorOptions.d.ts.map +1 -1
- package/dist/RecordingProcessorOptions.js +1 -1
- package/dist/RootBoxAdapter.d.ts +2 -0
- package/dist/RootBoxAdapter.d.ts.map +1 -1
- package/dist/RootBoxAdapter.js +8 -2
- package/dist/audio-unit/AudioUnitTracks.d.ts +2 -15
- package/dist/audio-unit/AudioUnitTracks.d.ts.map +1 -1
- package/dist/audio-unit/AudioUnitTracks.js +5 -59
- package/dist/devices/audio-effects/ConvolverDeviceBoxAdapter.d.ts +35 -0
- package/dist/devices/audio-effects/ConvolverDeviceBoxAdapter.d.ts.map +1 -0
- package/dist/devices/audio-effects/ConvolverDeviceBoxAdapter.js +60 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -0
- package/dist/modulation/Modulators.d.ts.map +1 -1
- package/dist/modulation/Modulators.js +11 -2
- package/dist/modulation/RandomModulatorBoxAdapter.d.ts +0 -2
- package/dist/modulation/RandomModulatorBoxAdapter.d.ts.map +1 -1
- package/dist/modulation/RandomModulatorBoxAdapter.js +4 -6
- package/dist/modulation/StepsModulatorBoxAdapter.d.ts +0 -2
- package/dist/modulation/StepsModulatorBoxAdapter.d.ts.map +1 -1
- package/dist/modulation/StepsModulatorBoxAdapter.js +2 -3
- package/dist/preset/PresetDecoder.d.ts.map +1 -1
- package/dist/preset/PresetDecoder.js +27 -31
- package/dist/preset/PresetEncoder.d.ts.map +1 -1
- package/dist/preset/PresetEncoder.js +8 -5
- package/dist/protocols.d.ts +4 -1
- package/dist/protocols.d.ts.map +1 -1
- package/dist/timeline/TrackBoxAdapter.d.ts +1 -0
- package/dist/timeline/TrackBoxAdapter.d.ts.map +1 -1
- package/dist/timeline/TrackBoxAdapter.js +21 -27
- package/dist/transfer/TransferAudioUnits.js +2 -2
- package/dist/transfer/TransferUtils.d.ts +5 -2
- package/dist/transfer/TransferUtils.d.ts.map +1 -1
- package/dist/transfer/TransferUtils.js +41 -5
- package/package.json +11 -11
|
@@ -9,68 +9,14 @@ 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 _AudioUnitTracks_adapter
|
|
13
|
-
import {
|
|
14
|
-
|
|
15
|
-
import { TrackBox } from "@opendaw/studio-boxes";
|
|
16
|
-
import { IndexedBoxAdapterCollection } from "../IndexedBoxAdapterCollection";
|
|
17
|
-
import { TrackBoxAdapter } from "../timeline/TrackBoxAdapter";
|
|
18
|
-
export class AudioUnitTracks {
|
|
12
|
+
var _AudioUnitTracks_adapter;
|
|
13
|
+
import { FieldParameterTracks } from "../timeline/ParameterTracks";
|
|
14
|
+
export class AudioUnitTracks extends FieldParameterTracks {
|
|
19
15
|
constructor(adapter, boxAdapters) {
|
|
16
|
+
super(adapter.box.graph, adapter.box.tracks, boxAdapters);
|
|
20
17
|
_AudioUnitTracks_adapter.set(this, void 0);
|
|
21
|
-
_AudioUnitTracks_regionNotifier.set(this, new Notifier());
|
|
22
|
-
_AudioUnitTracks_collection.set(this, void 0);
|
|
23
|
-
_AudioUnitTracks_subscriptions.set(this, void 0);
|
|
24
|
-
_AudioUnitTracks_subscription.set(this, void 0);
|
|
25
18
|
__classPrivateFieldSet(this, _AudioUnitTracks_adapter, adapter, "f");
|
|
26
|
-
__classPrivateFieldSet(this, _AudioUnitTracks_collection, IndexedBoxAdapterCollection.create(adapter.box.tracks, box => boxAdapters.adapterFor(box, TrackBoxAdapter), Pointers.TrackCollection), "f");
|
|
27
|
-
__classPrivateFieldSet(this, _AudioUnitTracks_subscriptions, UUID.newSet(({ uuid }) => uuid), "f");
|
|
28
|
-
__classPrivateFieldSet(this, _AudioUnitTracks_subscription, __classPrivateFieldGet(this, _AudioUnitTracks_collection, "f").catchupAndSubscribe({
|
|
29
|
-
onAdd: (adapter) => __classPrivateFieldGet(this, _AudioUnitTracks_subscriptions, "f").add({
|
|
30
|
-
uuid: adapter.uuid,
|
|
31
|
-
subscription: adapter.regions.subscribeChanges(() => __classPrivateFieldGet(this, _AudioUnitTracks_regionNotifier, "f").notify())
|
|
32
|
-
}),
|
|
33
|
-
onRemove: ({ uuid }) => __classPrivateFieldGet(this, _AudioUnitTracks_subscriptions, "f").removeByKey(uuid).subscription.terminate(),
|
|
34
|
-
onReorder: (_adapter) => { }
|
|
35
|
-
}), "f");
|
|
36
|
-
}
|
|
37
|
-
create(type, target, index) {
|
|
38
|
-
const graph = __classPrivateFieldGet(this, _AudioUnitTracks_adapter, "f").box.graph;
|
|
39
|
-
const tracks = __classPrivateFieldGet(this, _AudioUnitTracks_adapter, "f").box.tracks;
|
|
40
|
-
TrackBox.create(graph, UUID.generate(), box => {
|
|
41
|
-
box.index.setValue(index ?? __classPrivateFieldGet(this, _AudioUnitTracks_collection, "f").getMinFreeIndex());
|
|
42
|
-
box.type.setValue(type);
|
|
43
|
-
box.tracks.refer(tracks);
|
|
44
|
-
box.target.refer(target);
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
controls(target) {
|
|
48
|
-
return Option.wrap(__classPrivateFieldGet(this, _AudioUnitTracks_collection, "f").adapters()
|
|
49
|
-
.find(adapter => adapter.target.targetVertex.contains(target), false));
|
|
50
|
-
}
|
|
51
|
-
delete(adapter) {
|
|
52
|
-
const adapters = __classPrivateFieldGet(this, _AudioUnitTracks_collection, "f").adapters();
|
|
53
|
-
const deleteIndex = adapters.indexOf(adapter);
|
|
54
|
-
if (deleteIndex === -1) {
|
|
55
|
-
return panic(`Cannot delete ${adapter}. Does not exist.`);
|
|
56
|
-
}
|
|
57
|
-
for (let index = deleteIndex + 1; index < adapters.length; index++) {
|
|
58
|
-
adapters[index].indexField.setValue(index - 1);
|
|
59
|
-
}
|
|
60
|
-
adapter.box.delete();
|
|
61
19
|
}
|
|
62
20
|
get audioUnitBox() { return __classPrivateFieldGet(this, _AudioUnitTracks_adapter, "f").box; }
|
|
63
|
-
get collection() { return __classPrivateFieldGet(this, _AudioUnitTracks_collection, "f"); }
|
|
64
|
-
values() { return __classPrivateFieldGet(this, _AudioUnitTracks_collection, "f").adapters(); }
|
|
65
|
-
catchupAndSubscribe(listener) {
|
|
66
|
-
return __classPrivateFieldGet(this, _AudioUnitTracks_collection, "f").catchupAndSubscribe(listener);
|
|
67
|
-
}
|
|
68
|
-
subscribeAnyChange(observer) { return __classPrivateFieldGet(this, _AudioUnitTracks_regionNotifier, "f").subscribe(observer); }
|
|
69
|
-
terminate() {
|
|
70
|
-
__classPrivateFieldGet(this, _AudioUnitTracks_collection, "f").terminate();
|
|
71
|
-
__classPrivateFieldGet(this, _AudioUnitTracks_subscription, "f").terminate();
|
|
72
|
-
__classPrivateFieldGet(this, _AudioUnitTracks_subscriptions, "f").forEach(({ subscription }) => subscription.terminate());
|
|
73
|
-
__classPrivateFieldGet(this, _AudioUnitTracks_subscriptions, "f").clear();
|
|
74
|
-
}
|
|
75
21
|
}
|
|
76
|
-
_AudioUnitTracks_adapter = new WeakMap()
|
|
22
|
+
_AudioUnitTracks_adapter = new WeakMap();
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { UUID } from "@opendaw/lib-std";
|
|
2
|
+
import { Address, BooleanField, Int32Field, PointerField, StringField } from "@opendaw/lib-box";
|
|
3
|
+
import { ConvolverDeviceBox } from "@opendaw/studio-boxes";
|
|
4
|
+
import { Pointers } from "@opendaw/studio-enums";
|
|
5
|
+
import { AudioEffectDeviceAdapter, DeviceHost } from "../../DeviceAdapter";
|
|
6
|
+
import { LabeledAudioOutput } from "../../LabeledAudioOutputsOwner";
|
|
7
|
+
import { BoxAdaptersContext } from "../../BoxAdaptersContext";
|
|
8
|
+
import { AudioUnitBoxAdapter } from "../../audio-unit/AudioUnitBoxAdapter";
|
|
9
|
+
export declare class ConvolverDeviceBoxAdapter implements AudioEffectDeviceAdapter {
|
|
10
|
+
#private;
|
|
11
|
+
static readonly MAX_IR_FRAMES = 770048;
|
|
12
|
+
readonly type = "audio-effect";
|
|
13
|
+
readonly accepts = "audio";
|
|
14
|
+
readonly manualUrl = "manuals/devices/audio/convolver";
|
|
15
|
+
readonly namedParameter: {
|
|
16
|
+
readonly wet: import("../..").AutomatableParameterFieldAdapter<number>;
|
|
17
|
+
readonly dry: import("../..").AutomatableParameterFieldAdapter<number>;
|
|
18
|
+
readonly preDelay: import("../..").AutomatableParameterFieldAdapter<number>;
|
|
19
|
+
};
|
|
20
|
+
constructor(context: BoxAdaptersContext, box: ConvolverDeviceBox);
|
|
21
|
+
get box(): ConvolverDeviceBox;
|
|
22
|
+
get uuid(): UUID.Bytes;
|
|
23
|
+
get address(): Address;
|
|
24
|
+
get indexField(): Int32Field;
|
|
25
|
+
get labelField(): StringField;
|
|
26
|
+
get enabledField(): BooleanField;
|
|
27
|
+
get minimizedField(): BooleanField;
|
|
28
|
+
get host(): PointerField<Pointers.AudioEffectHost>;
|
|
29
|
+
get fileField(): PointerField<Pointers.AudioFile>;
|
|
30
|
+
deviceHost(): DeviceHost;
|
|
31
|
+
audioUnitBoxAdapter(): AudioUnitBoxAdapter;
|
|
32
|
+
labeledAudioOutputs(): Iterable<LabeledAudioOutput>;
|
|
33
|
+
terminate(): void;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=ConvolverDeviceBoxAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConvolverDeviceBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/audio-effects/ConvolverDeviceBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,IAAI,EAAe,MAAM,kBAAkB,CAAA;AAC1E,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAC7F,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,wBAAwB,EAAE,UAAU,EAAU,MAAM,qBAAqB,CAAA;AACjF,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAG3D,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAA;AAExE,qBAAa,yBAA0B,YAAW,wBAAwB;;IAEtE,MAAM,CAAC,QAAQ,CAAC,aAAa,UAAS;IAEtC,QAAQ,CAAC,IAAI,kBAAiB;IAC9B,QAAQ,CAAC,OAAO,WAAU;IAC1B,QAAQ,CAAC,SAAS,qCAA6B;IAM/C,QAAQ,CAAC,cAAc;;;;MAAA;gBAEX,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,kBAAkB;IAOhE,IAAI,GAAG,IAAI,kBAAkB,CAAmB;IAChD,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,UAAU,IAAI,UAAU,CAAyB;IACrD,IAAI,UAAU,IAAI,WAAW,CAAyB;IACtD,IAAI,YAAY,IAAI,YAAY,CAA2B;IAC3D,IAAI,cAAc,IAAI,YAAY,CAA6B;IAC/D,IAAI,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAwB;IAC1E,IAAI,SAAS,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAwB;IAEzE,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAEzC,mBAAmB,IAAI,QAAQ,CAAC,kBAAkB,CAAC;IAIpD,SAAS,IAAI,IAAI;CAoBpB"}
|
|
@@ -0,0 +1,60 @@
|
|
|
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 _ConvolverDeviceBoxAdapter_instances, _ConvolverDeviceBoxAdapter_context, _ConvolverDeviceBoxAdapter_box, _ConvolverDeviceBoxAdapter_parametric, _ConvolverDeviceBoxAdapter_wrapParameters;
|
|
13
|
+
import { Option, StringMapping, ValueMapping } from "@opendaw/lib-std";
|
|
14
|
+
import { Devices } from "../../DeviceAdapter";
|
|
15
|
+
import { DeviceManualUrls } from "../../DeviceManualUrls";
|
|
16
|
+
import { ParameterAdapterSet } from "../../ParameterAdapterSet";
|
|
17
|
+
export class ConvolverDeviceBoxAdapter {
|
|
18
|
+
constructor(context, box) {
|
|
19
|
+
_ConvolverDeviceBoxAdapter_instances.add(this);
|
|
20
|
+
this.type = "audio-effect";
|
|
21
|
+
this.accepts = "audio";
|
|
22
|
+
this.manualUrl = DeviceManualUrls.Convolver;
|
|
23
|
+
_ConvolverDeviceBoxAdapter_context.set(this, void 0);
|
|
24
|
+
_ConvolverDeviceBoxAdapter_box.set(this, void 0);
|
|
25
|
+
_ConvolverDeviceBoxAdapter_parametric.set(this, void 0);
|
|
26
|
+
__classPrivateFieldSet(this, _ConvolverDeviceBoxAdapter_context, context, "f");
|
|
27
|
+
__classPrivateFieldSet(this, _ConvolverDeviceBoxAdapter_box, box, "f");
|
|
28
|
+
__classPrivateFieldSet(this, _ConvolverDeviceBoxAdapter_parametric, new ParameterAdapterSet(__classPrivateFieldGet(this, _ConvolverDeviceBoxAdapter_context, "f")), "f");
|
|
29
|
+
this.namedParameter = __classPrivateFieldGet(this, _ConvolverDeviceBoxAdapter_instances, "m", _ConvolverDeviceBoxAdapter_wrapParameters).call(this, box);
|
|
30
|
+
}
|
|
31
|
+
get box() { return __classPrivateFieldGet(this, _ConvolverDeviceBoxAdapter_box, "f"); }
|
|
32
|
+
get uuid() { return __classPrivateFieldGet(this, _ConvolverDeviceBoxAdapter_box, "f").address.uuid; }
|
|
33
|
+
get address() { return __classPrivateFieldGet(this, _ConvolverDeviceBoxAdapter_box, "f").address; }
|
|
34
|
+
get indexField() { return __classPrivateFieldGet(this, _ConvolverDeviceBoxAdapter_box, "f").index; }
|
|
35
|
+
get labelField() { return __classPrivateFieldGet(this, _ConvolverDeviceBoxAdapter_box, "f").label; }
|
|
36
|
+
get enabledField() { return __classPrivateFieldGet(this, _ConvolverDeviceBoxAdapter_box, "f").enabled; }
|
|
37
|
+
get minimizedField() { return __classPrivateFieldGet(this, _ConvolverDeviceBoxAdapter_box, "f").minimized; }
|
|
38
|
+
get host() { return __classPrivateFieldGet(this, _ConvolverDeviceBoxAdapter_box, "f").host; }
|
|
39
|
+
get fileField() { return __classPrivateFieldGet(this, _ConvolverDeviceBoxAdapter_box, "f").file; }
|
|
40
|
+
deviceHost() {
|
|
41
|
+
return __classPrivateFieldGet(this, _ConvolverDeviceBoxAdapter_context, "f").boxAdapters
|
|
42
|
+
.adapterFor(__classPrivateFieldGet(this, _ConvolverDeviceBoxAdapter_box, "f").host.targetVertex.unwrap("no device-host").box, Devices.isHost);
|
|
43
|
+
}
|
|
44
|
+
audioUnitBoxAdapter() { return this.deviceHost().audioUnitBoxAdapter(); }
|
|
45
|
+
*labeledAudioOutputs() {
|
|
46
|
+
yield { address: this.address, label: this.labelField.getValue(), children: () => Option.None };
|
|
47
|
+
}
|
|
48
|
+
terminate() {
|
|
49
|
+
__classPrivateFieldGet(this, _ConvolverDeviceBoxAdapter_parametric, "f").terminate();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
_ConvolverDeviceBoxAdapter_context = new WeakMap(), _ConvolverDeviceBoxAdapter_box = new WeakMap(), _ConvolverDeviceBoxAdapter_parametric = new WeakMap(), _ConvolverDeviceBoxAdapter_instances = new WeakSet(), _ConvolverDeviceBoxAdapter_wrapParameters = function _ConvolverDeviceBoxAdapter_wrapParameters(box) {
|
|
53
|
+
return {
|
|
54
|
+
wet: __classPrivateFieldGet(this, _ConvolverDeviceBoxAdapter_parametric, "f").createParameter(box.wet, ValueMapping.DefaultDecibel, StringMapping.decible, "Wet"),
|
|
55
|
+
dry: __classPrivateFieldGet(this, _ConvolverDeviceBoxAdapter_parametric, "f").createParameter(box.dry, ValueMapping.DefaultDecibel, StringMapping.decible, "Dry"),
|
|
56
|
+
preDelay: __classPrivateFieldGet(this, _ConvolverDeviceBoxAdapter_parametric, "f").createParameter(box.preDelay, ValueMapping.powerByCenter(0.050, 0.0, 0.500), StringMapping.numeric({ unit: "s", fractionDigits: 1, unitPrefix: true }), "Pre-Delay")
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
// WASM CONTRACT: mirrors `MAX_IR_FRAMES` (crates/dsp/src/convolution.rs), engine-rate frames after resampling.
|
|
60
|
+
ConvolverDeviceBoxAdapter.MAX_IR_FRAMES = 770048;
|
package/dist/index.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ export * from "./NoteSignal";
|
|
|
24
24
|
export * from "./NoteStreamReceiver";
|
|
25
25
|
export * from "./ParameterAdapterSet";
|
|
26
26
|
export * from "./ParameterFieldAdapters";
|
|
27
|
+
export * from "./ParameterOwner";
|
|
27
28
|
export * from "./Parsing";
|
|
28
29
|
export * from "./PeakMeterProcessorOptions";
|
|
29
30
|
export * from "./PianoModeAdapter";
|
|
@@ -56,6 +57,7 @@ export * from "./devices/audio-effects/AudioEffectComposite/AudioEffectComposite
|
|
|
56
57
|
export * from "./devices/audio-effects/AudioEffectCompositeBoxAdapter";
|
|
57
58
|
export * from "./devices/audio-effects/AutotuneDeviceBoxAdapter";
|
|
58
59
|
export * from "./devices/audio-effects/CompressorDeviceBoxAdapter";
|
|
60
|
+
export * from "./devices/audio-effects/ConvolverDeviceBoxAdapter";
|
|
59
61
|
export * from "./devices/audio-effects/CrusherDeviceBoxAdapter";
|
|
60
62
|
export * from "./devices/audio-effects/DattorroReverbDeviceBoxAdapter";
|
|
61
63
|
export * from "./devices/audio-effects/DelayDeviceBoxAdapter";
|
|
@@ -126,6 +128,13 @@ export * from "./modular/modules/delay";
|
|
|
126
128
|
export * from "./modular/modules/gain";
|
|
127
129
|
export * from "./modular/modules/multiplier";
|
|
128
130
|
export * from "./modular/user-interface";
|
|
131
|
+
export * from "./modulation/LfoModulatorBoxAdapter";
|
|
132
|
+
export * from "./modulation/MacroModulatorBoxAdapter";
|
|
133
|
+
export * from "./modulation/ModulationBoxAdapter";
|
|
134
|
+
export * from "./modulation/ModulatorBoxAdapter";
|
|
135
|
+
export * from "./modulation/Modulators";
|
|
136
|
+
export * from "./modulation/RandomModulatorBoxAdapter";
|
|
137
|
+
export * from "./modulation/StepsModulatorBoxAdapter";
|
|
129
138
|
export * from "./nam/NeuralAmpModelBoxAdapter";
|
|
130
139
|
export * from "./offline-renderer";
|
|
131
140
|
export * from "./preset/PresetDecoder";
|
|
@@ -158,6 +167,7 @@ export * from "./timeline/AudioContentBoxAdapter";
|
|
|
158
167
|
export * from "./timeline/ClipBoxAdapter";
|
|
159
168
|
export * from "./timeline/MarkerBoxAdapter";
|
|
160
169
|
export * from "./timeline/MarkerTrackAdapter";
|
|
170
|
+
export * from "./timeline/ParameterTracks";
|
|
161
171
|
export * from "./timeline/RegionBoxAdapter";
|
|
162
172
|
export * from "./timeline/RegionEditing";
|
|
163
173
|
export * from "./timeline/SignatureEventBoxAdapter";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -26,6 +26,7 @@ export * from "./NoteSignal";
|
|
|
26
26
|
export * from "./NoteStreamReceiver";
|
|
27
27
|
export * from "./ParameterAdapterSet";
|
|
28
28
|
export * from "./ParameterFieldAdapters";
|
|
29
|
+
export * from "./ParameterOwner";
|
|
29
30
|
export * from "./Parsing";
|
|
30
31
|
export * from "./PeakMeterProcessorOptions";
|
|
31
32
|
export * from "./PianoModeAdapter";
|
|
@@ -58,6 +59,7 @@ export * from "./devices/audio-effects/AudioEffectComposite/AudioEffectComposite
|
|
|
58
59
|
export * from "./devices/audio-effects/AudioEffectCompositeBoxAdapter";
|
|
59
60
|
export * from "./devices/audio-effects/AutotuneDeviceBoxAdapter";
|
|
60
61
|
export * from "./devices/audio-effects/CompressorDeviceBoxAdapter";
|
|
62
|
+
export * from "./devices/audio-effects/ConvolverDeviceBoxAdapter";
|
|
61
63
|
export * from "./devices/audio-effects/CrusherDeviceBoxAdapter";
|
|
62
64
|
export * from "./devices/audio-effects/DattorroReverbDeviceBoxAdapter";
|
|
63
65
|
export * from "./devices/audio-effects/DelayDeviceBoxAdapter";
|
|
@@ -128,6 +130,13 @@ export * from "./modular/modules/delay";
|
|
|
128
130
|
export * from "./modular/modules/gain";
|
|
129
131
|
export * from "./modular/modules/multiplier";
|
|
130
132
|
export * from "./modular/user-interface";
|
|
133
|
+
export * from "./modulation/LfoModulatorBoxAdapter";
|
|
134
|
+
export * from "./modulation/MacroModulatorBoxAdapter";
|
|
135
|
+
export * from "./modulation/ModulationBoxAdapter";
|
|
136
|
+
export * from "./modulation/ModulatorBoxAdapter";
|
|
137
|
+
export * from "./modulation/Modulators";
|
|
138
|
+
export * from "./modulation/RandomModulatorBoxAdapter";
|
|
139
|
+
export * from "./modulation/StepsModulatorBoxAdapter";
|
|
131
140
|
export * from "./nam/NeuralAmpModelBoxAdapter";
|
|
132
141
|
export * from "./offline-renderer";
|
|
133
142
|
export * from "./preset/PresetDecoder";
|
|
@@ -160,6 +169,7 @@ export * from "./timeline/AudioContentBoxAdapter";
|
|
|
160
169
|
export * from "./timeline/ClipBoxAdapter";
|
|
161
170
|
export * from "./timeline/MarkerBoxAdapter";
|
|
162
171
|
export * from "./timeline/MarkerTrackAdapter";
|
|
172
|
+
export * from "./timeline/ParameterTracks";
|
|
163
173
|
export * from "./timeline/RegionBoxAdapter";
|
|
164
174
|
export * from "./timeline/RegionEditing";
|
|
165
175
|
export * from "./timeline/SignatureEventBoxAdapter";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modulators.d.ts","sourceRoot":"","sources":["../../src/modulation/Modulators.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAElB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"Modulators.d.ts","sourceRoot":"","sources":["../../src/modulation/Modulators.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAElB,iBAAiB,EAEpB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAM,KAAK,EAAe,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAiB,IAAI,EAAgC,SAAS,EAAO,MAAM,kBAAkB,CAAA;AACpG,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAA;AAGlD,yBAAiB,UAAU,CAAC;IACjB,MAAM,SAAS,GAAI,SAAS,kBAAkB,EAAE,QAAQ,MAAM,KAAG,eACkC,CAAA;IAEnG,MAAM,WAAW,GAAI,SAAS,kBAAkB,EAAE,QAAQ,MAAM,KAAG,iBACoC,CAAA;IAEvG,MAAM,WAAW,GAAI,SAAS,kBAAkB,EAAE,QAAQ,MAAM,KAAG,iBACoC,CAAA;IAEvG,MAAM,YAAY,GAAI,SAAS,kBAAkB,EAAE,QAAQ,MAAM,KAAG,kBACqC,CAAA;IAEhH,KAAY,IAAI,GAAG;QACf,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAA;KAC1D,CAAA;IAEM,MAAM,KAAK,EAAE,aAAa,CAAC,IAAI,CAKrC,CAAA;IAGM,MAAM,OAAO,GAAI,SAAS,kBAAkB,EAAE,WAAW,YAAY,EAAE,MAAM,IAAI,KAAG,YAyB1F,CAAA;IAGM,MAAM,SAAS,GAAI,SAAS,kBAAkB,EAAE,WAAW,YAAY,KAAG,YACxC,CAAA;IAKlC,MAAM,YAAY,GAAI,SAAS,kBAAkB,EAC3B,YAAY,aAAa,CAAC,YAAY,CAAC,KAAG,aAAa,CAAC,YAAY,CAehG,CAAA;IAGM,MAAM,SAAS,GAAI,SAAS,kBAAkB,EAAE,YAAY,aAAa,CAAC,YAAY,CAAC,KAAG,IAMhG,CAAA;IAIM,MAAM,IAAI,GAAI,SAAS,kBAAkB,EAC3B,YAAY,aAAa,CAAC,YAAY,CAAC,EACvC,QAAQ,YAAY,KAAG,IAW3C,CAAA;IAqBM,MAAM,MAAM,GAAI,SAAS,kBAAkB,EAC3B,WAAW,YAAY,EACvB,QAAQ,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAClC,QAAO,SAAgB,KAAG,aAM3C,CAAA;CACT"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { LfoModulatorBox, MacroModulatorBox, ModulationBox, RandomModulatorBox, StepsModulatorBox } from "@opendaw/studio-boxes";
|
|
2
|
-
import { ByteArrayInput, panic, Strings, UUID } from "@opendaw/lib-std";
|
|
1
|
+
import { LfoModulatorBox, MacroModulatorBox, ModulationBox, RandomModulatorBox, StepsModulatorBox, TrackBox } from "@opendaw/studio-boxes";
|
|
2
|
+
import { ByteArrayInput, isInstanceOf, panic, Strings, UUID } from "@opendaw/lib-std";
|
|
3
3
|
/// Every caller is inside an `editing.modify`, so nothing here opens a transaction.
|
|
4
4
|
export var Modulators;
|
|
5
5
|
(function (Modulators) {
|
|
@@ -18,6 +18,15 @@ export var Modulators;
|
|
|
18
18
|
const replacement = kind.create(context);
|
|
19
19
|
modulator.assignments.pointerHub.incoming().slice()
|
|
20
20
|
.forEach((pointer) => pointer.refer(replacement.assignments));
|
|
21
|
+
// An assignment's depth lane is parented to its SOURCE, so it would die with the old box while the
|
|
22
|
+
// assignment it belongs to survives. The old kind's own parameter lanes have no meaning in the new
|
|
23
|
+
// kind and are left to the cascade.
|
|
24
|
+
modulator.tracks.pointerHub.incoming().slice()
|
|
25
|
+
.map((pointer) => pointer.box)
|
|
26
|
+
.filter((box) => isInstanceOf(box, TrackBox))
|
|
27
|
+
.filter((track) => track.target.targetVertex
|
|
28
|
+
.mapOr(vertex => isInstanceOf(vertex.box, ModulationBox), false))
|
|
29
|
+
.forEach((track) => track.tracks.refer(replacement.tracks));
|
|
21
30
|
const label = modulator.label.getValue();
|
|
22
31
|
const index = modulator.index.getValue();
|
|
23
32
|
const enabled = modulator.enabled.getValue();
|
|
@@ -8,12 +8,10 @@ export declare class RandomModulatorBoxAdapter extends ModulatorBoxAdapter<Rando
|
|
|
8
8
|
static readonly MaxLevels = 32;
|
|
9
9
|
static readonly MaxSeed = 999999;
|
|
10
10
|
readonly namedParameter: {
|
|
11
|
-
readonly loop: import("..").AutomatableParameterFieldAdapter<number>;
|
|
12
11
|
readonly rateSync: import("..").AutomatableParameterFieldAdapter<number>;
|
|
13
12
|
readonly rateAbsolute: import("..").AutomatableParameterFieldAdapter<number>;
|
|
14
13
|
readonly phase: import("..").AutomatableParameterFieldAdapter<number>;
|
|
15
14
|
readonly smooth: import("..").AutomatableParameterFieldAdapter<number>;
|
|
16
|
-
readonly levels: import("..").AutomatableParameterFieldAdapter<number>;
|
|
17
15
|
};
|
|
18
16
|
constructor(context: BoxAdaptersContext, box: RandomModulatorBox);
|
|
19
17
|
get loop(): int;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RandomModulatorBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/modulation/RandomModulatorBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,GAAG,EAAiB,SAAS,EAAe,MAAM,kBAAkB,CAAA;AAC5E,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AAExD,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAA;AAGzD,qBAAa,yBAA0B,SAAQ,mBAAmB,CAAC,kBAAkB,CAAC;;IAClF,MAAM,CAAC,QAAQ,CAAC,OAAO,MAAK;IAC5B,MAAM,CAAC,QAAQ,CAAC,SAAS,MAAK;IAC9B,MAAM,CAAC,QAAQ,CAAC,OAAO,UAAS;IAEhC,QAAQ,CAAC,cAAc
|
|
1
|
+
{"version":3,"file":"RandomModulatorBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/modulation/RandomModulatorBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,GAAG,EAAiB,SAAS,EAAe,MAAM,kBAAkB,CAAA;AAC5E,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AAExD,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAA;AAGzD,qBAAa,yBAA0B,SAAQ,mBAAmB,CAAC,kBAAkB,CAAC;;IAClF,MAAM,CAAC,QAAQ,CAAC,OAAO,MAAK;IAC5B,MAAM,CAAC,QAAQ,CAAC,SAAS,MAAK;IAC9B,MAAM,CAAC,QAAQ,CAAC,OAAO,UAAS;IAEhC,QAAQ,CAAC,cAAc;;;;;MAAA;gBAEX,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,kBAAkB;IAMhE,IAAI,IAAI,IAAI,GAAG,CAAkC;IAEjD,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,SAAS;IAS3B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;IAUhC,MAAM,IAAI,IAAI;CA6BjB"}
|
|
@@ -3,7 +3,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
3
3
|
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");
|
|
4
4
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
5
|
};
|
|
6
|
-
var _RandomModulatorBoxAdapter_instances,
|
|
6
|
+
var _RandomModulatorBoxAdapter_instances, _RandomModulatorBoxAdapter_localIndex, _RandomModulatorBoxAdapter_quantize, _RandomModulatorBoxAdapter_wrapParameters;
|
|
7
7
|
import { StringMapping, ValueMapping } from "@opendaw/lib-std";
|
|
8
8
|
import { LfoModulatorBoxAdapter } from "./LfoModulatorBoxAdapter";
|
|
9
9
|
import { ModulatorBoxAdapter } from "./ModulatorBoxAdapter";
|
|
@@ -35,9 +35,9 @@ export class RandomModulatorBoxAdapter extends ModulatorBoxAdapter {
|
|
|
35
35
|
const ramp = Math.min(1.0, (step - index) / smooth);
|
|
36
36
|
return previous + (current - previous) * ramp * ramp * (3.0 - 2.0 * ramp);
|
|
37
37
|
}
|
|
38
|
-
reseed() { this.box.seed.setValue(Math.floor(Math.random() *
|
|
38
|
+
reseed() { this.box.seed.setValue(Math.floor(Math.random() * RandomModulatorBoxAdapter.MaxSeed)); }
|
|
39
39
|
}
|
|
40
|
-
|
|
40
|
+
_RandomModulatorBoxAdapter_instances = new WeakSet(), _RandomModulatorBoxAdapter_localIndex = function _RandomModulatorBoxAdapter_localIndex(index) {
|
|
41
41
|
const length = this.loop;
|
|
42
42
|
return length > 0 ? ((index % length) + length) % length : index | 0;
|
|
43
43
|
}, _RandomModulatorBoxAdapter_quantize = function _RandomModulatorBoxAdapter_quantize(value) {
|
|
@@ -49,12 +49,10 @@ _a = RandomModulatorBoxAdapter, _RandomModulatorBoxAdapter_instances = new WeakS
|
|
|
49
49
|
return Math.min(steps, Math.max(0, Math.floor((value + 1.0) * 0.5 * steps + 0.5))) / steps * 2.0 - 1.0;
|
|
50
50
|
}, _RandomModulatorBoxAdapter_wrapParameters = function _RandomModulatorBoxAdapter_wrapParameters(box) {
|
|
51
51
|
return {
|
|
52
|
-
loop: this.parametric.createParameter(box.loop, ValueMapping.linearInteger(0, _a.MaxLoop), StringMapping.numeric({ unit: "" }), "Loop"),
|
|
53
52
|
rateSync: this.parametric.createParameter(box.rateSync, ValueMapping.linearInteger(0, LfoModulatorBoxAdapter.RateStrings.length - 1), StringMapping.indices("", LfoModulatorBoxAdapter.RateStrings), "Sync"),
|
|
54
53
|
rateAbsolute: this.parametric.createParameter(box.rateAbsolute, ValueMapping.powerByCenter(LfoModulatorBoxAdapter.CenterAbsoluteRate, 0.0, LfoModulatorBoxAdapter.MaxAbsoluteRate), StringMapping.numeric({ unit: "Hz", fractionDigits: 2 }), "Free"),
|
|
55
54
|
phase: this.parametric.createParameter(box.phase, ValueMapping.unipolar(), StringMapping.percent({ fractionDigits: 0 }), "Phase"),
|
|
56
|
-
smooth: this.parametric.createParameter(box.smooth, ValueMapping.unipolar(), StringMapping.percent({ fractionDigits: 0 }), "Smooth")
|
|
57
|
-
levels: this.parametric.createParameter(box.levels, ValueMapping.linearInteger(0, _a.MaxLevels), StringMapping.numeric({ unit: "" }), "Levels")
|
|
55
|
+
smooth: this.parametric.createParameter(box.smooth, ValueMapping.unipolar(), StringMapping.percent({ fractionDigits: 0 }), "Smooth")
|
|
58
56
|
};
|
|
59
57
|
};
|
|
60
58
|
RandomModulatorBoxAdapter.MaxLoop = 64;
|
|
@@ -20,12 +20,10 @@ export declare class StepsModulatorBoxAdapter extends ModulatorBoxAdapter<StepsM
|
|
|
20
20
|
static readonly MaxSteps = 64;
|
|
21
21
|
static readonly DirectionStrings: ReadonlyArray<string>;
|
|
22
22
|
readonly namedParameter: {
|
|
23
|
-
readonly count: import("..").AutomatableParameterFieldAdapter<number>;
|
|
24
23
|
readonly rateSync: import("..").AutomatableParameterFieldAdapter<number>;
|
|
25
24
|
readonly rateAbsolute: import("..").AutomatableParameterFieldAdapter<number>;
|
|
26
25
|
readonly phase: import("..").AutomatableParameterFieldAdapter<number>;
|
|
27
26
|
readonly smooth: import("..").AutomatableParameterFieldAdapter<number>;
|
|
28
|
-
readonly direction: import("..").AutomatableParameterFieldAdapter<number>;
|
|
29
27
|
};
|
|
30
28
|
constructor(context: BoxAdaptersContext, box: StepsModulatorBox);
|
|
31
29
|
get count(): int;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepsModulatorBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/modulation/StepsModulatorBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAC,GAAG,EAAiB,SAAS,EAAe,MAAM,kBAAkB,CAAA;AAC5E,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AAExD,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAA;AAGzD,oBAAY,cAAc;IAAE,OAAO,IAAA;IAAE,QAAQ,IAAA;IAAE,QAAQ,IAAA;IAAE,SAAS,IAAA;IAAE,MAAM,IAAA;CAAC;AAE3E,MAAM,MAAM,SAAS,GAAG;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,GAAG,CAAC;IAAC,EAAE,EAAE,GAAG,CAAA;CAAC,CAAA;AAEhE,qBAAa,wBAAyB,SAAQ,mBAAmB,CAAC,iBAAiB,CAAC;;IAChF,MAAM,CAAC,QAAQ,CAAC,QAAQ,MAAK;IAC7B,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,aAAa,CAAC,MAAM,CAAC,CAA8D;IAErH,QAAQ,CAAC,cAAc
|
|
1
|
+
{"version":3,"file":"StepsModulatorBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/modulation/StepsModulatorBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAC,GAAG,EAAiB,SAAS,EAAe,MAAM,kBAAkB,CAAA;AAC5E,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AAExD,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAA;AAGzD,oBAAY,cAAc;IAAE,OAAO,IAAA;IAAE,QAAQ,IAAA;IAAE,QAAQ,IAAA;IAAE,SAAS,IAAA;IAAE,MAAM,IAAA;CAAC;AAE3E,MAAM,MAAM,SAAS,GAAG;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,GAAG,CAAC;IAAC,EAAE,EAAE,GAAG,CAAA;CAAC,CAAA;AAEhE,qBAAa,wBAAyB,SAAQ,mBAAmB,CAAC,iBAAiB,CAAC;;IAChF,MAAM,CAAC,QAAQ,CAAC,QAAQ,MAAK;IAC7B,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,aAAa,CAAC,MAAM,CAAC,CAA8D;IAErH,QAAQ,CAAC,cAAc;;;;;MAAA;gBAEX,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,iBAAiB;IAM/D,IAAI,KAAK,IAAI,GAAG,CAAmC;IACnD,IAAI,KAAK,IAAI,aAAa,CAAC,YAAY,CAAC,CAAiC;IAGzE,IAAI,MAAM,IAAI,aAAa,CAAC,SAAS,CAAC,CAerC;IAED,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,SAAS;IA6BtD,IAAI,OAAO,IAAI,SAAS,CAAiD;IAEzE,OAAO,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM;IAElC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS;IAElC,KAAK,IAAI,IAAI;IAKb,SAAS,IAAI,IAAI;IAEjB,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI;CA2B5B"}
|
|
@@ -37,6 +37,7 @@ export class StepsModulatorBoxAdapter extends ModulatorBoxAdapter {
|
|
|
37
37
|
return count < 3
|
|
38
38
|
? [{ ascending: true, from: 0, to: count }]
|
|
39
39
|
: [{ ascending: true, from: 0, to: count - 1 }, { ascending: false, from: 1, to: count }];
|
|
40
|
+
// Random reorders per cycle, so there is no one pass to draw: the display shows a forward one.
|
|
40
41
|
default:
|
|
41
42
|
return [{ ascending: true, from: 0, to: count }];
|
|
42
43
|
}
|
|
@@ -88,12 +89,10 @@ _a = StepsModulatorBoxAdapter, _StepsModulatorBoxAdapter_instances = new WeakSet
|
|
|
88
89
|
return this.steps.slice(0, Math.max(1, Math.min(this.count, _a.MaxSteps)));
|
|
89
90
|
}, _StepsModulatorBoxAdapter_wrapParameters = function _StepsModulatorBoxAdapter_wrapParameters(box) {
|
|
90
91
|
return {
|
|
91
|
-
count: this.parametric.createParameter(box.count, ValueMapping.linearInteger(1, _a.MaxSteps), StringMapping.numeric({ unit: "" }), "Steps"),
|
|
92
92
|
rateSync: this.parametric.createParameter(box.rateSync, ValueMapping.linearInteger(0, LfoModulatorBoxAdapter.RateStrings.length - 1), StringMapping.indices("", LfoModulatorBoxAdapter.RateStrings), "Sync"),
|
|
93
93
|
rateAbsolute: this.parametric.createParameter(box.rateAbsolute, ValueMapping.powerByCenter(LfoModulatorBoxAdapter.CenterAbsoluteRate, 0.0, LfoModulatorBoxAdapter.MaxAbsoluteRate), StringMapping.numeric({ unit: "Hz", fractionDigits: 2 }), "Free"),
|
|
94
94
|
phase: this.parametric.createParameter(box.phase, ValueMapping.unipolar(), StringMapping.percent({ fractionDigits: 0 }), "Phase"),
|
|
95
|
-
smooth: this.parametric.createParameter(box.smooth, ValueMapping.unipolar(), StringMapping.percent({ fractionDigits: 0 }), "Smooth")
|
|
96
|
-
direction: this.parametric.createParameter(box.direction, ValueMapping.linearInteger(0, _a.DirectionStrings.length - 1), StringMapping.indices("", _a.DirectionStrings), "Mode")
|
|
95
|
+
smooth: this.parametric.createParameter(box.smooth, ValueMapping.unipolar(), StringMapping.percent({ fractionDigits: 0 }), "Smooth")
|
|
97
96
|
};
|
|
98
97
|
};
|
|
99
98
|
StepsModulatorBoxAdapter.MaxSteps = 64;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PresetDecoder.d.ts","sourceRoot":"","sources":["../../src/preset/PresetDecoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,OAAO,EAGP,GAAG,EAQN,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAyB,KAAK,EAA2B,MAAM,kBAAkB,CAAA;AACxF,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAA;AAElD,OAAO,EAEH,YAAY,EAOf,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"PresetDecoder.d.ts","sourceRoot":"","sources":["../../src/preset/PresetDecoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,OAAO,EAGP,GAAG,EAQN,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAyB,KAAK,EAA2B,MAAM,kBAAkB,CAAA;AACxF,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAA;AAElD,OAAO,EAEH,YAAY,EAOf,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAI3C,yBAAiB,aAAa,CAAC;IACpB,MAAM,MAAM,GAAI,OAAO,eAAe,EAAE,QAAQ,eAAe,KAAG,aAAa,CAAC,YAAY,CAqElG,CAAA;IAEM,MAAM,eAAe,GAAI,aAAa,WAAW,KAAG,OAY1D,CAAA;IAEM,MAAM,gBAAgB,GAAI,aAAa,WAAW,EAAE,oBAAoB,YAAY,EAAE,UAAU;QACnG,eAAe,CAAC,EAAE,OAAO,CAAA;QACzB,gBAAgB,CAAC,EAAE,OAAO,CAAA;QAC1B,YAAY,CAAC,EAAE,OAAO,CAAA;KACzB,KAAG,OAAO,CAAC,IAAI,EAAE,MAAM,CA6GvB,CAAA;IAEM,MAAM,iBAAiB,GAC1B,OAAO,eAAe,EACtB,aAAa,KAAK,CAAC,iBAAiB,CAAC,EACrC,aAAa,GAAG,EAChB,MAAM,YAAY,CAAC,SAAS,KAC7B,OAAO,CAAC,IAAI,EAAE,MAAM,CAqGtB,CAAA;CACJ"}
|
|
@@ -6,6 +6,7 @@ import { ProjectSkeleton } from "../project/ProjectSkeleton";
|
|
|
6
6
|
import { TransferUtils } from "../transfer";
|
|
7
7
|
import { PresetHeader } from "./PresetHeader";
|
|
8
8
|
import { TrackType } from "../timeline/TrackType";
|
|
9
|
+
import { isModulatorBox } from "../modulation/ModulatorBoxAdapter";
|
|
9
10
|
export var PresetDecoder;
|
|
10
11
|
(function (PresetDecoder) {
|
|
11
12
|
PresetDecoder.decode = (bytes, target) => {
|
|
@@ -38,11 +39,11 @@ export var PresetDecoder;
|
|
|
38
39
|
.filter(box => isInstanceOf(box, AudioUnitBox))
|
|
39
40
|
.filter(box => box.type.getValue() !== AudioUnitType.Output);
|
|
40
41
|
const excludeBox = (box) => TransferUtils.shouldExclude(box);
|
|
41
|
-
const dependencies = Array.from(sourceBoxGraph.dependenciesOf(sourceAudioUnitBoxes, {
|
|
42
|
+
const dependencies = TransferUtils.withModulators(Array.from(sourceBoxGraph.dependenciesOf(sourceAudioUnitBoxes, {
|
|
42
43
|
alwaysFollowMandatory: true,
|
|
43
44
|
stopAtResources: true,
|
|
44
45
|
excludeBox
|
|
45
|
-
}).boxes);
|
|
46
|
+
}).boxes));
|
|
46
47
|
const { mandatoryBoxes: { rootBox, primaryAudioBusBox } } = target;
|
|
47
48
|
const uuidMap = TransferUtils.generateMap(sourceAudioUnitBoxes, dependencies, rootBox.audioUnits.address.uuid, primaryAudioBusBox.address.uuid);
|
|
48
49
|
TransferUtils.copyBoxes(uuidMap, target.boxGraph, sourceAudioUnitBoxes, dependencies);
|
|
@@ -171,46 +172,39 @@ export var PresetDecoder;
|
|
|
171
172
|
return false;
|
|
172
173
|
};
|
|
173
174
|
const uuidMap = UUID.newSet(({ source }) => source);
|
|
174
|
-
const dependencies = Array.from(sourceBoxGraph.dependenciesOf(sourceAudioUnitBox, {
|
|
175
|
+
const dependencies = TransferUtils.withModulators(Array.from(sourceBoxGraph.dependenciesOf(sourceAudioUnitBox, {
|
|
175
176
|
excludeBox,
|
|
176
177
|
alwaysFollowMandatory: true,
|
|
177
178
|
stopAtResources: true
|
|
178
|
-
}).boxes);
|
|
179
|
+
}).boxes));
|
|
180
|
+
const keepsIdentity = (box) => box instanceof AudioFileBox || box instanceof SoundfontFileBox || isModulatorBox(box);
|
|
179
181
|
uuidMap.addMany([
|
|
180
182
|
{
|
|
181
183
|
source: sourceAudioUnitBox.address.uuid,
|
|
182
184
|
target: targetAudioUnitBox.address.uuid
|
|
183
185
|
},
|
|
184
186
|
...dependencies
|
|
185
|
-
.map(({ address:
|
|
186
|
-
source: uuid,
|
|
187
|
-
target: name === AudioFileBox.ClassName || name === SoundfontFileBox.ClassName
|
|
188
|
-
? uuid
|
|
189
|
-
: UUID.generate()
|
|
190
|
-
}))
|
|
187
|
+
.map(box => ({ source: box.address.uuid, target: keepsIdentity(box) ? box.address.uuid : UUID.generate() }))
|
|
191
188
|
]);
|
|
192
|
-
//
|
|
193
|
-
const
|
|
189
|
+
// Identity-keeping boxes already in the target graph are shared, not copied
|
|
190
|
+
const existingKeptUuids = UUID.newSet(uuid => uuid);
|
|
194
191
|
dependencies.forEach((source) => {
|
|
195
|
-
if (source
|
|
196
|
-
|
|
197
|
-
existingFileBoxUUIDs.add(source.address.uuid);
|
|
198
|
-
}
|
|
192
|
+
if (keepsIdentity(source) && targetBoxGraph.findBox(source.address.uuid).nonEmpty()) {
|
|
193
|
+
existingKeptUuids.add(source.address.uuid);
|
|
199
194
|
}
|
|
200
195
|
});
|
|
201
196
|
PointerField.decodeWith({
|
|
202
|
-
map: (
|
|
197
|
+
map: (pointer, newAddress) => newAddress.flatMap(address => uuidMap.opt(address.uuid).match({
|
|
203
198
|
some: ({ target }) => Option.wrap(address.moveTo(target)),
|
|
204
|
-
none: () => targetBoxGraph.findBox(address.uuid).nonEmpty()
|
|
199
|
+
none: () => targetBoxGraph.findBox(address.uuid).nonEmpty()
|
|
200
|
+
? Option.wrap(address)
|
|
201
|
+
: TransferUtils.mapModulatorCollection(pointer, targetBoxGraph)
|
|
205
202
|
}))
|
|
206
203
|
}, () => {
|
|
207
204
|
dependencies
|
|
208
205
|
.forEach((source) => {
|
|
209
|
-
if (source
|
|
210
|
-
|
|
211
|
-
if (existingFileBoxUUIDs.opt(source.address.uuid).nonEmpty()) {
|
|
212
|
-
return;
|
|
213
|
-
}
|
|
206
|
+
if (existingKeptUuids.hasKey(source.address.uuid)) {
|
|
207
|
+
return;
|
|
214
208
|
}
|
|
215
209
|
const input = new ByteArrayInput(source.toArrayBuffer());
|
|
216
210
|
const key = source.name;
|
|
@@ -269,15 +263,15 @@ export var PresetDecoder;
|
|
|
269
263
|
|| TransferUtils.excludeTimelinePredicate(box)
|
|
270
264
|
|| box instanceof AudioUnitBox;
|
|
271
265
|
const effectSet = new Set(effects);
|
|
272
|
-
const dependencies = Array.from(sourceGraph.dependenciesOf(effects, {
|
|
266
|
+
const dependencies = TransferUtils.withModulators(Array.from(sourceGraph.dependenciesOf(effects, {
|
|
273
267
|
alwaysFollowMandatory: true,
|
|
274
268
|
stopAtResources: true,
|
|
275
269
|
excludeBox
|
|
276
|
-
}).boxes).filter(box => !effectSet.has(box));
|
|
277
|
-
const
|
|
270
|
+
}).boxes).filter(box => !effectSet.has(box)));
|
|
271
|
+
const existingKeptUuids = UUID.newSet(uuid => uuid);
|
|
278
272
|
dependencies.forEach(source => {
|
|
279
|
-
if (source
|
|
280
|
-
|
|
273
|
+
if (TransferUtils.keepsIdentity(source) && targetGraph.findBox(source.address.uuid).nonEmpty()) {
|
|
274
|
+
existingKeptUuids.add(source.address.uuid);
|
|
281
275
|
}
|
|
282
276
|
});
|
|
283
277
|
const uuidMap = UUID.newSet(({ source }) => source);
|
|
@@ -285,7 +279,7 @@ export var PresetDecoder;
|
|
|
285
279
|
...effects.map(box => ({ source: box.address.uuid, target: UUID.generate() })),
|
|
286
280
|
...dependencies.map(box => ({
|
|
287
281
|
source: box.address.uuid,
|
|
288
|
-
target: box
|
|
282
|
+
target: TransferUtils.keepsIdentity(box) ? box.address.uuid : UUID.generate()
|
|
289
283
|
}))
|
|
290
284
|
]);
|
|
291
285
|
PointerField.decodeWith({
|
|
@@ -302,7 +296,9 @@ export var PresetDecoder;
|
|
|
302
296
|
if (pointer.pointerType === hostPointerType) {
|
|
303
297
|
return Option.wrap(targetFieldAddress);
|
|
304
298
|
}
|
|
305
|
-
return address.flatMap(addr => targetGraph.findBox(addr.uuid).nonEmpty()
|
|
299
|
+
return address.flatMap(addr => targetGraph.findBox(addr.uuid).nonEmpty()
|
|
300
|
+
? Option.wrap(addr)
|
|
301
|
+
: TransferUtils.mapModulatorCollection(pointer, targetGraph));
|
|
306
302
|
}
|
|
307
303
|
}, () => {
|
|
308
304
|
effects.forEach((source, i) => {
|
|
@@ -316,7 +312,7 @@ export var PresetDecoder;
|
|
|
316
312
|
});
|
|
317
313
|
});
|
|
318
314
|
dependencies.forEach(source => {
|
|
319
|
-
if (
|
|
315
|
+
if (existingKeptUuids.hasKey(source.address.uuid)) {
|
|
320
316
|
return;
|
|
321
317
|
}
|
|
322
318
|
const input = new ByteArrayInput(source.toArrayBuffer());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PresetEncoder.d.ts","sourceRoot":"","sources":["../../src/preset/PresetEncoder.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAA2B,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAC,YAAY,EAA4D,MAAM,uBAAuB,CAAA;AAI7G,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAE3C,yBAAiB,aAAa,CAAC;IACpB,MAAM,MAAM,GAAI,cAAc,YAAY,EAC1B,UAAS;QACL,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC;QACtC,eAAe,CAAC,EAAE,OAAO,CAAA;KACvB,KAAG,eA+B/B,CAAA;IAEM,MAAM,aAAa,GACtB,SAAS,aAAa,CAAC,GAAG,CAAC,EAC3B,MAAM,YAAY,CAAC,SAAS,KAC7B,
|
|
1
|
+
{"version":3,"file":"PresetEncoder.d.ts","sourceRoot":"","sources":["../../src/preset/PresetEncoder.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAA2B,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAC,YAAY,EAA4D,MAAM,uBAAuB,CAAA;AAI7G,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAE3C,yBAAiB,aAAa,CAAC;IACpB,MAAM,MAAM,GAAI,cAAc,YAAY,EAC1B,UAAS;QACL,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC;QACtC,eAAe,CAAC,EAAE,OAAO,CAAA;KACvB,KAAG,eA+B/B,CAAA;IAEM,MAAM,aAAa,GACtB,SAAS,aAAa,CAAC,GAAG,CAAC,EAC3B,MAAM,YAAY,CAAC,SAAS,KAC7B,eAmFF,CAAA;CACJ"}
|
|
@@ -20,11 +20,11 @@ export var PresetEncoder;
|
|
|
20
20
|
|| (!includeTimeline && TransferUtils.excludeTimelinePredicate(box))
|
|
21
21
|
|| excludeEffect(box);
|
|
22
22
|
boxGraph.beginTransaction();
|
|
23
|
-
const dependencies = Array.from(audioUnitBox.graph.dependenciesOf(audioUnitBoxes, {
|
|
23
|
+
const dependencies = TransferUtils.withModulators(Array.from(audioUnitBox.graph.dependenciesOf(audioUnitBoxes, {
|
|
24
24
|
alwaysFollowMandatory: true,
|
|
25
25
|
stopAtResources: true,
|
|
26
26
|
excludeBox
|
|
27
|
-
}).boxes);
|
|
27
|
+
}).boxes));
|
|
28
28
|
const summary = {};
|
|
29
29
|
for (const dep of dependencies) {
|
|
30
30
|
summary[dep.name] = (summary[dep.name] ?? 0) + 1;
|
|
@@ -62,17 +62,17 @@ export var PresetEncoder;
|
|
|
62
62
|
|| TransferUtils.excludeTimelinePredicate(box)
|
|
63
63
|
|| box instanceof AudioUnitBox;
|
|
64
64
|
const effectSet = new Set(effects);
|
|
65
|
-
const dependencies = Array.from(sourceGraph.dependenciesOf(effects, {
|
|
65
|
+
const dependencies = TransferUtils.withModulators(Array.from(sourceGraph.dependenciesOf(effects, {
|
|
66
66
|
alwaysFollowMandatory: true,
|
|
67
67
|
stopAtResources: true,
|
|
68
68
|
excludeBox
|
|
69
|
-
}).boxes).filter(box => !effectSet.has(box));
|
|
69
|
+
}).boxes).filter(box => !effectSet.has(box)));
|
|
70
70
|
const uuidMap = UUID.newSet(({ source }) => source);
|
|
71
71
|
uuidMap.addMany([
|
|
72
72
|
...effects.map(box => ({ source: box.address.uuid, target: UUID.generate() })),
|
|
73
73
|
...dependencies.map(box => ({
|
|
74
74
|
source: box.address.uuid,
|
|
75
|
-
target: box
|
|
75
|
+
target: TransferUtils.keepsIdentity(box) ? box.address.uuid : UUID.generate()
|
|
76
76
|
}))
|
|
77
77
|
]);
|
|
78
78
|
const targetField = kind === PresetHeader.ChainKind.Audio
|
|
@@ -95,6 +95,9 @@ export var PresetEncoder;
|
|
|
95
95
|
if (pointer.pointerType === hostPointerType) {
|
|
96
96
|
return Option.wrap(targetField.address);
|
|
97
97
|
}
|
|
98
|
+
if (pointer.pointerType === Pointers.ModulatorCollection) {
|
|
99
|
+
return Option.wrap(rootBox.modulators.address);
|
|
100
|
+
}
|
|
98
101
|
return address.flatMap(addr => boxGraph.findBox(addr.uuid).nonEmpty() ? Option.wrap(addr) : Option.None);
|
|
99
102
|
}
|
|
100
103
|
}, () => {
|