@opendaw/studio-adapters 0.0.100 → 0.0.101
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AutomatableParameterFieldAdapter.d.ts +1 -1
- package/dist/AutomatableParameterFieldAdapter.d.ts.map +1 -1
- package/dist/AutomatableParameterFieldAdapter.js +6 -4
- package/dist/NoteStreamReceiver.d.ts +2 -1
- package/dist/NoteStreamReceiver.d.ts.map +1 -1
- package/dist/NoteStreamReceiver.js +25 -13
- package/dist/ParameterAdapterSet.d.ts +1 -1
- package/dist/ParameterAdapterSet.d.ts.map +1 -1
- package/dist/ParameterAdapterSet.js +2 -2
- package/dist/ScriptCompiler.d.ts +5 -7
- package/dist/ScriptCompiler.d.ts.map +1 -1
- package/dist/ScriptCompiler.js +8 -6
- package/dist/{ScriptParamDeclaration.d.ts → ScriptDeclaration.d.ts} +4 -3
- package/dist/ScriptDeclaration.d.ts.map +1 -0
- package/dist/{ScriptParamDeclaration.js → ScriptDeclaration.js} +31 -19
- package/dist/devices/audio-effects/WerkstattDeviceBoxAdapter.js +2 -2
- package/dist/devices/instruments/ApparatDeviceBoxAdapter.js +2 -2
- package/dist/devices/midi-effects/SpielwerkDeviceBoxAdapter.js +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/preset/PresetDecoder.js +1 -1
- package/dist/preset/PresetEncoder.js +1 -1
- package/dist/project/ProjectSkeleton.d.ts +1 -1
- package/dist/project/ProjectSkeleton.d.ts.map +1 -1
- package/dist/project/ProjectSkeleton.js +5 -6
- package/package.json +9 -9
- package/dist/ScriptParamDeclaration.d.ts.map +0 -1
|
@@ -7,7 +7,7 @@ import { AudioUnitTracks } from "./audio-unit/AudioUnitTracks";
|
|
|
7
7
|
import { BoxAdaptersContext } from "./BoxAdaptersContext";
|
|
8
8
|
export declare class AutomatableParameterFieldAdapter<T extends PrimitiveValues = any> implements Parameter<T>, Terminable {
|
|
9
9
|
#private;
|
|
10
|
-
constructor(context: BoxAdaptersContext, field: PrimitiveField<T, any>, valueMapping: ValueMapping<T>, stringMapping: StringMapping<T>, name: string, anchor?: unitValue);
|
|
10
|
+
constructor(context: BoxAdaptersContext, field: PrimitiveField<T, any>, valueMapping: ValueMapping<T>, stringMapping: StringMapping<T>, name: string, anchor?: unitValue, resetValue?: T);
|
|
11
11
|
registerMidiControl(): Terminable;
|
|
12
12
|
get field(): PrimitiveField<T, Pointers.Automation>;
|
|
13
13
|
get valueMapping(): ValueMapping<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutomatableParameterFieldAdapter.d.ts","sourceRoot":"","sources":["../src/AutomatableParameterFieldAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,qBAAqB,EAIrB,QAAQ,EACR,MAAM,EAEN,SAAS,EACT,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,UAAU,EAEV,SAAS,EACT,YAAY,EACf,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAAC,OAAO,EAA8B,cAAc,EAAE,aAAa,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAA;AACpH,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAE9C,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AAQvD,qBAAa,gCAAgC,CAAC,CAAC,SAAS,eAAe,GAAG,GAAG,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU;;
|
|
1
|
+
{"version":3,"file":"AutomatableParameterFieldAdapter.d.ts","sourceRoot":"","sources":["../src/AutomatableParameterFieldAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,qBAAqB,EAIrB,QAAQ,EACR,MAAM,EAEN,SAAS,EACT,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,UAAU,EAEV,SAAS,EACT,YAAY,EACf,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAAC,OAAO,EAA8B,cAAc,EAAE,aAAa,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAA;AACpH,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAE9C,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AAQvD,qBAAa,gCAAgC,CAAC,CAAC,SAAS,eAAe,GAAG,GAAG,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU;;gBAmBlG,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,EAC7B,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,EAC7B,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,EAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,SAAS,EAClB,UAAU,CAAC,EAAE,CAAC;IA2D1B,mBAAmB,IAAI,UAAU;IAWjC,IAAI,KAAK,IAAI,cAAc,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAqB;IACxE,IAAI,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,CAA4B;IAC/D,IAAI,aAAa,IAAI,aAAa,CAAC,CAAC,CAAC,CAA6B;IAClE,IAAI,IAAI,IAAI,MAAM,CAAoB;IACtC,IAAI,MAAM,IAAI,SAAS,CAAsB;IAC7C,IAAI,IAAI,IAAI,aAAa,CAA0B;IACnD,IAAI,OAAO,IAAI,OAAO,CAA6B;IACnD,IAAI,KAAK,IAAI,MAAM,CAAC,eAAe,CAAC,CAA+B;IAEnE,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,UAAU;IAGnD,UAAU,IAAI,IAAI;IAIlB,QAAQ,IAAI,IAAI;IAEhB,cAAc,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAMpF,OAAO,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC;IAW1B,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY;IAIhF,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY;IAK1F,iCAAiC,CAAC,QAAQ,EAAE,qBAAqB,GAAG,YAAY;IAMhF,QAAQ,IAAI,CAAC;IACb,QAAQ,CAAC,KAAK,EAAE,CAAC;IAMjB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IACpC,YAAY,IAAI,SAAS;IACzB,kBAAkB,IAAI,CAAC;IACvB,sBAAsB,IAAI,SAAS;IACnC,uBAAuB,IAAI,QAAQ,CAAC,YAAY,CAAC;IACjD,aAAa,IAAI,QAAQ,CAAC,YAAY,CAAC;IACvC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAWjC,KAAK,IAAI,IAAI;IAEb,SAAS,IAAI,IAAI;CAKpB"}
|
|
@@ -9,7 +9,7 @@ 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 _AutomatableParameterFieldAdapter_context, _AutomatableParameterFieldAdapter_field, _AutomatableParameterFieldAdapter_name, _AutomatableParameterFieldAdapter_anchor, _AutomatableParameterFieldAdapter_terminator, _AutomatableParameterFieldAdapter_valueChangeNotifier, _AutomatableParameterFieldAdapter_controlSource, _AutomatableParameterFieldAdapter_valueMapping, _AutomatableParameterFieldAdapter_stringMapping, _AutomatableParameterFieldAdapter_trackBoxAdapter, _AutomatableParameterFieldAdapter_automationHandle, _AutomatableParameterFieldAdapter_controlledValue, _AutomatableParameterFieldAdapter_midiControlled;
|
|
12
|
+
var _AutomatableParameterFieldAdapter_context, _AutomatableParameterFieldAdapter_field, _AutomatableParameterFieldAdapter_name, _AutomatableParameterFieldAdapter_anchor, _AutomatableParameterFieldAdapter_resetValue, _AutomatableParameterFieldAdapter_terminator, _AutomatableParameterFieldAdapter_valueChangeNotifier, _AutomatableParameterFieldAdapter_controlSource, _AutomatableParameterFieldAdapter_valueMapping, _AutomatableParameterFieldAdapter_stringMapping, _AutomatableParameterFieldAdapter_trackBoxAdapter, _AutomatableParameterFieldAdapter_automationHandle, _AutomatableParameterFieldAdapter_controlledValue, _AutomatableParameterFieldAdapter_midiControlled;
|
|
13
13
|
import { assert, clamp, Listeners, Notifier, Option, panic, Terminator } from "@opendaw/lib-std";
|
|
14
14
|
import { Pointers } from "@opendaw/studio-enums";
|
|
15
15
|
import { TrackBoxAdapter } from "./timeline/TrackBoxAdapter";
|
|
@@ -20,11 +20,12 @@ const ExternalControlTypes = [
|
|
|
20
20
|
Pointers.ParameterController
|
|
21
21
|
];
|
|
22
22
|
export class AutomatableParameterFieldAdapter {
|
|
23
|
-
constructor(context, field, valueMapping, stringMapping, name, anchor) {
|
|
23
|
+
constructor(context, field, valueMapping, stringMapping, name, anchor, resetValue) {
|
|
24
24
|
_AutomatableParameterFieldAdapter_context.set(this, void 0);
|
|
25
25
|
_AutomatableParameterFieldAdapter_field.set(this, void 0);
|
|
26
26
|
_AutomatableParameterFieldAdapter_name.set(this, void 0);
|
|
27
27
|
_AutomatableParameterFieldAdapter_anchor.set(this, void 0);
|
|
28
|
+
_AutomatableParameterFieldAdapter_resetValue.set(this, void 0);
|
|
28
29
|
_AutomatableParameterFieldAdapter_terminator.set(this, new Terminator());
|
|
29
30
|
_AutomatableParameterFieldAdapter_valueChangeNotifier.set(this, void 0);
|
|
30
31
|
_AutomatableParameterFieldAdapter_controlSource.set(this, void 0);
|
|
@@ -40,6 +41,7 @@ export class AutomatableParameterFieldAdapter {
|
|
|
40
41
|
__classPrivateFieldSet(this, _AutomatableParameterFieldAdapter_stringMapping, stringMapping, "f");
|
|
41
42
|
__classPrivateFieldSet(this, _AutomatableParameterFieldAdapter_name, name, "f");
|
|
42
43
|
__classPrivateFieldSet(this, _AutomatableParameterFieldAdapter_anchor, anchor ?? 0.0, "f");
|
|
44
|
+
__classPrivateFieldSet(this, _AutomatableParameterFieldAdapter_resetValue, Option.wrap(resetValue), "f");
|
|
43
45
|
__classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_terminator, "f").own(__classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_context, "f").parameterFieldAdapters.register(this));
|
|
44
46
|
__classPrivateFieldSet(this, _AutomatableParameterFieldAdapter_valueChangeNotifier, __classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_terminator, "f").own(new Notifier()), "f");
|
|
45
47
|
__classPrivateFieldSet(this, _AutomatableParameterFieldAdapter_controlSource, new Listeners(), "f");
|
|
@@ -174,14 +176,14 @@ export class AutomatableParameterFieldAdapter {
|
|
|
174
176
|
console.debug(`Unknown text input: '${result.value}'`);
|
|
175
177
|
}
|
|
176
178
|
}
|
|
177
|
-
reset() { this.setValue(__classPrivateFieldGet(this,
|
|
179
|
+
reset() { this.setValue(__classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_resetValue, "f").unwrapOrElse(__classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_field, "f").initValue)); }
|
|
178
180
|
terminate() {
|
|
179
181
|
__classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_automationHandle, "f").ifSome(handle => handle.terminate());
|
|
180
182
|
__classPrivateFieldSet(this, _AutomatableParameterFieldAdapter_automationHandle, Option.None, "f");
|
|
181
183
|
__classPrivateFieldGet(this, _AutomatableParameterFieldAdapter_terminator, "f").terminate();
|
|
182
184
|
}
|
|
183
185
|
}
|
|
184
|
-
_AutomatableParameterFieldAdapter_context = new WeakMap(), _AutomatableParameterFieldAdapter_field = new WeakMap(), _AutomatableParameterFieldAdapter_name = new WeakMap(), _AutomatableParameterFieldAdapter_anchor = new WeakMap(), _AutomatableParameterFieldAdapter_terminator = new WeakMap(), _AutomatableParameterFieldAdapter_valueChangeNotifier = new WeakMap(), _AutomatableParameterFieldAdapter_controlSource = new WeakMap(), _AutomatableParameterFieldAdapter_valueMapping = new WeakMap(), _AutomatableParameterFieldAdapter_stringMapping = new WeakMap(), _AutomatableParameterFieldAdapter_trackBoxAdapter = new WeakMap(), _AutomatableParameterFieldAdapter_automationHandle = new WeakMap(), _AutomatableParameterFieldAdapter_controlledValue = new WeakMap(), _AutomatableParameterFieldAdapter_midiControlled = new WeakMap();
|
|
186
|
+
_AutomatableParameterFieldAdapter_context = new WeakMap(), _AutomatableParameterFieldAdapter_field = new WeakMap(), _AutomatableParameterFieldAdapter_name = new WeakMap(), _AutomatableParameterFieldAdapter_anchor = new WeakMap(), _AutomatableParameterFieldAdapter_resetValue = new WeakMap(), _AutomatableParameterFieldAdapter_terminator = new WeakMap(), _AutomatableParameterFieldAdapter_valueChangeNotifier = new WeakMap(), _AutomatableParameterFieldAdapter_controlSource = new WeakMap(), _AutomatableParameterFieldAdapter_valueMapping = new WeakMap(), _AutomatableParameterFieldAdapter_stringMapping = new WeakMap(), _AutomatableParameterFieldAdapter_trackBoxAdapter = new WeakMap(), _AutomatableParameterFieldAdapter_automationHandle = new WeakMap(), _AutomatableParameterFieldAdapter_controlledValue = new WeakMap(), _AutomatableParameterFieldAdapter_midiControlled = new WeakMap();
|
|
185
187
|
const mapPointerToControlSource = (pointer) => {
|
|
186
188
|
switch (pointer) {
|
|
187
189
|
case Pointers.Automation:
|
|
@@ -3,7 +3,8 @@ import { Address } from "@opendaw/lib-box";
|
|
|
3
3
|
import { LiveStreamReceiver } from "@opendaw/lib-fusion";
|
|
4
4
|
export declare class NoteStreamReceiver implements Terminable {
|
|
5
5
|
#private;
|
|
6
|
-
constructor(receiver: LiveStreamReceiver, address
|
|
6
|
+
constructor(receiver: LiveStreamReceiver, address?: Address);
|
|
7
|
+
bind(receiver: LiveStreamReceiver, address: Address): Terminable;
|
|
7
8
|
isNoteOn(note: byte): boolean;
|
|
8
9
|
isAnyNoteOn(): boolean;
|
|
9
10
|
subscribe(observer: Observer<this>): Subscription;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NoteStreamReceiver.d.ts","sourceRoot":"","sources":["../src/NoteStreamReceiver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,IAAI,EAAY,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAa,MAAM,kBAAkB,CAAA;AACrG,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAA;AAEtD,qBAAa,kBAAmB,YAAW,UAAU;;
|
|
1
|
+
{"version":3,"file":"NoteStreamReceiver.d.ts","sourceRoot":"","sources":["../src/NoteStreamReceiver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,IAAI,EAAY,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAa,MAAM,kBAAkB,CAAA;AACrG,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAA;AAEtD,qBAAa,kBAAmB,YAAW,UAAU;;gBAOrC,QAAQ,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,OAAO;IAQ3D,IAAI,CAAC,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU;IAQhE,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAC7B,WAAW,IAAI,OAAO;IAEtB,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY;IAEjD,SAAS,IAAI,IAAI;CAYpB"}
|
|
@@ -9,28 +9,40 @@ 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 _NoteStreamReceiver_terminator,
|
|
13
|
-
import { Bits, Notifier, Terminator } from "@opendaw/lib-std";
|
|
12
|
+
var _NoteStreamReceiver_instances, _NoteStreamReceiver_terminator, _NoteStreamReceiver_bits, _NoteStreamReceiver_notifier, _NoteStreamReceiver_binding, _NoteStreamReceiver_subscribe;
|
|
13
|
+
import { Bits, Notifier, Terminable, Terminator } from "@opendaw/lib-std";
|
|
14
14
|
export class NoteStreamReceiver {
|
|
15
15
|
constructor(receiver, address) {
|
|
16
|
+
_NoteStreamReceiver_instances.add(this);
|
|
16
17
|
_NoteStreamReceiver_terminator.set(this, new Terminator());
|
|
17
|
-
_NoteStreamReceiver_receiver.set(this, void 0);
|
|
18
|
-
_NoteStreamReceiver_address.set(this, void 0);
|
|
19
18
|
_NoteStreamReceiver_bits.set(this, void 0);
|
|
20
19
|
_NoteStreamReceiver_notifier.set(this, void 0);
|
|
21
|
-
|
|
22
|
-
__classPrivateFieldSet(this, _NoteStreamReceiver_address, address, "f");
|
|
20
|
+
_NoteStreamReceiver_binding.set(this, Terminable.Empty);
|
|
23
21
|
__classPrivateFieldSet(this, _NoteStreamReceiver_bits, new Bits(128), "f");
|
|
24
22
|
__classPrivateFieldSet(this, _NoteStreamReceiver_notifier, new Notifier(), "f");
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
23
|
+
if (address !== undefined) {
|
|
24
|
+
__classPrivateFieldSet(this, _NoteStreamReceiver_binding, __classPrivateFieldGet(this, _NoteStreamReceiver_instances, "m", _NoteStreamReceiver_subscribe).call(this, receiver, address), "f");
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
bind(receiver, address) {
|
|
28
|
+
__classPrivateFieldGet(this, _NoteStreamReceiver_binding, "f").terminate();
|
|
29
|
+
__classPrivateFieldGet(this, _NoteStreamReceiver_bits, "f").clear();
|
|
30
|
+
__classPrivateFieldSet(this, _NoteStreamReceiver_binding, __classPrivateFieldGet(this, _NoteStreamReceiver_instances, "m", _NoteStreamReceiver_subscribe).call(this, receiver, address), "f");
|
|
31
|
+
__classPrivateFieldGet(this, _NoteStreamReceiver_notifier, "f").notify(this);
|
|
32
|
+
return __classPrivateFieldGet(this, _NoteStreamReceiver_binding, "f");
|
|
30
33
|
}
|
|
31
34
|
isNoteOn(note) { return __classPrivateFieldGet(this, _NoteStreamReceiver_bits, "f").getBit(note); }
|
|
32
35
|
isAnyNoteOn() { return __classPrivateFieldGet(this, _NoteStreamReceiver_bits, "f").nonEmpty(); }
|
|
33
36
|
subscribe(observer) { return __classPrivateFieldGet(this, _NoteStreamReceiver_notifier, "f").subscribe(observer); }
|
|
34
|
-
terminate() {
|
|
37
|
+
terminate() {
|
|
38
|
+
__classPrivateFieldGet(this, _NoteStreamReceiver_binding, "f").terminate();
|
|
39
|
+
__classPrivateFieldGet(this, _NoteStreamReceiver_terminator, "f").terminate();
|
|
40
|
+
}
|
|
35
41
|
}
|
|
36
|
-
_NoteStreamReceiver_terminator = new WeakMap(),
|
|
42
|
+
_NoteStreamReceiver_terminator = new WeakMap(), _NoteStreamReceiver_bits = new WeakMap(), _NoteStreamReceiver_notifier = new WeakMap(), _NoteStreamReceiver_binding = new WeakMap(), _NoteStreamReceiver_instances = new WeakSet(), _NoteStreamReceiver_subscribe = function _NoteStreamReceiver_subscribe(receiver, address) {
|
|
43
|
+
return receiver.subscribeIntegers(address, (array) => {
|
|
44
|
+
if (__classPrivateFieldGet(this, _NoteStreamReceiver_bits, "f").replace(array.buffer)) {
|
|
45
|
+
__classPrivateFieldGet(this, _NoteStreamReceiver_notifier, "f").notify(this);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
};
|
|
@@ -8,7 +8,7 @@ export declare class ParameterAdapterSet implements Terminable {
|
|
|
8
8
|
terminate(): void;
|
|
9
9
|
parameters(): ReadonlyArray<AutomatableParameterFieldAdapter>;
|
|
10
10
|
parameterAt(address: Address): AutomatableParameterFieldAdapter;
|
|
11
|
-
createParameter<T extends PrimitiveValues>(field: PrimitiveField<T, PointerTypes>, valueMapping: ValueMapping<T>, stringMapping: StringMapping<T>, name: string, anchor?: unitValue): AutomatableParameterFieldAdapter<T>;
|
|
11
|
+
createParameter<T extends PrimitiveValues>(field: PrimitiveField<T, PointerTypes>, valueMapping: ValueMapping<T>, stringMapping: StringMapping<T>, name: string, anchor?: unitValue, resetValue?: T): AutomatableParameterFieldAdapter<T>;
|
|
12
12
|
removeParameter<T extends PrimitiveValues>(address: Address): AutomatableParameterFieldAdapter<T>;
|
|
13
13
|
}
|
|
14
14
|
//# sourceMappingURL=ParameterAdapterSet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParameterAdapterSet.d.ts","sourceRoot":"","sources":["../src/ParameterAdapterSet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAA;AACvF,OAAO,EAAoB,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAC,MAAM,kBAAkB,CAAA;AACtG,OAAO,EAAC,gCAAgC,EAAC,MAAM,oCAAoC,CAAA;AAEnF,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AAEvD,qBAAa,mBAAoB,YAAW,UAAU;;gBAItC,OAAO,EAAE,kBAAkB;IAKvC,SAAS,IAAI,IAAI;IAKjB,UAAU,IAAI,aAAa,CAAC,gCAAgC,CAAC;IAC7D,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,gCAAgC;IAK/D,eAAe,CAAC,CAAC,SAAS,eAAe,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,YAAY,CAAC,EACtC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,EAC7B,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,EAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,SAAS,GAAG,gCAAgC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ParameterAdapterSet.d.ts","sourceRoot":"","sources":["../src/ParameterAdapterSet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAA;AACvF,OAAO,EAAoB,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAC,MAAM,kBAAkB,CAAA;AACtG,OAAO,EAAC,gCAAgC,EAAC,MAAM,oCAAoC,CAAA;AAEnF,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AAEvD,qBAAa,mBAAoB,YAAW,UAAU;;gBAItC,OAAO,EAAE,kBAAkB;IAKvC,SAAS,IAAI,IAAI;IAKjB,UAAU,IAAI,aAAa,CAAC,gCAAgC,CAAC;IAC7D,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,gCAAgC;IAK/D,eAAe,CAAC,CAAC,SAAS,eAAe,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,YAAY,CAAC,EACtC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,EAC7B,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,EAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,SAAS,EAClB,UAAU,CAAC,EAAE,CAAC,GAAG,gCAAgC,CAAC,CAAC,CAAC;IAQ/F,eAAe,CAAC,CAAC,SAAS,eAAe,EAAE,OAAO,EAAE,OAAO,GAAG,gCAAgC,CAAC,CAAC,CAAC;CAGpG"}
|
|
@@ -28,8 +28,8 @@ export class ParameterAdapterSet {
|
|
|
28
28
|
parameterAt(address) {
|
|
29
29
|
return __classPrivateFieldGet(this, _ParameterAdapterSet_parameters, "f").getOrThrow(address, () => new Error(`No ParameterAdapter found at [${address.toString()}]`));
|
|
30
30
|
}
|
|
31
|
-
createParameter(field, valueMapping, stringMapping, name, anchor) {
|
|
32
|
-
const adapter = new AutomatableParameterFieldAdapter(__classPrivateFieldGet(this, _ParameterAdapterSet_context, "f"), field, valueMapping, stringMapping, name, anchor);
|
|
31
|
+
createParameter(field, valueMapping, stringMapping, name, anchor, resetValue) {
|
|
32
|
+
const adapter = new AutomatableParameterFieldAdapter(__classPrivateFieldGet(this, _ParameterAdapterSet_context, "f"), field, valueMapping, stringMapping, name, anchor, resetValue);
|
|
33
33
|
const added = __classPrivateFieldGet(this, _ParameterAdapterSet_parameters, "f").add(adapter);
|
|
34
34
|
assert(added, `Could not add adapter for ${field}`);
|
|
35
35
|
return adapter;
|
package/dist/ScriptCompiler.d.ts
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import { Editing
|
|
1
|
+
import { Editing } from "@opendaw/lib-std";
|
|
2
2
|
import { BoxGraph, Field, StringField } from "@opendaw/lib-box";
|
|
3
3
|
import { Pointers } from "@opendaw/studio-enums";
|
|
4
|
+
import { DeviceBox } from "./DeviceBox";
|
|
4
5
|
export declare namespace ScriptCompiler {
|
|
5
|
-
interface DeviceBox {
|
|
6
|
+
interface ScriptDeviceBox extends DeviceBox {
|
|
6
7
|
readonly graph: BoxGraph;
|
|
7
|
-
readonly address: {
|
|
8
|
-
readonly uuid: UUID.Bytes;
|
|
9
|
-
};
|
|
10
8
|
readonly code: StringField;
|
|
11
9
|
readonly parameters: Field<Pointers.Parameter>;
|
|
12
10
|
readonly samples: Field<Pointers.Sample>;
|
|
@@ -18,8 +16,8 @@ export declare namespace ScriptCompiler {
|
|
|
18
16
|
};
|
|
19
17
|
const create: (config: Config) => {
|
|
20
18
|
stripHeader: (source: string) => string;
|
|
21
|
-
load: (audioContext: BaseAudioContext, deviceBox:
|
|
22
|
-
compile: (audioContext: BaseAudioContext, editing: Editing, deviceBox:
|
|
19
|
+
load: (audioContext: BaseAudioContext, deviceBox: ScriptDeviceBox) => Promise<void>;
|
|
20
|
+
compile: (audioContext: BaseAudioContext, editing: Editing, deviceBox: ScriptDeviceBox, source: string, append?: boolean) => Promise<void>;
|
|
23
21
|
};
|
|
24
22
|
}
|
|
25
23
|
//# sourceMappingURL=ScriptCompiler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScriptCompiler.d.ts","sourceRoot":"","sources":["../src/ScriptCompiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,OAAO,
|
|
1
|
+
{"version":3,"file":"ScriptCompiler.d.ts","sourceRoot":"","sources":["../src/ScriptCompiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,OAAO,EAAkB,MAAM,kBAAkB,CAAA;AACvE,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAG9C,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAA;AAmIrC,yBAAiB,cAAc,CAAC;IAC5B,UAAiB,eAAgB,SAAQ,SAAS;QAC9C,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;QACxB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;QAC1B,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QAC9C,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;KAC3C;IAED,KAAY,MAAM,GAAG;QACjB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;QAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;QAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;KAChC,CAAA;IAEM,MAAM,MAAM,GAAI,QAAQ,MAAM;8BAMP,MAAM,KAAG,MAAM;6BACV,gBAAgB,aAAa,eAAe,KAAG,OAAO,CAAC,IAAI,CAAC;gCAYzD,gBAAgB,WACrB,OAAO,aACL,eAAe,UAClB,MAAM,WACN,OAAO,KAAW,OAAO,CAAC,IAAI,CAAC;KA2B9D,CAAA;CACJ"}
|
package/dist/ScriptCompiler.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { asInstanceOf, isDefined, UUID } from "@opendaw/lib-std";
|
|
2
2
|
import { WerkstattParameterBox, WerkstattSampleBox } from "@opendaw/studio-boxes";
|
|
3
|
-
import {
|
|
3
|
+
import { ScriptDeclaration } from "./ScriptDeclaration";
|
|
4
4
|
const COMPILER_VERSION = 1;
|
|
5
5
|
const createHeaderPattern = (tag) => new RegExp(`^// @${tag} (\\w+) (\\d+) (\\d+)\n`);
|
|
6
6
|
const parseHeader = (source, pattern) => {
|
|
@@ -42,7 +42,7 @@ const reconcileParameters = (deviceBox, declared, order) => {
|
|
|
42
42
|
const unifiedIndex = order.get(declaration.label) ?? 0;
|
|
43
43
|
const existing = existingByLabel.get(declaration.label);
|
|
44
44
|
const previous = previousDeclarations.get(declaration.label);
|
|
45
|
-
const declarationChanged = !isDefined(previous) || !
|
|
45
|
+
const declarationChanged = !isDefined(previous) || !ScriptDeclaration.isEqual(previous, declaration);
|
|
46
46
|
if (isDefined(existing) && declarationChanged) {
|
|
47
47
|
existing.delete();
|
|
48
48
|
existingByLabel.delete(declaration.label);
|
|
@@ -147,7 +147,7 @@ export var ScriptCompiler;
|
|
|
147
147
|
if (update === 0) {
|
|
148
148
|
return;
|
|
149
149
|
}
|
|
150
|
-
const params =
|
|
150
|
+
const params = ScriptDeclaration.parseParams(userCode);
|
|
151
151
|
const declMap = new Map();
|
|
152
152
|
for (const declaration of params) {
|
|
153
153
|
declMap.set(declaration.label, declaration);
|
|
@@ -165,13 +165,15 @@ export var ScriptCompiler;
|
|
|
165
165
|
const newUpdate = maxUpdate + 1;
|
|
166
166
|
maxUpdate = newUpdate;
|
|
167
167
|
const uuid = UUID.toString(deviceBox.address.uuid);
|
|
168
|
-
const params =
|
|
169
|
-
const samples =
|
|
170
|
-
const order =
|
|
168
|
+
const params = ScriptDeclaration.parseParams(userCode);
|
|
169
|
+
const samples = ScriptDeclaration.parseSamples(userCode);
|
|
170
|
+
const order = ScriptDeclaration.parseDeclarationOrder(userCode);
|
|
171
171
|
const wrappedCode = wrapCode(config, uuid, newUpdate, userCode);
|
|
172
172
|
validateCode(wrappedCode);
|
|
173
|
+
const label = ScriptDeclaration.parseLabel(userCode);
|
|
173
174
|
const modifier = () => {
|
|
174
175
|
deviceBox.code.setValue(createHeader(newUpdate) + userCode);
|
|
176
|
+
label.ifSome(name => deviceBox.label.setValue(name));
|
|
175
177
|
reconcileParameters(deviceBox, params, order);
|
|
176
178
|
reconcileSamples(deviceBox, samples, order);
|
|
177
179
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Observable, StringMapping, Terminable, ValueMapping } from "@opendaw/lib-std";
|
|
1
|
+
import { Observable, Option, StringMapping, Terminable, ValueMapping } from "@opendaw/lib-std";
|
|
2
2
|
import { Field, StringField } from "@opendaw/lib-box";
|
|
3
3
|
import { Pointers } from "@opendaw/studio-enums";
|
|
4
4
|
import { ParameterAdapterSet } from "./ParameterAdapterSet";
|
|
@@ -14,8 +14,9 @@ export interface ParamDeclaration {
|
|
|
14
14
|
export interface SampleDeclaration {
|
|
15
15
|
readonly label: string;
|
|
16
16
|
}
|
|
17
|
-
export declare namespace
|
|
17
|
+
export declare namespace ScriptDeclaration {
|
|
18
18
|
export const isEqual: (a: ParamDeclaration, b: ParamDeclaration) => boolean;
|
|
19
|
+
export const parseLabel: (code: string) => Option<string>;
|
|
19
20
|
export const parseParams: (code: string) => ReadonlyArray<ParamDeclaration>;
|
|
20
21
|
export const parseSamples: (code: string) => ReadonlyArray<SampleDeclaration>;
|
|
21
22
|
export const parseDeclarationOrder: (code: string) => Map<string, number>;
|
|
@@ -33,4 +34,4 @@ export declare namespace ScriptParamDeclaration {
|
|
|
33
34
|
export const subscribeScriptParams: (parametric: ParameterAdapterSet, codeField: StringField, parametersField: Field<Pointers.Parameter>) => ScriptParamsBinding;
|
|
34
35
|
export {};
|
|
35
36
|
}
|
|
36
|
-
//# sourceMappingURL=
|
|
37
|
+
//# sourceMappingURL=ScriptDeclaration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScriptDeclaration.d.ts","sourceRoot":"","sources":["../src/ScriptDeclaration.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAC,MAAM,kBAAkB,CAAA;AACzI,OAAO,EAAC,KAAK,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAE9C,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAA;AAEzD,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAA;AAEzE,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACzB;AAuFD,yBAAiB,iBAAiB,CAAC;IAC/B,MAAM,CAAC,MAAM,OAAO,MAJU,gBAAgB,KAAK,gBAAgB,KAAG,OAI1B,CAAA;IAE5C,MAAM,CAAC,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAAM,CAAC,MAAM,CAMtD,CAAA;IAED,MAAM,CAAC,MAAM,WAAW,GAAI,MAAM,MAAM,KAAG,aAAa,CAAC,gBAAgB,CAQxE,CAAA;IAED,MAAM,CAAC,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,aAAa,CAAC,iBAAiB,CAe1E,CAAA;IAED,MAAM,CAAC,MAAM,qBAAqB,GAAI,MAAM,MAAM,KAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAYtE,CAAA;IAED,MAAM,CAAC,MAAM,mBAAmB,GAAI,aAAa,gBAAgB,KAAG,YAAY,CAAC,MAAM,CAatF,CAAA;IAED,MAAM,CAAC,MAAM,oBAAoB,GAAI,aAAa,gBAAgB,KAAG,aAAa,CAAC,MAAM,CAaxF,CAAA;IAED,KAAK,YAAY,GAAG;QAChB,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;QAClC,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;KACvC,CAAA;IAED,MAAM,CAAC,MAAM,oBAAoB,GAAI,aAAa,gBAAgB,KAAG,YAGnE,CAAA;IAEF,MAAM,MAAM,mBAAmB,GAAG;QAC9B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;QAC/B,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;KACzC,CAAA;IAED,MAAM,CAAC,MAAM,qBAAqB,GAAI,YAAY,mBAAmB,EAC/B,WAAW,WAAW,EACtB,iBAAiB,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAG,mBA0ClF,CAAA;;CACJ"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { asInstanceOf, isDefined, Notifier, StringMapping, Terminable, ValueMapping } from "@opendaw/lib-std";
|
|
1
|
+
import { asInstanceOf, isDefined, Notifier, Option, StringMapping, Terminable, ValueMapping } from "@opendaw/lib-std";
|
|
2
2
|
import { WerkstattParameterBox } from "@opendaw/studio-boxes";
|
|
3
|
+
const LABEL_LINE = /^\/\/ @label .+$/m;
|
|
3
4
|
const PARAM_LINE = /^\/\/ @param .+$/gm;
|
|
4
5
|
const SAMPLE_LINE = /^\/\/ @sample .+$/gm;
|
|
5
6
|
const DECLARATION_LINE = /^\/\/ @(?:param|sample) \S+/gm;
|
|
@@ -77,10 +78,21 @@ const parseSingleParam = (line) => {
|
|
|
77
78
|
};
|
|
78
79
|
const declarationEquals = (a, b) => a.mapping === b.mapping && a.min === b.min && a.max === b.max && a.unit === b.unit;
|
|
79
80
|
const declarationFullEquals = (a, b) => declarationEquals(a, b) && Math.abs(a.defaultValue - b.defaultValue) < 1e-6;
|
|
80
|
-
export var
|
|
81
|
-
(function (
|
|
82
|
-
|
|
83
|
-
|
|
81
|
+
export var ScriptDeclaration;
|
|
82
|
+
(function (ScriptDeclaration) {
|
|
83
|
+
ScriptDeclaration.isEqual = declarationFullEquals;
|
|
84
|
+
ScriptDeclaration.parseLabel = (code) => {
|
|
85
|
+
const match = LABEL_LINE.exec(code);
|
|
86
|
+
if (match === null) {
|
|
87
|
+
return Option.None;
|
|
88
|
+
}
|
|
89
|
+
const label = match[0].replace(/^\/\/ @label\s+/, "").trim();
|
|
90
|
+
if (label.length === 0) {
|
|
91
|
+
throw new Error("Malformed @label: expected: // @label <name>");
|
|
92
|
+
}
|
|
93
|
+
return Option.wrap(label);
|
|
94
|
+
};
|
|
95
|
+
ScriptDeclaration.parseParams = (code) => {
|
|
84
96
|
const params = [];
|
|
85
97
|
let match;
|
|
86
98
|
PARAM_LINE.lastIndex = 0;
|
|
@@ -89,7 +101,7 @@ export var ScriptParamDeclaration;
|
|
|
89
101
|
}
|
|
90
102
|
return params;
|
|
91
103
|
};
|
|
92
|
-
|
|
104
|
+
ScriptDeclaration.parseSamples = (code) => {
|
|
93
105
|
const samples = [];
|
|
94
106
|
let match;
|
|
95
107
|
SAMPLE_LINE.lastIndex = 0;
|
|
@@ -105,7 +117,7 @@ export var ScriptParamDeclaration;
|
|
|
105
117
|
}
|
|
106
118
|
return samples;
|
|
107
119
|
};
|
|
108
|
-
|
|
120
|
+
ScriptDeclaration.parseDeclarationOrder = (code) => {
|
|
109
121
|
const order = new Map();
|
|
110
122
|
let match;
|
|
111
123
|
DECLARATION_LINE.lastIndex = 0;
|
|
@@ -118,7 +130,7 @@ export var ScriptParamDeclaration;
|
|
|
118
130
|
}
|
|
119
131
|
return order;
|
|
120
132
|
};
|
|
121
|
-
|
|
133
|
+
ScriptDeclaration.resolveValueMapping = (declaration) => {
|
|
122
134
|
switch (declaration.mapping) {
|
|
123
135
|
case "unipolar":
|
|
124
136
|
return ValueMapping.unipolar();
|
|
@@ -132,7 +144,7 @@ export var ScriptParamDeclaration;
|
|
|
132
144
|
return ValueMapping.linearInteger(0, 1);
|
|
133
145
|
}
|
|
134
146
|
};
|
|
135
|
-
|
|
147
|
+
ScriptDeclaration.resolveStringMapping = (declaration) => {
|
|
136
148
|
switch (declaration.mapping) {
|
|
137
149
|
case "unipolar":
|
|
138
150
|
return StringMapping.percent();
|
|
@@ -146,26 +158,26 @@ export var ScriptParamDeclaration;
|
|
|
146
158
|
return BoolStringMapping;
|
|
147
159
|
}
|
|
148
160
|
};
|
|
149
|
-
|
|
150
|
-
valueMapping:
|
|
151
|
-
stringMapping:
|
|
161
|
+
ScriptDeclaration.resolveParamMappings = (declaration) => ({
|
|
162
|
+
valueMapping: ScriptDeclaration.resolveValueMapping(declaration),
|
|
163
|
+
stringMapping: ScriptDeclaration.resolveStringMapping(declaration)
|
|
152
164
|
});
|
|
153
|
-
|
|
165
|
+
ScriptDeclaration.subscribeScriptParams = (parametric, codeField, parametersField) => {
|
|
154
166
|
const cachedDeclarations = new Map();
|
|
155
167
|
const codeChangedNotifier = new Notifier();
|
|
156
168
|
const terminable = Terminable.many(parametersField.pointerHub.catchupAndSubscribe({
|
|
157
169
|
onAdded: (({ box: parameterBox }) => {
|
|
158
170
|
const paramBox = asInstanceOf(parameterBox, WerkstattParameterBox);
|
|
159
171
|
const label = paramBox.label.getValue();
|
|
160
|
-
const declarations =
|
|
172
|
+
const declarations = ScriptDeclaration.parseParams(codeField.getValue());
|
|
161
173
|
const declaration = declarations.find(decl => decl.label === label);
|
|
162
174
|
const { valueMapping, stringMapping } = isDefined(declaration)
|
|
163
|
-
?
|
|
175
|
+
? ScriptDeclaration.resolveParamMappings(declaration)
|
|
164
176
|
: {
|
|
165
177
|
valueMapping: ValueMapping.unipolar(),
|
|
166
178
|
stringMapping: StringMapping.percent({ fractionDigits: 1 })
|
|
167
179
|
};
|
|
168
|
-
parametric.createParameter(paramBox.value, valueMapping, stringMapping, label);
|
|
180
|
+
parametric.createParameter(paramBox.value, valueMapping, stringMapping, label, undefined, paramBox.defaultValue.getValue());
|
|
169
181
|
if (isDefined(declaration)) {
|
|
170
182
|
cachedDeclarations.set(label, declaration);
|
|
171
183
|
}
|
|
@@ -176,7 +188,7 @@ export var ScriptParamDeclaration;
|
|
|
176
188
|
parametric.removeParameter(paramBox.value.address);
|
|
177
189
|
})
|
|
178
190
|
}), codeField.subscribe(() => {
|
|
179
|
-
const declarations =
|
|
191
|
+
const declarations = ScriptDeclaration.parseParams(codeField.getValue());
|
|
180
192
|
for (const adapter of parametric.parameters()) {
|
|
181
193
|
const newDeclaration = declarations.find(decl => decl.label === adapter.name);
|
|
182
194
|
if (!isDefined(newDeclaration)) {
|
|
@@ -186,7 +198,7 @@ export var ScriptParamDeclaration;
|
|
|
186
198
|
if (isDefined(oldDeclaration) && declarationEquals(oldDeclaration, newDeclaration)) {
|
|
187
199
|
continue;
|
|
188
200
|
}
|
|
189
|
-
const { valueMapping, stringMapping } =
|
|
201
|
+
const { valueMapping, stringMapping } = ScriptDeclaration.resolveParamMappings(newDeclaration);
|
|
190
202
|
adapter.updateMappings(valueMapping, stringMapping);
|
|
191
203
|
cachedDeclarations.set(adapter.name, newDeclaration);
|
|
192
204
|
}
|
|
@@ -194,4 +206,4 @@ export var ScriptParamDeclaration;
|
|
|
194
206
|
}), codeChangedNotifier);
|
|
195
207
|
return { terminable, codeChanged: codeChangedNotifier };
|
|
196
208
|
};
|
|
197
|
-
})(
|
|
209
|
+
})(ScriptDeclaration || (ScriptDeclaration = {}));
|
|
@@ -14,7 +14,7 @@ import { Option, Terminator } from "@opendaw/lib-std";
|
|
|
14
14
|
import { Devices } from "../../DeviceAdapter";
|
|
15
15
|
import { DeviceManualUrls } from "../../DeviceManualUrls";
|
|
16
16
|
import { ParameterAdapterSet } from "../../ParameterAdapterSet";
|
|
17
|
-
import {
|
|
17
|
+
import { ScriptDeclaration } from "../../ScriptDeclaration";
|
|
18
18
|
export class WerkstattDeviceBoxAdapter {
|
|
19
19
|
constructor(context, box) {
|
|
20
20
|
_WerkstattDeviceBoxAdapter_terminator.set(this, new Terminator());
|
|
@@ -28,7 +28,7 @@ export class WerkstattDeviceBoxAdapter {
|
|
|
28
28
|
__classPrivateFieldSet(this, _WerkstattDeviceBoxAdapter_context, context, "f");
|
|
29
29
|
__classPrivateFieldSet(this, _WerkstattDeviceBoxAdapter_box, box, "f");
|
|
30
30
|
__classPrivateFieldSet(this, _WerkstattDeviceBoxAdapter_parametric, __classPrivateFieldGet(this, _WerkstattDeviceBoxAdapter_terminator, "f").own(new ParameterAdapterSet(__classPrivateFieldGet(this, _WerkstattDeviceBoxAdapter_context, "f"))), "f");
|
|
31
|
-
const { terminable, codeChanged } =
|
|
31
|
+
const { terminable, codeChanged } = ScriptDeclaration.subscribeScriptParams(__classPrivateFieldGet(this, _WerkstattDeviceBoxAdapter_parametric, "f"), box.code, box.parameters);
|
|
32
32
|
__classPrivateFieldGet(this, _WerkstattDeviceBoxAdapter_terminator, "f").own(terminable);
|
|
33
33
|
__classPrivateFieldSet(this, _WerkstattDeviceBoxAdapter_codeChanged, codeChanged, "f");
|
|
34
34
|
}
|
|
@@ -15,7 +15,7 @@ import { Devices } from "../../DeviceAdapter";
|
|
|
15
15
|
import { DeviceManualUrls } from "../../DeviceManualUrls";
|
|
16
16
|
import { ParameterAdapterSet } from "../../ParameterAdapterSet";
|
|
17
17
|
import { TrackType } from "../../timeline/TrackType";
|
|
18
|
-
import {
|
|
18
|
+
import { ScriptDeclaration } from "../../ScriptDeclaration";
|
|
19
19
|
export class ApparatDeviceBoxAdapter {
|
|
20
20
|
constructor(context, box) {
|
|
21
21
|
_ApparatDeviceBoxAdapter_terminator.set(this, new Terminator());
|
|
@@ -29,7 +29,7 @@ export class ApparatDeviceBoxAdapter {
|
|
|
29
29
|
__classPrivateFieldSet(this, _ApparatDeviceBoxAdapter_context, context, "f");
|
|
30
30
|
__classPrivateFieldSet(this, _ApparatDeviceBoxAdapter_box, box, "f");
|
|
31
31
|
__classPrivateFieldSet(this, _ApparatDeviceBoxAdapter_parametric, __classPrivateFieldGet(this, _ApparatDeviceBoxAdapter_terminator, "f").own(new ParameterAdapterSet(__classPrivateFieldGet(this, _ApparatDeviceBoxAdapter_context, "f"))), "f");
|
|
32
|
-
const { terminable, codeChanged } =
|
|
32
|
+
const { terminable, codeChanged } = ScriptDeclaration.subscribeScriptParams(__classPrivateFieldGet(this, _ApparatDeviceBoxAdapter_parametric, "f"), box.code, box.parameters);
|
|
33
33
|
__classPrivateFieldGet(this, _ApparatDeviceBoxAdapter_terminator, "f").own(terminable);
|
|
34
34
|
__classPrivateFieldSet(this, _ApparatDeviceBoxAdapter_codeChanged, codeChanged, "f");
|
|
35
35
|
}
|
|
@@ -14,7 +14,7 @@ import { Terminator } from "@opendaw/lib-std";
|
|
|
14
14
|
import { Devices } from "../../DeviceAdapter";
|
|
15
15
|
import { DeviceManualUrls } from "../../DeviceManualUrls";
|
|
16
16
|
import { ParameterAdapterSet } from "../../ParameterAdapterSet";
|
|
17
|
-
import {
|
|
17
|
+
import { ScriptDeclaration } from "../../ScriptDeclaration";
|
|
18
18
|
export class SpielwerkDeviceBoxAdapter {
|
|
19
19
|
constructor(context, box) {
|
|
20
20
|
_SpielwerkDeviceBoxAdapter_terminator.set(this, new Terminator());
|
|
@@ -28,7 +28,7 @@ export class SpielwerkDeviceBoxAdapter {
|
|
|
28
28
|
__classPrivateFieldSet(this, _SpielwerkDeviceBoxAdapter_context, context, "f");
|
|
29
29
|
__classPrivateFieldSet(this, _SpielwerkDeviceBoxAdapter_box, box, "f");
|
|
30
30
|
__classPrivateFieldSet(this, _SpielwerkDeviceBoxAdapter_parametric, __classPrivateFieldGet(this, _SpielwerkDeviceBoxAdapter_terminator, "f").own(new ParameterAdapterSet(__classPrivateFieldGet(this, _SpielwerkDeviceBoxAdapter_context, "f"))), "f");
|
|
31
|
-
const { terminable, codeChanged } =
|
|
31
|
+
const { terminable, codeChanged } = ScriptDeclaration.subscribeScriptParams(__classPrivateFieldGet(this, _SpielwerkDeviceBoxAdapter_parametric, "f"), box.code, box.parameters);
|
|
32
32
|
__classPrivateFieldGet(this, _SpielwerkDeviceBoxAdapter_terminator, "f").own(terminable);
|
|
33
33
|
__classPrivateFieldSet(this, _SpielwerkDeviceBoxAdapter_codeChanged, codeChanged, "f");
|
|
34
34
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -31,7 +31,7 @@ export * from "./RecordingProcessorOptions";
|
|
|
31
31
|
export * from "./RingBuffer";
|
|
32
32
|
export * from "./RootBoxAdapter";
|
|
33
33
|
export * from "./ScriptCompiler";
|
|
34
|
-
export * from "./
|
|
34
|
+
export * from "./ScriptDeclaration";
|
|
35
35
|
export * from "./TempoRange";
|
|
36
36
|
export * from "./UnionAdapterTypes";
|
|
37
37
|
export * from "./Validator";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,oCAAoC,CAAA;AAClD,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA;AAC5B,cAAc,wBAAwB,CAAA;AACtC,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,WAAW,CAAA;AACzB,cAAc,6BAA6B,CAAA;AAC3C,cAAc,oBAAoB,CAAA;AAClC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -33,7 +33,7 @@ export * from "./RecordingProcessorOptions";
|
|
|
33
33
|
export * from "./RingBuffer";
|
|
34
34
|
export * from "./RootBoxAdapter";
|
|
35
35
|
export * from "./ScriptCompiler";
|
|
36
|
-
export * from "./
|
|
36
|
+
export * from "./ScriptDeclaration";
|
|
37
37
|
export * from "./TempoRange";
|
|
38
38
|
export * from "./UnionAdapterTypes";
|
|
39
39
|
export * from "./Validator";
|
|
@@ -81,7 +81,7 @@ export var PresetDecoder;
|
|
|
81
81
|
console.debug("ReplaceAudioUnit with preset...");
|
|
82
82
|
const skeleton = ProjectSkeleton.empty({
|
|
83
83
|
createDefaultUser: false,
|
|
84
|
-
|
|
84
|
+
createOutputMaximizer: false
|
|
85
85
|
});
|
|
86
86
|
const sourceBoxGraph = skeleton.boxGraph;
|
|
87
87
|
const targetBoxGraph = targetAudioUnitBox.graph;
|
|
@@ -8,7 +8,7 @@ export var PresetEncoder;
|
|
|
8
8
|
const header = ByteArrayOutput.create();
|
|
9
9
|
header.writeInt(PresetHeader.MAGIC_HEADER_OPEN);
|
|
10
10
|
header.writeInt(PresetHeader.FORMAT_VERSION);
|
|
11
|
-
const preset = ProjectSkeleton.empty({
|
|
11
|
+
const preset = ProjectSkeleton.empty({ createOutputMaximizer: false, createDefaultUser: false });
|
|
12
12
|
const { boxGraph, mandatoryBoxes: { rootBox, primaryAudioBusBox } } = preset;
|
|
13
13
|
const audioUnitBoxes = [audioUnitBox];
|
|
14
14
|
const excludeBox = (box) => TransferUtils.shouldExclude(box) || TransferUtils.excludeTimelinePredicate(box);
|
|
@@ -7,7 +7,7 @@ export type ProjectSkeleton = {
|
|
|
7
7
|
};
|
|
8
8
|
export declare namespace ProjectSkeleton {
|
|
9
9
|
const empty: (options: {
|
|
10
|
-
|
|
10
|
+
createOutputMaximizer: boolean;
|
|
11
11
|
createDefaultUser: boolean;
|
|
12
12
|
}) => ProjectSkeleton;
|
|
13
13
|
const encode: (boxGraph: BoxGraph) => ArrayBufferLike;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectSkeleton.d.ts","sourceRoot":"","sources":["../../src/project/ProjectSkeleton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAGH,KAAK,EAQR,MAAM,uBAAuB,CAAA;AAa9B,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAA;AAE7D,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,cAAc,EAAE,qBAAqB,CAAA;CACxC,CAAA;AAED,yBAAiB,eAAe,CAAC;IAItB,MAAM,KAAK,GAAI,SAAS;QAC3B,
|
|
1
|
+
{"version":3,"file":"ProjectSkeleton.d.ts","sourceRoot":"","sources":["../../src/project/ProjectSkeleton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAGH,KAAK,EAQR,MAAM,uBAAuB,CAAA;AAa9B,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAA;AAE7D,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,cAAc,EAAE,qBAAqB,CAAA;CACxC,CAAA;AAED,yBAAiB,eAAe,CAAC;IAItB,MAAM,KAAK,GAAI,SAAS;QAC3B,qBAAqB,EAAE,OAAO,CAAC;QAC/B,iBAAiB,EAAE,OAAO,CAAA;KAC7B,KAAG,eAsDH,CAAA;IAEM,MAAM,MAAM,GAAI,UAAU,QAAQ,oBAQxC,CAAA;IAEM,MAAM,MAAM,GAAI,aAAa,eAAe,KAAG,eAYrD,CAAA;IAEM,MAAM,kBAAkB,GAAI,UAAU,QAAQ,KAAG,qBAiBvD,CAAA;CACJ"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BoxGraph } from "@opendaw/lib-box";
|
|
2
|
-
import { AudioBusBox, AudioUnitBox, BoxIO,
|
|
2
|
+
import { AudioBusBox, AudioUnitBox, BoxIO, MaximizerDeviceBox, GrooveShuffleBox, RootBox, TimelineBox, UserInterfaceBox, ValueEventCollectionBox } from "@opendaw/studio-boxes";
|
|
3
3
|
import { asInstanceOf, assert, ByteArrayInput, ByteArrayOutput, isDefined, Option, panic, UUID } from "@opendaw/lib-std";
|
|
4
4
|
import { AudioUnitType, Colors, IconSymbol } from "@opendaw/studio-enums";
|
|
5
5
|
export var ProjectSkeleton;
|
|
@@ -30,13 +30,12 @@ export var ProjectSkeleton;
|
|
|
30
30
|
box.output.refer(rootBox.outputDevice);
|
|
31
31
|
box.index.setValue(0);
|
|
32
32
|
});
|
|
33
|
-
if (options.
|
|
34
|
-
|
|
35
|
-
box.label.setValue("Master
|
|
33
|
+
if (options.createOutputMaximizer) {
|
|
34
|
+
MaximizerDeviceBox.create(boxGraph, UUID.generate(), box => {
|
|
35
|
+
box.label.setValue("Master Maximizer");
|
|
36
36
|
box.index.setValue(0);
|
|
37
37
|
box.host.refer(primaryAudioOutputUnit.audioEffects);
|
|
38
|
-
box.
|
|
39
|
-
box.ratio.setValue(24);
|
|
38
|
+
box.lookahead.setValue(false);
|
|
40
39
|
});
|
|
41
40
|
}
|
|
42
41
|
const timelineBox = TimelineBox.create(boxGraph, UUID.generate());
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opendaw/studio-adapters",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.101",
|
|
4
4
|
"license": "LGPL-3.0-or-later",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -23,18 +23,18 @@
|
|
|
23
23
|
"test": "echo \"No tests to run\""
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@opendaw/lib-box": "^0.0.
|
|
27
|
-
"@opendaw/lib-dsp": "^0.0.
|
|
28
|
-
"@opendaw/lib-fusion": "^0.0.
|
|
29
|
-
"@opendaw/lib-runtime": "^0.0.
|
|
30
|
-
"@opendaw/lib-std": "^0.0.
|
|
31
|
-
"@opendaw/studio-boxes": "^0.0.
|
|
32
|
-
"@opendaw/studio-enums": "^0.0.
|
|
26
|
+
"@opendaw/lib-box": "^0.0.80",
|
|
27
|
+
"@opendaw/lib-dsp": "^0.0.79",
|
|
28
|
+
"@opendaw/lib-fusion": "^0.0.87",
|
|
29
|
+
"@opendaw/lib-runtime": "^0.0.75",
|
|
30
|
+
"@opendaw/lib-std": "^0.0.74",
|
|
31
|
+
"@opendaw/studio-boxes": "^0.0.85",
|
|
32
|
+
"@opendaw/studio-enums": "^0.0.70",
|
|
33
33
|
"soundfont2": "^0.5.0"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@opendaw/eslint-config": "^0.0.27",
|
|
37
37
|
"@opendaw/typescript-config": "^0.0.29"
|
|
38
38
|
},
|
|
39
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "7ccb6855109bc13274fd83ec5dc4ea2302d83b8e"
|
|
40
40
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ScriptParamDeclaration.d.ts","sourceRoot":"","sources":["../src/ScriptParamDeclaration.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAC,MAAM,kBAAkB,CAAA;AACjI,OAAO,EAAC,KAAK,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAE9C,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAA;AAEzD,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAA;AAEzE,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACzB;AAsFD,yBAAiB,sBAAsB,CAAC;IACpC,MAAM,CAAC,MAAM,OAAO,MAJU,gBAAgB,KAAK,gBAAgB,KAAG,OAI1B,CAAA;IAE5C,MAAM,CAAC,MAAM,WAAW,GAAI,MAAM,MAAM,KAAG,aAAa,CAAC,gBAAgB,CAQxE,CAAA;IAED,MAAM,CAAC,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,aAAa,CAAC,iBAAiB,CAe1E,CAAA;IAED,MAAM,CAAC,MAAM,qBAAqB,GAAI,MAAM,MAAM,KAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAYtE,CAAA;IAED,MAAM,CAAC,MAAM,mBAAmB,GAAI,aAAa,gBAAgB,KAAG,YAAY,CAAC,MAAM,CAatF,CAAA;IAED,MAAM,CAAC,MAAM,oBAAoB,GAAI,aAAa,gBAAgB,KAAG,aAAa,CAAC,MAAM,CAaxF,CAAA;IAED,KAAK,YAAY,GAAG;QAChB,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;QAClC,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;KACvC,CAAA;IAED,MAAM,CAAC,MAAM,oBAAoB,GAAI,aAAa,gBAAgB,KAAG,YAGnE,CAAA;IAEF,MAAM,MAAM,mBAAmB,GAAG;QAC9B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;QAC/B,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;KACzC,CAAA;IAED,MAAM,CAAC,MAAM,qBAAqB,GAAI,YAAY,mBAAmB,EAC/B,WAAW,WAAW,EACtB,iBAAiB,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAG,mBAyClF,CAAA;;CACJ"}
|