@opendaw/studio-adapters 0.0.78 → 0.0.80
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/BoxAdapters.d.ts +2 -1
- package/dist/BoxAdapters.d.ts.map +1 -1
- package/dist/BoxAdapters.js +3 -0
- package/dist/DeviceAdapter.d.ts +2 -0
- package/dist/DeviceAdapter.d.ts.map +1 -1
- package/dist/DeviceBox.d.ts.map +1 -1
- package/dist/DeviceBox.js +3 -8
- package/dist/DeviceManualUrls.d.ts +1 -0
- package/dist/DeviceManualUrls.d.ts.map +1 -1
- package/dist/DeviceManualUrls.js +1 -0
- package/dist/EngineProcessorAttachment.d.ts +1 -0
- package/dist/EngineProcessorAttachment.d.ts.map +1 -1
- package/dist/EngineStateSchema.d.ts +3 -0
- package/dist/EngineStateSchema.d.ts.map +1 -1
- package/dist/EngineStateSchema.js +5 -1
- package/dist/VaryingTempoMap.d.ts.map +1 -1
- package/dist/VaryingTempoMap.js +3 -0
- package/dist/devices/audio-effects/NeuralAmpDeviceBoxAdapter.d.ts +36 -0
- package/dist/devices/audio-effects/NeuralAmpDeviceBoxAdapter.d.ts.map +1 -0
- package/dist/devices/audio-effects/NeuralAmpDeviceBoxAdapter.js +60 -0
- package/dist/devices/instruments/Playfield/PlayfieldSampleBoxAdapter.d.ts.map +1 -1
- package/dist/devices/instruments/Playfield/PlayfieldSampleBoxAdapter.js +3 -3
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/project/ProjectUtils.d.ts.map +1 -1
- package/dist/project/ProjectUtils.js +39 -44
- package/dist/protocols.d.ts +1 -0
- package/dist/protocols.d.ts.map +1 -1
- package/dist/timeline/RegionBoxAdapter.d.ts +2 -3
- package/dist/timeline/RegionBoxAdapter.d.ts.map +1 -1
- package/dist/timeline/TrackBoxAdapter.d.ts +2 -2
- package/dist/timeline/TrackBoxAdapter.d.ts.map +1 -1
- package/dist/timeline/TrackBoxAdapter.js +36 -30
- package/dist/timeline/event/SelectableValueEvent.d.ts +5 -0
- package/dist/timeline/event/SelectableValueEvent.d.ts.map +1 -0
- package/dist/timeline/event/SelectableValueEvent.js +1 -0
- package/dist/timeline/region/AudioRegionBoxAdapter.d.ts +3 -1
- package/dist/timeline/region/AudioRegionBoxAdapter.d.ts.map +1 -1
- package/dist/timeline/region/AudioRegionBoxAdapter.js +40 -13
- package/dist/timeline/region/FadingAdapter.d.ts +19 -0
- package/dist/timeline/region/FadingAdapter.d.ts.map +1 -0
- package/dist/timeline/region/FadingAdapter.js +41 -0
- package/dist/timeline/region/NoteRegionBoxAdapter.d.ts +1 -1
- package/dist/timeline/region/NoteRegionBoxAdapter.d.ts.map +1 -1
- package/dist/timeline/region/NoteRegionBoxAdapter.js +7 -1
- package/dist/timeline/region/ValueRegionBoxAdapter.d.ts +1 -1
- package/dist/timeline/region/ValueRegionBoxAdapter.d.ts.map +1 -1
- package/dist/timeline/region/ValueRegionBoxAdapter.js +7 -1
- package/package.json +38 -38
package/dist/BoxAdapters.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AssertType, Class, Terminable } from "@opendaw/lib-std";
|
|
1
|
+
import { AssertType, Class, Option, Terminable } from "@opendaw/lib-std";
|
|
2
2
|
import { Box } from "@opendaw/lib-box";
|
|
3
3
|
import { BoxAdaptersContext } from "./BoxAdaptersContext";
|
|
4
4
|
import { BoxAdapter } from "./BoxAdapter";
|
|
@@ -7,5 +7,6 @@ export declare class BoxAdapters implements Terminable {
|
|
|
7
7
|
constructor(context: BoxAdaptersContext);
|
|
8
8
|
terminate(): void;
|
|
9
9
|
adapterFor<BOX extends Box, T extends BoxAdapter>(box: BOX, checkType: Class<T> | AssertType<T>): T;
|
|
10
|
+
optAdapter(box: Box): Option<BoxAdapter>;
|
|
10
11
|
}
|
|
11
12
|
//# sourceMappingURL=BoxAdapters.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoxAdapters.d.ts","sourceRoot":"","sources":["../src/BoxAdapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,UAAU,EACV,KAAK,
|
|
1
|
+
{"version":3,"file":"BoxAdapters.d.ts","sourceRoot":"","sources":["../src/BoxAdapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,UAAU,EACV,KAAK,EAEL,MAAM,EAIN,UAAU,EAEb,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,GAAG,EAAS,MAAM,kBAAkB,CAAA;AAqG5C,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AAuBvC,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;IAkBnG,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;CAiE3C"}
|
package/dist/BoxAdapters.js
CHANGED
|
@@ -64,6 +64,7 @@ import { MIDIOutputDeviceBoxAdapter } from "./devices/instruments/MIDIOutputDevi
|
|
|
64
64
|
import { VelocityDeviceBoxAdapter } from "./devices/midi-effects/VelocityDeviceBoxAdapter";
|
|
65
65
|
import { TidalDeviceBoxAdapter } from "./devices/audio-effects/TidalDeviceBoxAdapter";
|
|
66
66
|
import { DattorroReverbDeviceBoxAdapter } from "./devices/audio-effects/DattorroReverbDeviceBoxAdapter";
|
|
67
|
+
import { NeuralAmpDeviceBoxAdapter } from "./devices/audio-effects/NeuralAmpDeviceBoxAdapter";
|
|
67
68
|
import { AudioPitchStretchBoxAdapter } from "./audio/AudioPitchStretchBoxAdapter";
|
|
68
69
|
import { TransientMarkerBoxAdapter } from "./audio/TransientMarkerBoxAdapter";
|
|
69
70
|
import { WarpMarkerBoxAdapter } from "./audio/WarpMarkerBoxAdapter";
|
|
@@ -113,6 +114,7 @@ export class BoxAdapters {
|
|
|
113
114
|
}
|
|
114
115
|
return panic("Unknown checkType method");
|
|
115
116
|
}
|
|
117
|
+
optAdapter(box) { return __classPrivateFieldGet(this, _BoxAdapters_adapters, "f").opt(box.address.uuid); }
|
|
116
118
|
}
|
|
117
119
|
_BoxAdapters_context = new WeakMap(), _BoxAdapters_adapters = new WeakMap(), _BoxAdapters_deleted = new WeakMap(), _BoxAdapters_terminable = new WeakMap(), _BoxAdapters_instances = new WeakSet(), _BoxAdapters_create = function _BoxAdapters_create(unknownBox) {
|
|
118
120
|
return asDefined(unknownBox.accept({
|
|
@@ -149,6 +151,7 @@ _BoxAdapters_context = new WeakMap(), _BoxAdapters_adapters = new WeakMap(), _Bo
|
|
|
149
151
|
visitModuleGainBox: (box) => new ModuleGainAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
|
|
150
152
|
visitModuleMultiplierBox: (box) => new ModuleMultiplierAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
|
|
151
153
|
visitNanoDeviceBox: (box) => new NanoDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
|
|
154
|
+
visitNeuralAmpDeviceBox: (box) => new NeuralAmpDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
|
|
152
155
|
visitNoteClipBox: (box) => new NoteClipBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
|
|
153
156
|
visitNoteEventBox: (box) => new NoteEventBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
|
|
154
157
|
visitNoteEventCollectionBox: (box) => new NoteEventCollectionBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
|
package/dist/DeviceAdapter.d.ts
CHANGED
|
@@ -37,8 +37,10 @@ export interface InstrumentDeviceBoxAdapter extends DeviceBoxAdapter, LabeledAud
|
|
|
37
37
|
export interface DeviceHost extends BoxAdapter, LabeledAudioOutputsOwner {
|
|
38
38
|
readonly class: "device-host";
|
|
39
39
|
get midiEffects(): IndexedBoxAdapterCollection<MidiEffectDeviceAdapter, Pointers.MIDIEffectHost>;
|
|
40
|
+
get midiEffectsField(): Field<Pointers.MIDIEffectHost>;
|
|
40
41
|
get inputAdapter(): Option<AudioUnitInputAdapter>;
|
|
41
42
|
get audioEffects(): IndexedBoxAdapterCollection<AudioEffectDeviceAdapter, Pointers.AudioEffectHost>;
|
|
43
|
+
get audioEffectsField(): Field<Pointers.AudioEffectHost>;
|
|
42
44
|
get inputField(): Field<Pointers.InstrumentHost | Pointers.AudioOutput>;
|
|
43
45
|
get tracksField(): Field<Pointers.TrackCollection>;
|
|
44
46
|
get minimizedField(): BooleanField;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceAdapter.d.ts","sourceRoot":"","sources":["../src/DeviceAdapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DeviceAdapter.d.ts","sourceRoot":"","sources":["../src/DeviceAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAChG,OAAO,EAAiB,UAAU,EAAO,MAAM,EAAc,MAAM,kBAAkB,CAAA;AACrF,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAC,2BAA2B,EAAC,MAAM,+BAA+B,CAAA;AACzE,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AACvC,OAAO,EAAC,qBAAqB,EAAC,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAA;AAEpE,OAAO,EAAC,wBAAwB,EAAC,MAAM,4BAA4B,CAAA;AAEnE,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,KAAK,GAAG,YAAY,GAAG,cAAc,CAAA;AAC9E,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAA;AAEpD,yBAAiB,aAAa,CAAC;IACpB,MAAM,WAAW,GAAI,MAAM,aAAa,sCAS9C,CAAA;CACJ;AAED,MAAM,WAAW,uBAAwB,SAAQ,sBAAsB,CAAC,QAAQ,CAAC,cAAc,CAAC;IAC5F,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,wBAAwB;IACxH,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,eAAe,GAAG,QAAQ,CAAC,cAAc,CAAA;AAElF,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,CAAE,SAAQ,gBAAgB;IAC7G,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,aAAa,CAAA;IAC7C,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAA;IAElC,IAAI,UAAU,IAAI,UAAU,CAAA;IAC5B,IAAI,YAAY,IAAI,YAAY,CAAA;IAChC,IAAI,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,0BAA2B,SAAQ,gBAAgB,EAAE,wBAAwB;IAC1F,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;IAE3B,IAAI,SAAS,IAAI,WAAW,CAAA;IAC5B,IAAI,gBAAgB,IAAI,SAAS,CAAA;IACjC,IAAI,iBAAiB,IAAI,OAAO,CAAA;CACnC;AAED,MAAM,WAAW,UAAW,SAAQ,UAAU,EAAE,wBAAwB;IACpE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAA;IAE7B,IAAI,WAAW,IAAI,2BAA2B,CAAC,uBAAuB,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAA;IAChG,IAAI,gBAAgB,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;IACtD,IAAI,YAAY,IAAI,MAAM,CAAC,qBAAqB,CAAC,CAAA;IACjD,IAAI,YAAY,IAAI,2BAA2B,CAAC,wBAAwB,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAA;IACnG,IAAI,iBAAiB,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAA;IACxD,IAAI,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAA;IACvE,IAAI,WAAW,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAA;IAClD,IAAI,cAAc,IAAI,YAAY,CAAA;IAClC,IAAI,WAAW,IAAI,OAAO,CAAA;IAC1B,IAAI,KAAK,IAAI,MAAM,CAAA;IAEnB,UAAU,IAAI,UAAU,CAAA;IACxB,mBAAmB,IAAI,mBAAmB,CAAA;CAC7C;AAED,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAChD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAE1B,IAAI,GAAG,IAAI,GAAG,CAAA;IACd,IAAI,UAAU,IAAI,WAAW,CAAA;IAC7B,IAAI,YAAY,IAAI,YAAY,CAAA;IAChC,IAAI,cAAc,IAAI,YAAY,CAAA;IAClC,IAAI,OAAO,IAAI,aAAa,CAAA;IAE5B,UAAU,IAAI,UAAU,CAAA;IACxB,mBAAmB,IAAI,mBAAmB,CAAA;CAC7C;AAED,yBAAiB,OAAO,CAAC;IACd,MAAM,KAAK,EAAE,UAAU,CAAC,gBAAgB,CAG6B,CAAA;IACrE,MAAM,QAAQ,EAAE,UAAU,CAAC,sBAAsB,CAEkB,CAAA;IACnE,MAAM,YAAY,EAAE,UAAU,CAAC,0BAA0B,CACyC,CAAA;IAClG,MAAM,YAAY,EAAE,UAAU,CAAC,uBAAuB,CAC6C,CAAA;IACnG,MAAM,aAAa,EAAE,UAAU,CAAC,wBAAwB,CAC4C,CAAA;IACpG,MAAM,MAAM,EAAE,UAAU,CAAC,UAAU,CAC0D,CAAA;IAE7F,MAAM,mBAAmB,GAAI,SAAS,aAAa,CAAC,sBAAsB,CAAC,KAAG,IAepF,CAAA;CACJ"}
|
package/dist/DeviceBox.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceBox.d.ts","sourceRoot":"","sources":["../src/DeviceBox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AACzF,OAAO,EAA0B,KAAK,EAAQ,MAAM,kBAAkB,CAAA;AAEtE,MAAM,MAAM,SAAS,GAAG;IACpB,IAAI,EAAE,YAAY,CAAA;IAClB,KAAK,EAAE,WAAW,CAAA;IAClB,OAAO,EAAE,YAAY,CAAA;IACrB,SAAS,EAAE,YAAY,CAAA;CAC1B,GAAG,GAAG,CAAA;AAEP,MAAM,MAAM,mBAAmB,GAAG;IAC9B,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;CAC9C,GAAG,SAAS,CAAA;AAEb,MAAM,MAAM,eAAe,GAAG;IAC1B,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAA;IACtE,KAAK,EAAE,UAAU,CAAA;CACpB,GAAG,SAAS,CAAA;AAEb,yBAAiB,cAAc,CAAC;IACrB,MAAM,WAAW,GAAI,KAAK,GAAG,KAAG,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"DeviceBox.d.ts","sourceRoot":"","sources":["../src/DeviceBox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AACzF,OAAO,EAA0B,KAAK,EAAQ,MAAM,kBAAkB,CAAA;AAEtE,MAAM,MAAM,SAAS,GAAG;IACpB,IAAI,EAAE,YAAY,CAAA;IAClB,KAAK,EAAE,WAAW,CAAA;IAClB,OAAO,EAAE,YAAY,CAAA;IACrB,SAAS,EAAE,YAAY,CAAA;CAC1B,GAAG,GAAG,CAAA;AAEP,MAAM,MAAM,mBAAmB,GAAG;IAC9B,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;CAC9C,GAAG,SAAS,CAAA;AAEb,MAAM,MAAM,eAAe,GAAG;IAC1B,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,eAAe,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAA;IACtE,KAAK,EAAE,UAAU,CAAA;CACpB,GAAG,SAAS,CAAA;AAEb,yBAAiB,cAAc,CAAC;IACrB,MAAM,WAAW,GAAI,KAAK,GAAG,KAAG,GAAG,IAAI,SAAuC,CAAA;IAC9E,MAAM,qBAAqB,GAAI,KAAK,GAAG,KAAG,GAAG,IAAI,mBACI,CAAA;IACrD,MAAM,iBAAiB,GAAI,KAAK,GAAG,KAAG,GAAG,IAAI,eACqD,CAAA;IAClG,MAAM,eAAe,GAAI,KAAK,KAAK,CAAC,GAAG,CAAC,KAAG,YAEyB,CAAA;IACpE,MAAM,gBAAgB,GAAI,KAAK,KAAK,CAAC,GAAG,CAAC,KAAG,WAE0B,CAAA;IACtE,MAAM,kBAAkB,GAAI,KAAK,KAAK,CAAC,GAAG,CAAC,KAAG,YAE4B,CAAA;IAC1E,MAAM,oBAAoB,GAAI,KAAK,KAAK,CAAC,GAAG,CAAC,KAAG,YAE8B,CAAA;IAC9E,MAAM,gBAAgB,GAAI,KAAK,KAAK,CAAC,GAAG,CAAC,KAAG,UAE0B,CAAA;CAChF"}
|
package/dist/DeviceBox.js
CHANGED
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
import { Pointers } from "@opendaw/studio-enums";
|
|
2
1
|
import { BooleanField, Int32Field, PointerField, StringField } from "@opendaw/lib-box";
|
|
3
2
|
import { isDefined, isInstanceOf, panic } from "@opendaw/lib-std";
|
|
4
3
|
export var DeviceBoxUtils;
|
|
5
4
|
(function (DeviceBoxUtils) {
|
|
6
|
-
DeviceBoxUtils.isDeviceBox = (box) =>
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
"minimized" in box && isInstanceOf(box.minimized, BooleanField);
|
|
10
|
-
DeviceBoxUtils.isInstrumentDeviceBox = (box) => DeviceBoxUtils.isDeviceBox(box) && box.host.pointerType === Pointers.InstrumentHost;
|
|
11
|
-
DeviceBoxUtils.isEffectDeviceBox = (box) => DeviceBoxUtils.isDeviceBox(box) && "index" in box && isInstanceOf(box.index, Int32Field) &&
|
|
12
|
-
(box.host.pointerType === Pointers.MIDIEffectHost || box.host.pointerType === Pointers.AudioEffectHost);
|
|
5
|
+
DeviceBoxUtils.isDeviceBox = (box) => box.tags.type === "device";
|
|
6
|
+
DeviceBoxUtils.isInstrumentDeviceBox = (box) => DeviceBoxUtils.isDeviceBox(box) && box.tags.deviceType === "instrument";
|
|
7
|
+
DeviceBoxUtils.isEffectDeviceBox = (box) => DeviceBoxUtils.isDeviceBox(box) && (box.tags.deviceType === "audio-effect" || box.tags.deviceType === "midi-effect");
|
|
13
8
|
DeviceBoxUtils.lookupHostField = (box) => isDefined(box) && "host" in box && isInstanceOf(box.host, PointerField)
|
|
14
9
|
? box.host : panic(`Could not find 'host' field in '${box?.name}'`);
|
|
15
10
|
DeviceBoxUtils.lookupLabelField = (box) => isDefined(box) && "label" in box && isInstanceOf(box.label, StringField)
|
|
@@ -16,6 +16,7 @@ export declare namespace DeviceManualUrls {
|
|
|
16
16
|
const Tidal = "manuals/devices/audio/tidal";
|
|
17
17
|
const Revamp = "manuals/devices/audio/revamp";
|
|
18
18
|
const Modular = "manuals/devices/audio/modular";
|
|
19
|
+
const NeuralAmp = "manuals/devices/audio/neural-amp";
|
|
19
20
|
const Tape = "manuals/devices/instruments/tape";
|
|
20
21
|
const Nano = "manuals/devices/instruments/nano";
|
|
21
22
|
const Playfield = "manuals/devices/instruments/playfield";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceManualUrls.d.ts","sourceRoot":"","sources":["../src/DeviceManualUrls.ts"],"names":[],"mappings":"AAAA,yBAAiB,gBAAgB,CAAC;IAEvB,MAAM,QAAQ,sBAAsB,CAAA;IAGpC,MAAM,QAAQ,kCAAkC,CAAA;IAChD,MAAM,KAAK,+BAA+B,CAAA;IAC1C,MAAM,QAAQ,kCAAkC,CAAA;IAChD,MAAM,SAAS,mCAAmC,CAAA;IAGlD,MAAM,UAAU,sCAAsC,CAAA;IACtD,MAAM,KAAK,gCAAgC,CAAA;IAC3C,MAAM,cAAc,0CAA0C,CAAA;IAC9D,MAAM,SAAS,oCAAoC,CAAA;IACnD,MAAM,UAAU,qCAAqC,CAAA;IACrD,MAAM,IAAI,+BAA+B,CAAA;IACzC,MAAM,MAAM,uCAAuC,CAAA;IACnD,MAAM,OAAO,kCAAkC,CAAA;IAC/C,MAAM,IAAI,+BAA+B,CAAA;IACzC,MAAM,KAAK,gCAAgC,CAAA;IAC3C,MAAM,MAAM,iCAAiC,CAAA;IAC7C,MAAM,OAAO,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"DeviceManualUrls.d.ts","sourceRoot":"","sources":["../src/DeviceManualUrls.ts"],"names":[],"mappings":"AAAA,yBAAiB,gBAAgB,CAAC;IAEvB,MAAM,QAAQ,sBAAsB,CAAA;IAGpC,MAAM,QAAQ,kCAAkC,CAAA;IAChD,MAAM,KAAK,+BAA+B,CAAA;IAC1C,MAAM,QAAQ,kCAAkC,CAAA;IAChD,MAAM,SAAS,mCAAmC,CAAA;IAGlD,MAAM,UAAU,sCAAsC,CAAA;IACtD,MAAM,KAAK,gCAAgC,CAAA;IAC3C,MAAM,cAAc,0CAA0C,CAAA;IAC9D,MAAM,SAAS,oCAAoC,CAAA;IACnD,MAAM,UAAU,qCAAqC,CAAA;IACrD,MAAM,IAAI,+BAA+B,CAAA;IACzC,MAAM,MAAM,uCAAuC,CAAA;IACnD,MAAM,OAAO,kCAAkC,CAAA;IAC/C,MAAM,IAAI,+BAA+B,CAAA;IACzC,MAAM,KAAK,gCAAgC,CAAA;IAC3C,MAAM,MAAM,iCAAiC,CAAA;IAC7C,MAAM,OAAO,kCAAkC,CAAA;IAC/C,MAAM,SAAS,qCAAqC,CAAA;IAGpD,MAAM,IAAI,qCAAqC,CAAA;IAC/C,MAAM,IAAI,qCAAqC,CAAA;IAC/C,MAAM,SAAS,0CAA0C,CAAA;IACzD,MAAM,YAAY,6CAA6C,CAAA;IAC/D,MAAM,UAAU,4CAA4C,CAAA;IAC5D,MAAM,SAAS,0CAA0C,CAAA;CACnE"}
|
package/dist/DeviceManualUrls.js
CHANGED
|
@@ -20,6 +20,7 @@ export var DeviceManualUrls;
|
|
|
20
20
|
DeviceManualUrls.Tidal = "manuals/devices/audio/tidal";
|
|
21
21
|
DeviceManualUrls.Revamp = "manuals/devices/audio/revamp";
|
|
22
22
|
DeviceManualUrls.Modular = "manuals/devices/audio/modular";
|
|
23
|
+
DeviceManualUrls.NeuralAmp = "manuals/devices/audio/neural-amp";
|
|
23
24
|
// Instruments
|
|
24
25
|
DeviceManualUrls.Tape = "manuals/devices/instruments/tape";
|
|
25
26
|
DeviceManualUrls.Nano = "manuals/devices/instruments/nano";
|
|
@@ -3,6 +3,7 @@ export type ProcessorOptions = {};
|
|
|
3
3
|
export type EngineProcessorAttachment = {
|
|
4
4
|
syncStreamBuffer: SharedArrayBuffer;
|
|
5
5
|
controlFlagsBuffer: SharedArrayBuffer;
|
|
6
|
+
hrClockBuffer: SharedArrayBuffer;
|
|
6
7
|
project: ArrayBufferLike;
|
|
7
8
|
exportConfiguration?: ExportStemsConfiguration;
|
|
8
9
|
options?: ProcessorOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EngineProcessorAttachment.d.ts","sourceRoot":"","sources":["../src/EngineProcessorAttachment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,MAAM,EAAC,MAAM,kBAAkB,CAAA;AAE5C,MAAM,MAAM,gBAAgB,GAAG,EAAE,CAAA;AAGjC,MAAM,MAAM,yBAAyB,GAAG;IACpC,gBAAgB,EAAE,iBAAiB,CAAA;IACnC,kBAAkB,EAAE,iBAAiB,CAAA;IACrC,OAAO,EAAE,eAAe,CAAA;IACxB,mBAAmB,CAAC,EAAE,wBAAwB,CAAA;IAC9C,OAAO,CAAC,EAAE,gBAAgB,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IAClC,mBAAmB,EAAE,OAAO,CAAA;IAC5B,YAAY,EAAE,OAAO,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;AAE9E,yBAAiB,wBAAwB,CAAC;IAC/B,MAAM,UAAU,GAAI,QAAQ,MAAM,CAAC,wBAAwB,CAAC,KAAG,GAIhE,CAAA;IAEC,MAAM,gBAAgB,GAAI,MAAM,MAAM,KAAG,MAA4D,CAAA;IAErG,MAAM,0BAA0B,GAAI,eAAe,wBAAwB,KAAG,IAiBpF,CAAA;CACJ"}
|
|
1
|
+
{"version":3,"file":"EngineProcessorAttachment.d.ts","sourceRoot":"","sources":["../src/EngineProcessorAttachment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,MAAM,EAAC,MAAM,kBAAkB,CAAA;AAE5C,MAAM,MAAM,gBAAgB,GAAG,EAAE,CAAA;AAGjC,MAAM,MAAM,yBAAyB,GAAG;IACpC,gBAAgB,EAAE,iBAAiB,CAAA;IACnC,kBAAkB,EAAE,iBAAiB,CAAA;IACrC,aAAa,EAAE,iBAAiB,CAAA;IAChC,OAAO,EAAE,eAAe,CAAA;IACxB,mBAAmB,CAAC,EAAE,wBAAwB,CAAA;IAC9C,OAAO,CAAC,EAAE,gBAAgB,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IAClC,mBAAmB,EAAE,OAAO,CAAA;IAC5B,YAAY,EAAE,OAAO,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;AAE9E,yBAAiB,wBAAwB,CAAC;IAC/B,MAAM,UAAU,GAAI,QAAQ,MAAM,CAAC,wBAAwB,CAAC,KAAG,GAIhE,CAAA;IAEC,MAAM,gBAAgB,GAAI,MAAM,MAAM,KAAG,MAA4D,CAAA;IAErG,MAAM,0BAA0B,GAAI,eAAe,wBAAwB,KAAG,IAiBpF,CAAA;CACJ"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Schema } from "@opendaw/lib-std";
|
|
2
|
+
export declare const PERF_BUFFER_SIZE = 512;
|
|
2
3
|
export declare const EngineStateSchema: () => Schema.IO<{
|
|
3
4
|
position: number;
|
|
4
5
|
bpm: number;
|
|
@@ -7,6 +8,8 @@ export declare const EngineStateSchema: () => Schema.IO<{
|
|
|
7
8
|
isPlaying: boolean;
|
|
8
9
|
isCountingIn: boolean;
|
|
9
10
|
isRecording: boolean;
|
|
11
|
+
perfIndex: number;
|
|
12
|
+
perfBuffer: Float32Array<ArrayBufferLike>;
|
|
10
13
|
}>;
|
|
11
14
|
export type EngineState = ReturnType<typeof EngineStateSchema>["object"];
|
|
12
15
|
//# sourceMappingURL=EngineStateSchema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EngineStateSchema.d.ts","sourceRoot":"","sources":["../src/EngineStateSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"EngineStateSchema.d.ts","sourceRoot":"","sources":["../src/EngineStateSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAA;AAGvC,eAAO,MAAM,gBAAgB,MAAM,CAAA;AAEnC,eAAO,MAAM,iBAAiB;;;;;;;;;;EAU5B,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAA"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { Schema } from "@opendaw/lib-std";
|
|
2
|
+
// Ring buffer size: ~1 second at 48kHz = 375 blocks, use 512 (power of 2)
|
|
3
|
+
export const PERF_BUFFER_SIZE = 512;
|
|
2
4
|
export const EngineStateSchema = Schema.createBuilder({
|
|
3
5
|
position: Schema.float,
|
|
4
6
|
bpm: Schema.float,
|
|
@@ -6,5 +8,7 @@ export const EngineStateSchema = Schema.createBuilder({
|
|
|
6
8
|
countInBeatsRemaining: Schema.float,
|
|
7
9
|
isPlaying: Schema.bool,
|
|
8
10
|
isCountingIn: Schema.bool,
|
|
9
|
-
isRecording: Schema.bool
|
|
11
|
+
isRecording: Schema.bool,
|
|
12
|
+
perfIndex: Schema.int32,
|
|
13
|
+
perfBuffer: Schema.floats(PERF_BUFFER_SIZE)
|
|
10
14
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VaryingTempoMap.d.ts","sourceRoot":"","sources":["../src/VaryingTempoMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,IAAI,EAAQ,OAAO,EAAmB,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AACpF,OAAO,EAAC,QAAQ,EAAgB,YAAY,EAAa,MAAM,kBAAkB,CAAA;AACjF,OAAO,EAAC,kBAAkB,EAAC,MAAM,+BAA+B,CAAA;AAEhE;;;GAGG;AACH,qBAAa,eAAgB,YAAW,QAAQ;;gBAGhC,OAAO,EAAE,kBAAkB;IAIvC,UAAU,CAAC,QAAQ,EAAE,IAAI,GAAG,GAAG;IAQ/B,aAAa,CAAC,QAAQ,EAAE,IAAI,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"VaryingTempoMap.d.ts","sourceRoot":"","sources":["../src/VaryingTempoMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,IAAI,EAAQ,OAAO,EAAmB,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AACpF,OAAO,EAAC,QAAQ,EAAgB,YAAY,EAAa,MAAM,kBAAkB,CAAA;AACjF,OAAO,EAAC,kBAAkB,EAAC,MAAM,+BAA+B,CAAA;AAEhE;;;GAGG;AACH,qBAAa,eAAgB,YAAW,QAAQ;;gBAGhC,OAAO,EAAE,kBAAkB;IAIvC,UAAU,CAAC,QAAQ,EAAE,IAAI,GAAG,GAAG;IAQ/B,aAAa,CAAC,QAAQ,EAAE,IAAI,GAAG,OAAO;IAOtC,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IA+BlC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO;IAwBxD,cAAc,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI;IAQ9D,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,YAAY;CAQxD"}
|
package/dist/VaryingTempoMap.js
CHANGED
|
@@ -27,6 +27,9 @@ export class VaryingTempoMap {
|
|
|
27
27
|
return __classPrivateFieldGet(this, _VaryingTempoMap_adapter, "f").tempoTrackEvents.mapOr(collection => collection.valueAt(position, storageBpm), storageBpm);
|
|
28
28
|
}
|
|
29
29
|
ppqnToSeconds(position) {
|
|
30
|
+
if (position < 0) {
|
|
31
|
+
return -this.intervalToSeconds(position, 0);
|
|
32
|
+
}
|
|
30
33
|
return this.intervalToSeconds(0, position);
|
|
31
34
|
}
|
|
32
35
|
secondsToPPQN(time) {
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { NeuralAmpDeviceBox } from "@opendaw/studio-boxes";
|
|
2
|
+
import { UUID } from "@opendaw/lib-std";
|
|
3
|
+
import { Address, BooleanField, Int32Field, PointerField, StringField } from "@opendaw/lib-box";
|
|
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 NeuralAmpDeviceBoxAdapter implements AudioEffectDeviceAdapter {
|
|
10
|
+
#private;
|
|
11
|
+
readonly type = "audio-effect";
|
|
12
|
+
readonly accepts = "audio";
|
|
13
|
+
readonly manualUrl = "manuals/devices/audio/neural-amp";
|
|
14
|
+
readonly namedParameter: {
|
|
15
|
+
readonly inputGain: import("../..").AutomatableParameterFieldAdapter<number>;
|
|
16
|
+
readonly outputGain: import("../..").AutomatableParameterFieldAdapter<number>;
|
|
17
|
+
readonly mix: import("../..").AutomatableParameterFieldAdapter<number>;
|
|
18
|
+
};
|
|
19
|
+
constructor(context: BoxAdaptersContext, box: NeuralAmpDeviceBox);
|
|
20
|
+
get box(): NeuralAmpDeviceBox;
|
|
21
|
+
get uuid(): UUID.Bytes;
|
|
22
|
+
get address(): Address;
|
|
23
|
+
get indexField(): Int32Field;
|
|
24
|
+
get labelField(): StringField;
|
|
25
|
+
get enabledField(): BooleanField;
|
|
26
|
+
get minimizedField(): BooleanField;
|
|
27
|
+
get host(): PointerField<Pointers.AudioEffectHost>;
|
|
28
|
+
get modelJsonField(): StringField;
|
|
29
|
+
get monoField(): BooleanField;
|
|
30
|
+
get spectrum(): Address;
|
|
31
|
+
deviceHost(): DeviceHost;
|
|
32
|
+
audioUnitBoxAdapter(): AudioUnitBoxAdapter;
|
|
33
|
+
labeledAudioOutputs(): Iterable<LabeledAudioOutput>;
|
|
34
|
+
terminate(): void;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=NeuralAmpDeviceBoxAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NeuralAmpDeviceBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/audio-effects/NeuralAmpDeviceBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,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,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;;IACtE,QAAQ,CAAC,IAAI,kBAAiB;IAC9B,QAAQ,CAAC,OAAO,WAAU;IAC1B,QAAQ,CAAC,SAAS,sCAA6B;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,cAAc,IAAI,WAAW,CAA6B;IAC9D,IAAI,SAAS,IAAI,YAAY,CAAwB;IACrD,IAAI,QAAQ,IAAI,OAAO,CAAyC;IAEhE,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAExC,mBAAmB,IAAI,QAAQ,CAAC,kBAAkB,CAAC;IAIrD,SAAS,IAAI,IAAI;CAmBpB"}
|
|
@@ -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 _NeuralAmpDeviceBoxAdapter_instances, _NeuralAmpDeviceBoxAdapter_context, _NeuralAmpDeviceBoxAdapter_box, _NeuralAmpDeviceBoxAdapter_parametric, _NeuralAmpDeviceBoxAdapter_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 NeuralAmpDeviceBoxAdapter {
|
|
18
|
+
constructor(context, box) {
|
|
19
|
+
_NeuralAmpDeviceBoxAdapter_instances.add(this);
|
|
20
|
+
this.type = "audio-effect";
|
|
21
|
+
this.accepts = "audio";
|
|
22
|
+
this.manualUrl = DeviceManualUrls.NeuralAmp;
|
|
23
|
+
_NeuralAmpDeviceBoxAdapter_context.set(this, void 0);
|
|
24
|
+
_NeuralAmpDeviceBoxAdapter_box.set(this, void 0);
|
|
25
|
+
_NeuralAmpDeviceBoxAdapter_parametric.set(this, void 0);
|
|
26
|
+
__classPrivateFieldSet(this, _NeuralAmpDeviceBoxAdapter_context, context, "f");
|
|
27
|
+
__classPrivateFieldSet(this, _NeuralAmpDeviceBoxAdapter_box, box, "f");
|
|
28
|
+
__classPrivateFieldSet(this, _NeuralAmpDeviceBoxAdapter_parametric, new ParameterAdapterSet(__classPrivateFieldGet(this, _NeuralAmpDeviceBoxAdapter_context, "f")), "f");
|
|
29
|
+
this.namedParameter = __classPrivateFieldGet(this, _NeuralAmpDeviceBoxAdapter_instances, "m", _NeuralAmpDeviceBoxAdapter_wrapParameters).call(this, box);
|
|
30
|
+
}
|
|
31
|
+
get box() { return __classPrivateFieldGet(this, _NeuralAmpDeviceBoxAdapter_box, "f"); }
|
|
32
|
+
get uuid() { return __classPrivateFieldGet(this, _NeuralAmpDeviceBoxAdapter_box, "f").address.uuid; }
|
|
33
|
+
get address() { return __classPrivateFieldGet(this, _NeuralAmpDeviceBoxAdapter_box, "f").address; }
|
|
34
|
+
get indexField() { return __classPrivateFieldGet(this, _NeuralAmpDeviceBoxAdapter_box, "f").index; }
|
|
35
|
+
get labelField() { return __classPrivateFieldGet(this, _NeuralAmpDeviceBoxAdapter_box, "f").label; }
|
|
36
|
+
get enabledField() { return __classPrivateFieldGet(this, _NeuralAmpDeviceBoxAdapter_box, "f").enabled; }
|
|
37
|
+
get minimizedField() { return __classPrivateFieldGet(this, _NeuralAmpDeviceBoxAdapter_box, "f").minimized; }
|
|
38
|
+
get host() { return __classPrivateFieldGet(this, _NeuralAmpDeviceBoxAdapter_box, "f").host; }
|
|
39
|
+
get modelJsonField() { return __classPrivateFieldGet(this, _NeuralAmpDeviceBoxAdapter_box, "f").modelJson; }
|
|
40
|
+
get monoField() { return __classPrivateFieldGet(this, _NeuralAmpDeviceBoxAdapter_box, "f").mono; }
|
|
41
|
+
get spectrum() { return __classPrivateFieldGet(this, _NeuralAmpDeviceBoxAdapter_box, "f").address.append(0xFFF); }
|
|
42
|
+
deviceHost() {
|
|
43
|
+
return __classPrivateFieldGet(this, _NeuralAmpDeviceBoxAdapter_context, "f").boxAdapters
|
|
44
|
+
.adapterFor(__classPrivateFieldGet(this, _NeuralAmpDeviceBoxAdapter_box, "f").host.targetVertex.unwrap("no device-host").box, Devices.isHost);
|
|
45
|
+
}
|
|
46
|
+
audioUnitBoxAdapter() { return this.deviceHost().audioUnitBoxAdapter(); }
|
|
47
|
+
*labeledAudioOutputs() {
|
|
48
|
+
yield { address: this.address, label: this.labelField.getValue(), children: () => Option.None };
|
|
49
|
+
}
|
|
50
|
+
terminate() {
|
|
51
|
+
__classPrivateFieldGet(this, _NeuralAmpDeviceBoxAdapter_parametric, "f").terminate();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
_NeuralAmpDeviceBoxAdapter_context = new WeakMap(), _NeuralAmpDeviceBoxAdapter_box = new WeakMap(), _NeuralAmpDeviceBoxAdapter_parametric = new WeakMap(), _NeuralAmpDeviceBoxAdapter_instances = new WeakSet(), _NeuralAmpDeviceBoxAdapter_wrapParameters = function _NeuralAmpDeviceBoxAdapter_wrapParameters(box) {
|
|
55
|
+
return {
|
|
56
|
+
inputGain: __classPrivateFieldGet(this, _NeuralAmpDeviceBoxAdapter_parametric, "f").createParameter(box.inputGain, ValueMapping.decibel(-72.0, 0.0, 12.0), StringMapping.numeric({ unit: "dB", fractionDigits: 1 }), "input"),
|
|
57
|
+
outputGain: __classPrivateFieldGet(this, _NeuralAmpDeviceBoxAdapter_parametric, "f").createParameter(box.outputGain, ValueMapping.decibel(-72.0, 0.0, 12.0), StringMapping.numeric({ unit: "dB", fractionDigits: 1 }), "output"),
|
|
58
|
+
mix: __classPrivateFieldGet(this, _NeuralAmpDeviceBoxAdapter_parametric, "f").createParameter(box.mix, ValueMapping.linear(0.0, 1.0), StringMapping.percent(), "Mix")
|
|
59
|
+
};
|
|
60
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlayfieldSampleBoxAdapter.d.ts","sourceRoot":"","sources":["../../../../src/devices/instruments/Playfield/PlayfieldSampleBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"PlayfieldSampleBoxAdapter.d.ts","sourceRoot":"","sources":["../../../../src/devices/instruments/Playfield/PlayfieldSampleBoxAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,8 +11,8 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
11
11
|
};
|
|
12
12
|
var _PlayfieldSampleBoxAdapter_instances, _PlayfieldSampleBoxAdapter_terminator, _PlayfieldSampleBoxAdapter_context, _PlayfieldSampleBoxAdapter_box, _PlayfieldSampleBoxAdapter_midiEffects, _PlayfieldSampleBoxAdapter_audioEffects, _PlayfieldSampleBoxAdapter_parametric, _PlayfieldSampleBoxAdapter_file, _PlayfieldSampleBoxAdapter_wrapParameters;
|
|
13
13
|
import { Pointers } from "@opendaw/studio-enums";
|
|
14
|
-
import { PlayfieldSampleBox } from "@opendaw/studio-boxes";
|
|
15
|
-
import { Option, StringMapping, Terminator, UUID, ValueMapping } from "@opendaw/lib-std";
|
|
14
|
+
import { AudioFileBox, PlayfieldSampleBox } from "@opendaw/studio-boxes";
|
|
15
|
+
import { asInstanceOf, Option, StringMapping, Terminator, UUID, ValueMapping } from "@opendaw/lib-std";
|
|
16
16
|
import { Devices } from "../../../DeviceAdapter";
|
|
17
17
|
import { IndexedBoxAdapterCollection } from "../../../IndexedBoxAdapterCollection";
|
|
18
18
|
import { ParameterAdapterSet } from "../../../ParameterAdapterSet";
|
|
@@ -103,7 +103,7 @@ export class PlayfieldSampleBoxAdapter {
|
|
|
103
103
|
get audioEffects() {
|
|
104
104
|
return __classPrivateFieldGet(this, _PlayfieldSampleBoxAdapter_audioEffects, "f");
|
|
105
105
|
}
|
|
106
|
-
get labelField() { return __classPrivateFieldGet(this, _PlayfieldSampleBoxAdapter_box, "f").
|
|
106
|
+
get labelField() { return asInstanceOf(__classPrivateFieldGet(this, _PlayfieldSampleBoxAdapter_box, "f").file.targetVertex.unwrap().box, AudioFileBox).fileName; }
|
|
107
107
|
get enabledField() { return __classPrivateFieldGet(this, _PlayfieldSampleBoxAdapter_box, "f").enabled; }
|
|
108
108
|
get minimizedField() { return __classPrivateFieldGet(this, _PlayfieldSampleBoxAdapter_box, "f").minimized; }
|
|
109
109
|
device() {
|
package/dist/index.d.ts
CHANGED
|
@@ -55,6 +55,7 @@ export * from "./devices/audio-effects/FoldDeviceBoxAdapter";
|
|
|
55
55
|
export * from "./devices/audio-effects/GateDeviceBoxAdapter";
|
|
56
56
|
export * from "./devices/audio-effects/MaximizerDeviceBoxAdapter";
|
|
57
57
|
export * from "./devices/audio-effects/ModularDeviceBoxAdapter";
|
|
58
|
+
export * from "./devices/audio-effects/NeuralAmpDeviceBoxAdapter";
|
|
58
59
|
export * from "./devices/audio-effects/RevampDeviceBoxAdapter";
|
|
59
60
|
export * from "./devices/audio-effects/ReverbDeviceBoxAdapter";
|
|
60
61
|
export * from "./devices/audio-effects/StereoToolDeviceBoxAdapter";
|
|
@@ -146,8 +147,10 @@ export * from "./timeline/collection/NoteEventCollectionBoxAdapter";
|
|
|
146
147
|
export * from "./timeline/collection/ValueEventCollectionBoxAdapter";
|
|
147
148
|
export * from "./timeline/event/InterpolationFieldAdapter";
|
|
148
149
|
export * from "./timeline/event/NoteEventBoxAdapter";
|
|
150
|
+
export * from "./timeline/event/SelectableValueEvent";
|
|
149
151
|
export * from "./timeline/event/ValueEventBoxAdapter";
|
|
150
152
|
export * from "./timeline/region/AudioRegionBoxAdapter";
|
|
153
|
+
export * from "./timeline/region/FadingAdapter";
|
|
151
154
|
export * from "./timeline/region/MutableRegion";
|
|
152
155
|
export * from "./timeline/region/NoteRegionBoxAdapter";
|
|
153
156
|
export * from "./timeline/region/ValueRegionBoxAdapter";
|
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
|
@@ -57,6 +57,7 @@ export * from "./devices/audio-effects/FoldDeviceBoxAdapter";
|
|
|
57
57
|
export * from "./devices/audio-effects/GateDeviceBoxAdapter";
|
|
58
58
|
export * from "./devices/audio-effects/MaximizerDeviceBoxAdapter";
|
|
59
59
|
export * from "./devices/audio-effects/ModularDeviceBoxAdapter";
|
|
60
|
+
export * from "./devices/audio-effects/NeuralAmpDeviceBoxAdapter";
|
|
60
61
|
export * from "./devices/audio-effects/RevampDeviceBoxAdapter";
|
|
61
62
|
export * from "./devices/audio-effects/ReverbDeviceBoxAdapter";
|
|
62
63
|
export * from "./devices/audio-effects/StereoToolDeviceBoxAdapter";
|
|
@@ -148,8 +149,10 @@ export * from "./timeline/collection/NoteEventCollectionBoxAdapter";
|
|
|
148
149
|
export * from "./timeline/collection/ValueEventCollectionBoxAdapter";
|
|
149
150
|
export * from "./timeline/event/InterpolationFieldAdapter";
|
|
150
151
|
export * from "./timeline/event/NoteEventBoxAdapter";
|
|
152
|
+
export * from "./timeline/event/SelectableValueEvent";
|
|
151
153
|
export * from "./timeline/event/ValueEventBoxAdapter";
|
|
152
154
|
export * from "./timeline/region/AudioRegionBoxAdapter";
|
|
155
|
+
export * from "./timeline/region/FadingAdapter";
|
|
153
156
|
export * from "./timeline/region/MutableRegion";
|
|
154
157
|
export * from "./timeline/region/NoteRegionBoxAdapter";
|
|
155
158
|
export * from "./timeline/region/ValueRegionBoxAdapter";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectUtils.d.ts","sourceRoot":"","sources":["../../src/project/ProjectUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"ProjectUtils.d.ts","sourceRoot":"","sources":["../../src/project/ProjectUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAarC,OAAO,EAAC,YAAY,EAAmD,MAAM,uBAAuB,CAAA;AAEpG,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAC,YAAY,EAAgB,MAAM,WAAW,CAAA;AAGrD,yBAAiB,YAAY,CAAC;IAUnB,MAAM,iBAAiB,GAAI,gBAAgB,aAAa,CAAC,YAAY,CAAC,EAC3C,4DAAwD,eAAe,EACvE,UAAS;QACL,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,eAAe,CAAC,EAAE,OAAO,CAAC;KACxB,KAClC,aAAa,CAAC,YAAY,CAyB/B,CAAA;IAEM,MAAM,cAAc,GAAI,aAAa,aAAa,CAAC,YAAY,CAAC,EACxC,4DAAwD,eAAe,EACvE,iBAAgB,IAAU,KAAG,IA+C3D,CAAA;CA6FJ"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Arrays, asInstanceOf, assert, ByteArrayInput, isInstanceOf,
|
|
2
|
-
import {
|
|
1
|
+
import { Arrays, asInstanceOf, assert, ByteArrayInput, isInstanceOf, SetMultimap, UUID } from "@opendaw/lib-std";
|
|
2
|
+
import { AudioUnitBox, AuxSendBox, TrackBox } from "@opendaw/studio-boxes";
|
|
3
3
|
import { IndexedBox, PointerField } from "@opendaw/lib-box";
|
|
4
4
|
import { UnionBoxTypes } from "../unions";
|
|
5
5
|
import { AudioUnitOrdering } from "../factories/AudioUnitOrdering";
|
|
@@ -10,24 +10,20 @@ export var ProjectUtils;
|
|
|
10
10
|
const excludeTimelinePredicate = (box) => box.accept({
|
|
11
11
|
visitTrackBox: (_box) => true
|
|
12
12
|
}) === true;
|
|
13
|
+
const shouldExclude = (box) => box.ephemeral || box.name === AuxSendBox.ClassName;
|
|
13
14
|
ProjectUtils.extractAudioUnits = (audioUnitBoxes, { boxGraph, mandatoryBoxes: { primaryAudioBus, rootBox } }, options = {}) => {
|
|
14
15
|
assert(Arrays.satisfy(audioUnitBoxes, isSameGraph), "AudioUnits must share the same BoxGraph");
|
|
15
|
-
// TODO Implement include options.
|
|
16
16
|
assert(!options.includeAux && !options.includeBus, "Options are not yet implemented");
|
|
17
|
-
const excludeBox = options?.excludeTimeline === true
|
|
18
|
-
// Get dependencies using outgoing pointers only (no mandatory incoming following)
|
|
19
|
-
// This avoids pulling in boxes from previous copies that point to shared AudioFileBox
|
|
20
|
-
const baseDeps = audioUnitBoxes
|
|
21
|
-
.flatMap(box => Array.from(box.graph.dependenciesOf(box, { alwaysFollowMandatory: false, excludeBox }).boxes));
|
|
22
|
-
// Explicitly add instruments (they have mandatory incoming pointer to AudioUnitBox.input)
|
|
23
|
-
const instruments = audioUnitBoxes
|
|
24
|
-
.flatMap(audioUnitBox => audioUnitBox.input.pointerHub.incoming().map(({ box }) => box));
|
|
25
|
-
// Deduplicate by UUID
|
|
17
|
+
const excludeBox = (box) => shouldExclude(box) || (options?.excludeTimeline === true && excludeTimelinePredicate(box));
|
|
26
18
|
const seen = UUID.newSet(uuid => uuid);
|
|
27
|
-
const dependencies =
|
|
28
|
-
.
|
|
19
|
+
const dependencies = audioUnitBoxes
|
|
20
|
+
.flatMap(box => Array.from(box.graph.dependenciesOf(box, {
|
|
21
|
+
alwaysFollowMandatory: true,
|
|
22
|
+
stopAtResources: true,
|
|
23
|
+
excludeBox
|
|
24
|
+
}).boxes))
|
|
29
25
|
.filter(box => {
|
|
30
|
-
if (seen.
|
|
26
|
+
if (seen.hasKey(box.address.uuid)) {
|
|
31
27
|
return false;
|
|
32
28
|
}
|
|
33
29
|
seen.add(box.address.uuid);
|
|
@@ -46,7 +42,6 @@ export var ProjectUtils;
|
|
|
46
42
|
const regionBoxSet = new Set(regionBoxes);
|
|
47
43
|
const trackBoxSet = new Set();
|
|
48
44
|
const audioUnitBoxSet = new SetMultimap();
|
|
49
|
-
// Collect AudioUnits and Tracks
|
|
50
45
|
regionBoxes.forEach(regionBox => {
|
|
51
46
|
const trackBox = asInstanceOf(regionBox.regions.targetVertex.unwrap().box, TrackBox);
|
|
52
47
|
trackBoxSet.add(trackBox);
|
|
@@ -56,15 +51,18 @@ export var ProjectUtils;
|
|
|
56
51
|
console.debug(`Found ${audioUnitBoxSet.keyCount()} audioUnits`);
|
|
57
52
|
console.debug(`Found ${trackBoxSet.size} tracks`);
|
|
58
53
|
const audioUnitBoxes = [...audioUnitBoxSet.keys()];
|
|
59
|
-
const excludeBox =
|
|
54
|
+
const excludeBox = (box) => shouldExclude(box)
|
|
55
|
+
|| (isInstanceOf(box, TrackBox) && !trackBoxSet.has(box))
|
|
60
56
|
|| (UnionBoxTypes.isRegionBox(box) && !regionBoxSet.has(box));
|
|
61
57
|
const dependencies = audioUnitBoxes
|
|
62
|
-
.flatMap(box => Array.from(box.graph.dependenciesOf(box, {
|
|
63
|
-
|
|
58
|
+
.flatMap(box => Array.from(box.graph.dependenciesOf(box, {
|
|
59
|
+
excludeBox,
|
|
60
|
+
alwaysFollowMandatory: true,
|
|
61
|
+
stopAtResources: true
|
|
62
|
+
}).boxes));
|
|
64
63
|
const uuidMap = generateTransferMap(audioUnitBoxes, dependencies, rootBox.audioUnits.address.uuid, primaryAudioBus.address.uuid);
|
|
65
64
|
copy(uuidMap, boxGraph, audioUnitBoxes, dependencies);
|
|
66
65
|
reorderAudioUnits(uuidMap, audioUnitBoxes, rootBox);
|
|
67
|
-
// reorder track indices
|
|
68
66
|
audioUnitBoxSet.forEach((_, trackBoxes) => [...trackBoxes]
|
|
69
67
|
.sort(compareIndex)
|
|
70
68
|
.forEach((source, index) => {
|
|
@@ -73,14 +71,13 @@ export var ProjectUtils;
|
|
|
73
71
|
.unwrap("Target Track has not been copied");
|
|
74
72
|
asInstanceOf(box, TrackBox).index.setValue(index);
|
|
75
73
|
}));
|
|
76
|
-
// move new regions to the target position
|
|
77
74
|
const minPosition = regionBoxes.reduce((min, region) => Math.min(min, region.position.getValue()), Number.MAX_VALUE);
|
|
78
75
|
const delta = insertPosition - minPosition;
|
|
79
76
|
regionBoxes.forEach((source) => {
|
|
80
77
|
const box = boxGraph
|
|
81
78
|
.findBox(uuidMap.get(source.address.uuid).target)
|
|
82
79
|
.unwrap("Target Track has not been copied");
|
|
83
|
-
const position = UnionBoxTypes.asRegionBox(box)
|
|
80
|
+
const { position } = UnionBoxTypes.asRegionBox(box);
|
|
84
81
|
position.setValue(position.getValue() + delta);
|
|
85
82
|
});
|
|
86
83
|
};
|
|
@@ -104,25 +101,30 @@ export var ProjectUtils;
|
|
|
104
101
|
target: UUID.generate()
|
|
105
102
|
})),
|
|
106
103
|
...dependencies
|
|
107
|
-
.map(
|
|
108
|
-
source: uuid,
|
|
109
|
-
target:
|
|
110
|
-
? uuid
|
|
111
|
-
: UUID.generate()
|
|
104
|
+
.map(box => ({
|
|
105
|
+
source: box.address.uuid,
|
|
106
|
+
target: box.resource === "external" ? box.address.uuid : UUID.generate()
|
|
112
107
|
}))
|
|
113
108
|
]);
|
|
114
109
|
return uuidMap;
|
|
115
110
|
};
|
|
116
111
|
const copy = (uuidMap, boxGraph, audioUnitBoxes, dependencies) => {
|
|
117
|
-
|
|
118
|
-
const existingFileBoxUUIDs = UUID.newSet(uuid => uuid);
|
|
112
|
+
const existingExternalResourceUUIDs = UUID.newSet(uuid => uuid);
|
|
119
113
|
dependencies.forEach((source) => {
|
|
120
|
-
if (source
|
|
121
|
-
|
|
122
|
-
existingFileBoxUUIDs.add(source.address.uuid);
|
|
123
|
-
}
|
|
114
|
+
if (source.resource === "external" && boxGraph.findBox(source.address.uuid).nonEmpty()) {
|
|
115
|
+
existingExternalResourceUUIDs.add(source.address.uuid);
|
|
124
116
|
}
|
|
125
117
|
});
|
|
118
|
+
const isOwnedByExistingExternalResource = (box) => {
|
|
119
|
+
for (const [pointer, targetAddress] of box.outgoingEdges()) {
|
|
120
|
+
if (pointer.mandatory && !targetAddress.isBox()) {
|
|
121
|
+
if (existingExternalResourceUUIDs.hasKey(targetAddress.uuid)) {
|
|
122
|
+
return true;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return false;
|
|
127
|
+
};
|
|
126
128
|
PointerField.decodeWith({
|
|
127
129
|
map: (_pointer, newAddress) => newAddress.map(address => uuidMap.opt(address.uuid).match({
|
|
128
130
|
none: () => address,
|
|
@@ -138,18 +140,11 @@ export var ProjectUtils;
|
|
|
138
140
|
});
|
|
139
141
|
dependencies
|
|
140
142
|
.forEach((source) => {
|
|
141
|
-
if (source
|
|
142
|
-
|
|
143
|
-
if (existingFileBoxUUIDs.opt(source.address.uuid).nonEmpty()) {
|
|
144
|
-
return;
|
|
145
|
-
}
|
|
143
|
+
if (existingExternalResourceUUIDs.hasKey(source.address.uuid)) {
|
|
144
|
+
return;
|
|
146
145
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
const ownerUUID = source.owner.targetAddress.unwrap().uuid;
|
|
150
|
-
if (existingFileBoxUUIDs.opt(ownerUUID).nonEmpty()) {
|
|
151
|
-
return;
|
|
152
|
-
}
|
|
146
|
+
if (isOwnedByExistingExternalResource(source)) {
|
|
147
|
+
return;
|
|
153
148
|
}
|
|
154
149
|
const input = new ByteArrayInput(source.toArrayBuffer());
|
|
155
150
|
const key = source.name;
|
package/dist/protocols.d.ts
CHANGED
|
@@ -23,6 +23,7 @@ export interface EngineToClient {
|
|
|
23
23
|
error(reason: unknown): void;
|
|
24
24
|
fetchAudio(uuid: UUID.Bytes): Promise<AudioData>;
|
|
25
25
|
fetchSoundfont(uuid: UUID.Bytes): Promise<SoundFont2>;
|
|
26
|
+
fetchNamWasm(): Promise<ArrayBuffer>;
|
|
26
27
|
notifyClipSequenceChanges(changes: ClipSequencingUpdates): void;
|
|
27
28
|
switchMarkerState(state: Nullable<[UUID.Bytes, int]>): void;
|
|
28
29
|
ready(): void;
|
package/dist/protocols.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocols.d.ts","sourceRoot":"","sources":["../src/protocols.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAChE,OAAO,EAAC,SAAS,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAC,qBAAqB,EAAC,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,YAAY,CAAA;AAE1C,MAAM,WAAW,cAAe,SAAQ,UAAU;IAC9C,IAAI,IAAI,IAAI,CAAA;IACZ,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAC1B,WAAW,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAA;IACjC,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAC7C,aAAa,IAAI,IAAI,CAAA;IACrB,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IAExC,KAAK,IAAI,IAAI,CAAA;IAEb,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAA;IACpC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IAExC,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;IAC1D,gBAAgB,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;IAC3D,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAE7D,cAAc,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;CACtD;AAED,MAAM,WAAW,cAAc;IAC3B,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5B,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAChD,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACrD,yBAAyB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAAA;IAC/D,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAA;IAC3D,KAAK,IAAI,IAAI,CAAA;CAChB"}
|
|
1
|
+
{"version":3,"file":"protocols.d.ts","sourceRoot":"","sources":["../src/protocols.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAChE,OAAO,EAAC,SAAS,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAC,qBAAqB,EAAC,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,YAAY,CAAA;AAE1C,MAAM,WAAW,cAAe,SAAQ,UAAU;IAC9C,IAAI,IAAI,IAAI,CAAA;IACZ,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAC1B,WAAW,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAA;IACjC,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAC7C,aAAa,IAAI,IAAI,CAAA;IACrB,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IAExC,KAAK,IAAI,IAAI,CAAA;IAEb,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAA;IACpC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IAExC,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;IAC1D,gBAAgB,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;IAC3D,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAE7D,cAAc,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;CACtD;AAED,MAAM,WAAW,cAAc;IAC3B,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5B,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAChD,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACrD,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC,CAAA;IACpC,yBAAyB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAAA;IAC/D,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAA;IAC3D,KAAK,IAAI,IAAI,CAAA;CAChB"}
|
|
@@ -45,10 +45,9 @@ export interface LoopableRegionBoxAdapter<CONTENT> extends RegionBoxAdapter<CONT
|
|
|
45
45
|
get offset(): ppqn;
|
|
46
46
|
get loopOffset(): ppqn;
|
|
47
47
|
get loopDuration(): ppqn;
|
|
48
|
-
|
|
49
|
-
resolveLoopOffset(position: ppqn): ppqn;
|
|
50
|
-
/** Resolve loopDuration at a given position (for preview during drag operations) */
|
|
48
|
+
set loopDuration(value: ppqn);
|
|
51
49
|
resolveLoopDuration(position: ppqn): ppqn;
|
|
50
|
+
moveContentStart(delta: ppqn): void;
|
|
52
51
|
}
|
|
53
52
|
export declare const RegionComparator: Comparator<AnyRegionBoxAdapter>;
|
|
54
53
|
export declare const RegionAdapters: {
|