@opendaw/studio-adapters 0.2.1 → 0.3.1
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 +3 -2
- package/dist/AutomatableParameterFieldAdapter.d.ts.map +1 -1
- package/dist/AutomatableParameterFieldAdapter.js +6 -3
- package/dist/BoxAdapters.d.ts.map +1 -1
- package/dist/BoxAdapters.js +2 -0
- package/dist/DeviceManualUrls.d.ts +3 -3
- package/dist/DeviceManualUrls.d.ts.map +1 -1
- package/dist/DeviceManualUrls.js +3 -3
- package/dist/ParameterAdapterSet.d.ts +2 -2
- package/dist/ParameterAdapterSet.d.ts.map +1 -1
- package/dist/ParameterOwner.d.ts +10 -0
- package/dist/ParameterOwner.d.ts.map +1 -0
- package/dist/ParameterOwner.js +73 -0
- package/dist/ScriptCompiler.d.ts.map +1 -1
- package/dist/ScriptCompiler.js +4 -2
- package/dist/ScriptDeclaration.d.ts +1 -0
- package/dist/ScriptDeclaration.d.ts.map +1 -1
- package/dist/ScriptDeclaration.js +20 -5
- package/dist/audio-unit/AudioUnitBoxAdapter.js +4 -4
- package/dist/devices/audio-effects/DelayDeviceBoxAdapter.js +13 -13
- package/dist/devices/audio-effects/NeuralAmpDeviceBoxAdapter.js +2 -2
- package/dist/devices/audio-effects/RevampDeviceBoxAdapter.js +3 -3
- package/dist/devices/audio-effects/ReverbDeviceBoxAdapter.d.ts +1 -1
- package/dist/devices/audio-effects/ReverbDeviceBoxAdapter.d.ts.map +1 -1
- package/dist/devices/audio-effects/ReverbDeviceBoxAdapter.js +4 -4
- package/dist/devices/audio-effects/StereoToolDeviceBoxAdapter.d.ts +1 -1
- package/dist/devices/audio-effects/StereoToolDeviceBoxAdapter.d.ts.map +1 -1
- package/dist/devices/audio-effects/StereoToolDeviceBoxAdapter.js +1 -1
- package/dist/devices/instruments/Cubed/AblPattern.d.ts +42 -0
- package/dist/devices/instruments/Cubed/AblPattern.d.ts.map +1 -0
- package/dist/devices/instruments/Cubed/AblPattern.js +66 -0
- package/dist/devices/instruments/Cubed/CubedPatternData.d.ts +16 -0
- package/dist/devices/instruments/Cubed/CubedPatternData.d.ts.map +1 -0
- package/dist/devices/instruments/Cubed/CubedPatternData.js +75 -0
- package/dist/devices/instruments/Cubed/CubedRandomize.d.ts +22 -0
- package/dist/devices/instruments/Cubed/CubedRandomize.d.ts.map +1 -0
- package/dist/devices/instruments/Cubed/CubedRandomize.js +51 -0
- package/dist/devices/instruments/Cubed/CubedStep.d.ts +13 -0
- package/dist/devices/instruments/Cubed/CubedStep.d.ts.map +1 -0
- package/dist/devices/instruments/Cubed/CubedStep.js +15 -0
- package/dist/devices/instruments/CubedDeviceBoxAdapter.d.ts +48 -0
- package/dist/devices/instruments/CubedDeviceBoxAdapter.d.ts.map +1 -0
- package/dist/devices/instruments/CubedDeviceBoxAdapter.js +100 -0
- package/dist/devices/instruments/MIDIOutputDeviceBoxAdapter.d.ts +1 -1
- package/dist/devices/instruments/MIDIOutputDeviceBoxAdapter.d.ts.map +1 -1
- package/dist/devices/instruments/MIDIOutputDeviceBoxAdapter.js +19 -3
- package/dist/devices/instruments/NanoDeviceBoxAdapter.js +2 -2
- package/dist/devices/instruments/Playfield/ChopModel.d.ts +21 -0
- package/dist/devices/instruments/Playfield/ChopModel.d.ts.map +1 -0
- package/dist/devices/instruments/Playfield/ChopModel.js +109 -0
- package/dist/devices/instruments/PlayfieldDeviceBoxAdapter.d.ts +12 -2
- package/dist/devices/instruments/PlayfieldDeviceBoxAdapter.d.ts.map +1 -1
- package/dist/devices/instruments/PlayfieldDeviceBoxAdapter.js +21 -1
- package/dist/devices/instruments/TapeDeviceBoxAdapter.js +4 -4
- package/dist/devices/midi-effects/ArpeggioDeviceBoxAdapter.js +1 -1
- package/dist/devices/midi-effects/PitchDeviceBoxAdapter.js +3 -3
- package/dist/factories/InstrumentBox.d.ts +2 -2
- package/dist/factories/InstrumentBox.d.ts.map +1 -1
- package/dist/factories/InstrumentFactories.d.ts +5 -9
- package/dist/factories/InstrumentFactories.d.ts.map +1 -1
- package/dist/factories/InstrumentFactories.js +20 -4
- package/dist/grooves/GrooveShuffleBoxAdapter.js +2 -2
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/modulation/LfoModulatorBoxAdapter.d.ts +31 -0
- package/dist/modulation/LfoModulatorBoxAdapter.d.ts.map +1 -0
- package/dist/modulation/LfoModulatorBoxAdapter.js +48 -0
- package/dist/modulation/MacroModulatorBoxAdapter.d.ts +11 -0
- package/dist/modulation/MacroModulatorBoxAdapter.d.ts.map +1 -0
- package/dist/modulation/MacroModulatorBoxAdapter.js +21 -0
- package/dist/modulation/ModulationBoxAdapter.d.ts +27 -0
- package/dist/modulation/ModulationBoxAdapter.d.ts.map +1 -0
- package/dist/modulation/ModulationBoxAdapter.js +72 -0
- package/dist/modulation/ModulatorBoxAdapter.d.ts +35 -0
- package/dist/modulation/ModulatorBoxAdapter.d.ts.map +1 -0
- package/dist/modulation/ModulatorBoxAdapter.js +69 -0
- package/dist/modulation/Modulators.d.ts +25 -0
- package/dist/modulation/Modulators.d.ts.map +1 -0
- package/dist/modulation/Modulators.js +101 -0
- package/dist/modulation/RandomModulatorBoxAdapter.d.ts +24 -0
- package/dist/modulation/RandomModulatorBoxAdapter.d.ts.map +1 -0
- package/dist/modulation/RandomModulatorBoxAdapter.js +62 -0
- package/dist/modulation/StepsModulatorBoxAdapter.d.ts +42 -0
- package/dist/modulation/StepsModulatorBoxAdapter.d.ts.map +1 -0
- package/dist/modulation/StepsModulatorBoxAdapter.js +100 -0
- package/dist/timeline/ParameterTracks.d.ts +30 -0
- package/dist/timeline/ParameterTracks.d.ts.map +1 -0
- package/dist/timeline/ParameterTracks.js +75 -0
- package/dist/timeline/TrackBoxAdapter.d.ts +1 -0
- package/dist/timeline/TrackBoxAdapter.d.ts.map +1 -1
- package/dist/timeline/TrackBoxAdapter.js +20 -11
- package/dist/timeline/event/InterpolationFieldAdapter.d.ts +3 -1
- package/dist/timeline/event/InterpolationFieldAdapter.d.ts.map +1 -1
- package/dist/timeline/event/InterpolationFieldAdapter.js +2 -0
- package/package.json +10 -10
|
@@ -0,0 +1,75 @@
|
|
|
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 _FieldParameterTracks_graph, _FieldParameterTracks_field, _FieldParameterTracks_regionNotifier, _FieldParameterTracks_collection, _FieldParameterTracks_subscriptions, _FieldParameterTracks_subscription;
|
|
13
|
+
import { Notifier, Option, panic, UUID } from "@opendaw/lib-std";
|
|
14
|
+
import { Pointers } from "@opendaw/studio-enums";
|
|
15
|
+
import { TrackBox } from "@opendaw/studio-boxes";
|
|
16
|
+
import { IndexedBoxAdapterCollection } from "../IndexedBoxAdapterCollection";
|
|
17
|
+
import { TrackBoxAdapter } from "./TrackBoxAdapter";
|
|
18
|
+
export class FieldParameterTracks {
|
|
19
|
+
constructor(graph, field, boxAdapters) {
|
|
20
|
+
_FieldParameterTracks_graph.set(this, void 0);
|
|
21
|
+
_FieldParameterTracks_field.set(this, void 0);
|
|
22
|
+
_FieldParameterTracks_regionNotifier.set(this, new Notifier());
|
|
23
|
+
_FieldParameterTracks_collection.set(this, void 0);
|
|
24
|
+
_FieldParameterTracks_subscriptions.set(this, void 0);
|
|
25
|
+
_FieldParameterTracks_subscription.set(this, void 0);
|
|
26
|
+
__classPrivateFieldSet(this, _FieldParameterTracks_graph, graph, "f");
|
|
27
|
+
__classPrivateFieldSet(this, _FieldParameterTracks_field, field, "f");
|
|
28
|
+
__classPrivateFieldSet(this, _FieldParameterTracks_collection, IndexedBoxAdapterCollection.create(field, box => boxAdapters.adapterFor(box, TrackBoxAdapter), Pointers.TrackCollection), "f");
|
|
29
|
+
__classPrivateFieldSet(this, _FieldParameterTracks_subscriptions, UUID.newSet(({ uuid }) => uuid), "f");
|
|
30
|
+
__classPrivateFieldSet(this, _FieldParameterTracks_subscription, __classPrivateFieldGet(this, _FieldParameterTracks_collection, "f").catchupAndSubscribe({
|
|
31
|
+
onAdd: (adapter) => __classPrivateFieldGet(this, _FieldParameterTracks_subscriptions, "f").add({
|
|
32
|
+
uuid: adapter.uuid,
|
|
33
|
+
subscription: adapter.regions.subscribeChanges(() => __classPrivateFieldGet(this, _FieldParameterTracks_regionNotifier, "f").notify())
|
|
34
|
+
}),
|
|
35
|
+
onRemove: ({ uuid }) => __classPrivateFieldGet(this, _FieldParameterTracks_subscriptions, "f").removeByKey(uuid).subscription.terminate(),
|
|
36
|
+
onReorder: (_adapter) => { }
|
|
37
|
+
}), "f");
|
|
38
|
+
}
|
|
39
|
+
create(type, target, index) {
|
|
40
|
+
return TrackBox.create(__classPrivateFieldGet(this, _FieldParameterTracks_graph, "f"), UUID.generate(), box => {
|
|
41
|
+
box.index.setValue(index ?? __classPrivateFieldGet(this, _FieldParameterTracks_collection, "f").getMinFreeIndex());
|
|
42
|
+
box.type.setValue(type);
|
|
43
|
+
box.tracks.refer(__classPrivateFieldGet(this, _FieldParameterTracks_field, "f"));
|
|
44
|
+
box.target.refer(target);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
controls(target) {
|
|
48
|
+
return Option.wrap(__classPrivateFieldGet(this, _FieldParameterTracks_collection, "f").adapters()
|
|
49
|
+
.find(adapter => adapter.target.targetVertex.contains(target), false));
|
|
50
|
+
}
|
|
51
|
+
delete(adapter) {
|
|
52
|
+
const adapters = __classPrivateFieldGet(this, _FieldParameterTracks_collection, "f").adapters();
|
|
53
|
+
const deleteIndex = adapters.indexOf(adapter);
|
|
54
|
+
if (deleteIndex === -1) {
|
|
55
|
+
return panic(`Cannot delete ${adapter}. Does not exist.`);
|
|
56
|
+
}
|
|
57
|
+
for (let index = deleteIndex + 1; index < adapters.length; index++) {
|
|
58
|
+
adapters[index].indexField.setValue(index - 1);
|
|
59
|
+
}
|
|
60
|
+
adapter.box.delete();
|
|
61
|
+
}
|
|
62
|
+
get collection() { return __classPrivateFieldGet(this, _FieldParameterTracks_collection, "f"); }
|
|
63
|
+
values() { return __classPrivateFieldGet(this, _FieldParameterTracks_collection, "f").adapters(); }
|
|
64
|
+
catchupAndSubscribe(listener) {
|
|
65
|
+
return __classPrivateFieldGet(this, _FieldParameterTracks_collection, "f").catchupAndSubscribe(listener);
|
|
66
|
+
}
|
|
67
|
+
subscribeAnyChange(observer) { return __classPrivateFieldGet(this, _FieldParameterTracks_regionNotifier, "f").subscribe(observer); }
|
|
68
|
+
terminate() {
|
|
69
|
+
__classPrivateFieldGet(this, _FieldParameterTracks_collection, "f").terminate();
|
|
70
|
+
__classPrivateFieldGet(this, _FieldParameterTracks_subscription, "f").terminate();
|
|
71
|
+
__classPrivateFieldGet(this, _FieldParameterTracks_subscriptions, "f").forEach(({ subscription }) => subscription.terminate());
|
|
72
|
+
__classPrivateFieldGet(this, _FieldParameterTracks_subscriptions, "f").clear();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
_FieldParameterTracks_graph = new WeakMap(), _FieldParameterTracks_field = new WeakMap(), _FieldParameterTracks_regionNotifier = new WeakMap(), _FieldParameterTracks_collection = new WeakMap(), _FieldParameterTracks_subscriptions = new WeakMap(), _FieldParameterTracks_subscription = new WeakMap();
|
|
@@ -31,5 +31,6 @@ export declare class TrackBoxAdapter implements BoxAdapter {
|
|
|
31
31
|
set listIndex(value: int);
|
|
32
32
|
accepts(subject: AnyClipBoxAdapter | AnyRegionBoxAdapter): boolean;
|
|
33
33
|
valueAt(position: ppqn, fallback: unitValue): unitValue;
|
|
34
|
+
get targetControlName(): Option<string>;
|
|
34
35
|
}
|
|
35
36
|
//# sourceMappingURL=TrackBoxAdapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrackBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/timeline/TrackBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,GAAG,EAEH,QAAQ,EACR,MAAM,EAEN,YAAY,EAGZ,SAAS,EACT,IAAI,EACP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,OAAO,EAAE,YAAY,EAAO,UAAU,EAAE,YAAY,EAAc,MAAM,kBAAkB,CAAA;AAClG,OAAO,EAAC,IAAI,EAAkB,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AACvC,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAE3C,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAA;AACrC,OAAO,EAAC,iBAAiB,EAAE,mBAAmB,EAAC,MAAM,sBAAsB,CAAA;AAG3E,OAAO,EAAC,YAAY,EAAE,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAE9C,qBAAa,eAAgB,YAAW,UAAU;;gBAWlC,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,QAAQ;IAUtD,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,YAAY;IAuBnF,IAAI,OAAO,IAAI,kBAAkB,CAAuB;IAExD,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAoB3B;IAED,IAAI,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,CAwB/B;IAgCD,SAAS;IAET,IAAI,SAAS,IAAI,YAAY,CAE5B;IAED,IAAI,MAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAA0B;IAEzE,IAAI,KAAK,IAAI,UAAU,CAAqB;IAC5C,IAAI,OAAO,IAAI,YAAY,CAAuB;IAClD,IAAI,OAAO,IAAI,YAAY,CAA2B;IACtD,IAAI,UAAU,IAAI,UAAU,CAAyB;IACrD,IAAI,IAAI,IAAI,SAAS,CAAmC;IACxD,IAAI,GAAG,IAAI,QAAQ,CAAmB;IACtC,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,SAAS,IAAI,GAAG,CAAoC;IACxD,IAAI,SAAS,CAAC,KAAK,EAAE,GAAG,EAAmC;IAE3D,OAAO,CAAC,OAAO,EAAE,iBAAiB,GAAG,mBAAmB,GAAG,OAAO;IAgBlE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,GAAG,SAAS;
|
|
1
|
+
{"version":3,"file":"TrackBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/timeline/TrackBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,GAAG,EAEH,QAAQ,EACR,MAAM,EAEN,YAAY,EAGZ,SAAS,EACT,IAAI,EACP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,OAAO,EAAE,YAAY,EAAO,UAAU,EAAE,YAAY,EAAc,MAAM,kBAAkB,CAAA;AAClG,OAAO,EAAC,IAAI,EAAkB,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AACvC,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAE3C,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAA;AACrC,OAAO,EAAC,iBAAiB,EAAE,mBAAmB,EAAC,MAAM,sBAAsB,CAAA;AAG3E,OAAO,EAAC,YAAY,EAAE,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAE9C,qBAAa,eAAgB,YAAW,UAAU;;gBAWlC,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,QAAQ;IAUtD,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,YAAY;IAuBnF,IAAI,OAAO,IAAI,kBAAkB,CAAuB;IAExD,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAoB3B;IAED,IAAI,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,CAwB/B;IAgCD,SAAS;IAET,IAAI,SAAS,IAAI,YAAY,CAE5B;IAED,IAAI,MAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAA0B;IAEzE,IAAI,KAAK,IAAI,UAAU,CAAqB;IAC5C,IAAI,OAAO,IAAI,YAAY,CAAuB;IAClD,IAAI,OAAO,IAAI,YAAY,CAA2B;IACtD,IAAI,UAAU,IAAI,UAAU,CAAyB;IACrD,IAAI,IAAI,IAAI,SAAS,CAAmC;IACxD,IAAI,GAAG,IAAI,QAAQ,CAAmB;IACtC,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,SAAS,IAAI,GAAG,CAAoC;IACxD,IAAI,SAAS,CAAC,KAAK,EAAE,GAAG,EAAmC;IAE3D,OAAO,CAAC,OAAO,EAAE,iBAAiB,GAAG,mBAAmB,GAAG,OAAO;IAgBlE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,GAAG,SAAS;IAiCvD,IAAI,iBAAiB,IAAI,MAAM,CAAC,MAAM,CAAC,CAWtC;CAsCJ"}
|
|
@@ -175,6 +175,21 @@ export class TrackBoxAdapter {
|
|
|
175
175
|
}
|
|
176
176
|
return value;
|
|
177
177
|
}
|
|
178
|
+
get targetControlName() {
|
|
179
|
+
if (this.type !== TrackType.Value) {
|
|
180
|
+
return Option.None;
|
|
181
|
+
}
|
|
182
|
+
return __classPrivateFieldGet(this, _TrackBoxAdapter_box, "f").target.targetVertex.flatMap(target => {
|
|
183
|
+
if (target.isField()) {
|
|
184
|
+
return __classPrivateFieldGet(this, _TrackBoxAdapter_context, "f").parameterFieldAdapters.opt(target.address).map(vertex => vertex.name);
|
|
185
|
+
}
|
|
186
|
+
else if (target.isBox()) {
|
|
187
|
+
// I cannot think of a scenario where target is a box, but at least the UI shows the box's name
|
|
188
|
+
return Option.wrap(target.name);
|
|
189
|
+
}
|
|
190
|
+
return panic("Illegal State. Vertex is not a field nor box.");
|
|
191
|
+
});
|
|
192
|
+
}
|
|
178
193
|
}
|
|
179
194
|
_TrackBoxAdapter_context = new WeakMap(), _TrackBoxAdapter_box = new WeakMap(), _TrackBoxAdapter_terminator = new WeakMap(), _TrackBoxAdapter_clips = new WeakMap(), _TrackBoxAdapter_regions = new WeakMap(), _TrackBoxAdapter_listIndex = new WeakMap(), _TrackBoxAdapter_instances = new WeakSet(), _TrackBoxAdapter_catchupAndSubscribeTargetName = function _TrackBoxAdapter_catchupAndSubscribeTargetName(observer) {
|
|
180
195
|
const targetVertex = __classPrivateFieldGet(this, _TrackBoxAdapter_box, "f").target.targetVertex;
|
|
@@ -213,18 +228,12 @@ _TrackBoxAdapter_context = new WeakMap(), _TrackBoxAdapter_box = new WeakMap(),
|
|
|
213
228
|
return Terminable.Empty;
|
|
214
229
|
}
|
|
215
230
|
case TrackType.Value: {
|
|
216
|
-
const
|
|
217
|
-
if (
|
|
218
|
-
observer(
|
|
219
|
-
|
|
220
|
-
else if (target.isBox()) {
|
|
221
|
-
// I cannot think of a scenario where target is a box, but at least the UI shows the box's name
|
|
222
|
-
observer(Option.wrap(target.name));
|
|
231
|
+
const optAdapter = __classPrivateFieldGet(this, _TrackBoxAdapter_box, "f").target.targetVertex.flatMap(target => target.isField() ? __classPrivateFieldGet(this, _TrackBoxAdapter_context, "f").parameterFieldAdapters.opt(target.address) : Option.None);
|
|
232
|
+
if (optAdapter.isEmpty()) {
|
|
233
|
+
observer(this.targetControlName);
|
|
234
|
+
return Terminable.Empty;
|
|
223
235
|
}
|
|
224
|
-
|
|
225
|
-
return panic("Illegal State. Vertex is not a field nor box.");
|
|
226
|
-
}
|
|
227
|
-
return Terminable.Empty;
|
|
236
|
+
return optAdapter.unwrap().catchupAndSubscribeName(name => observer(Option.wrap(name)));
|
|
228
237
|
}
|
|
229
238
|
case TrackType.Undefined: {
|
|
230
239
|
observer(Option.wrap(""));
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { Pointers } from "@opendaw/studio-enums";
|
|
2
|
-
import { Int32Field } from "@opendaw/lib-box";
|
|
2
|
+
import { Int32Field, PrimitiveType } from "@opendaw/lib-box";
|
|
3
3
|
import { Interpolation } from "@opendaw/lib-dsp";
|
|
4
4
|
export declare namespace InterpolationFieldAdapter {
|
|
5
|
+
type Plain = typeof Interpolation.None | typeof Interpolation.Linear;
|
|
6
|
+
const map: (type: PrimitiveType) => Plain;
|
|
5
7
|
const write: (field: Int32Field<Pointers.ValueInterpolation>, value: Interpolation) => void;
|
|
6
8
|
const read: (field: Int32Field<Pointers.ValueInterpolation>) => Interpolation;
|
|
7
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InterpolationFieldAdapter.d.ts","sourceRoot":"","sources":["../../../src/timeline/event/InterpolationFieldAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"InterpolationFieldAdapter.d.ts","sourceRoot":"","sources":["../../../src/timeline/event/InterpolationFieldAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,UAAU,EAAE,aAAa,EAAC,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAA;AAI9C,yBAAiB,yBAAyB,CAAC;IACvC,KAAY,KAAK,GAAG,OAAO,aAAa,CAAC,IAAI,GAAG,OAAO,aAAa,CAAC,MAAM,CAAA;IAEpE,MAAM,GAAG,GAAI,MAAM,aAAa,KAAG,KACoE,CAAA;IAEvG,MAAM,KAAK,GAAI,OAAO,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,aAAa,KAAG,IAoB5F,CAAA;IAEM,MAAM,IAAI,GAAI,OAAO,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAG,aAarE,CAAA;CACJ"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { Pointers } from "@opendaw/studio-enums";
|
|
2
|
+
import { PrimitiveType } from "@opendaw/lib-box";
|
|
2
3
|
import { Interpolation } from "@opendaw/lib-dsp";
|
|
3
4
|
import { ValueEventCurveBox } from "@opendaw/studio-boxes";
|
|
4
5
|
import { assertInstanceOf, isDefined, panic, UUID } from "@opendaw/lib-std";
|
|
5
6
|
export var InterpolationFieldAdapter;
|
|
6
7
|
(function (InterpolationFieldAdapter) {
|
|
8
|
+
InterpolationFieldAdapter.map = (type) => type === PrimitiveType.Int32 || type === PrimitiveType.Boolean ? Interpolation.None : Interpolation.Linear;
|
|
7
9
|
InterpolationFieldAdapter.write = (field, value) => {
|
|
8
10
|
if (value.type === "none") {
|
|
9
11
|
field.disconnect();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opendaw/studio-adapters",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"license": "LGPL-3.0-or-later",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -25,19 +25,19 @@
|
|
|
25
25
|
"pregenerate-all-boxes": "npm run build -w @opendaw/studio-forge-boxes && npm run build -w @opendaw/studio-boxes"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@opendaw/lib-box": "^0.0.
|
|
29
|
-
"@opendaw/lib-dsp": "^0.0.
|
|
30
|
-
"@opendaw/lib-fusion": "^0.0.
|
|
31
|
-
"@opendaw/lib-midi": "^0.0.
|
|
32
|
-
"@opendaw/lib-runtime": "^0.0.
|
|
33
|
-
"@opendaw/lib-std": "^0.0.
|
|
34
|
-
"@opendaw/studio-boxes": "^0.0.
|
|
35
|
-
"@opendaw/studio-enums": "^0.0
|
|
28
|
+
"@opendaw/lib-box": "^0.0.92",
|
|
29
|
+
"@opendaw/lib-dsp": "^0.0.91",
|
|
30
|
+
"@opendaw/lib-fusion": "^0.0.101",
|
|
31
|
+
"@opendaw/lib-midi": "^0.0.72",
|
|
32
|
+
"@opendaw/lib-runtime": "^0.0.84",
|
|
33
|
+
"@opendaw/lib-std": "^0.0.83",
|
|
34
|
+
"@opendaw/studio-boxes": "^0.0.107",
|
|
35
|
+
"@opendaw/studio-enums": "^0.1.0",
|
|
36
36
|
"soundfont2": "^0.5.0"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@opendaw/eslint-config": "^0.0.28",
|
|
40
40
|
"@opendaw/typescript-config": "^0.0.32"
|
|
41
41
|
},
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "e1495bbd78b89e262bcd72141dde0344bc328326"
|
|
43
43
|
}
|