@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,109 @@
|
|
|
1
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
+
};
|
|
6
|
+
var _ChopModel_instances, _ChopModel_boundaries, _ChopModel_set, _ChopModel_setCapped;
|
|
7
|
+
import { clamp } from "@opendaw/lib-std";
|
|
8
|
+
export const GridDivisions = [1 / 4, 1 / 8, 1 / 16, 1 / 32];
|
|
9
|
+
export var ChopMath;
|
|
10
|
+
(function (ChopMath) {
|
|
11
|
+
ChopMath.MAX_KEY = 128;
|
|
12
|
+
ChopMath.fitBpmPow2 = (durationInSeconds) => {
|
|
13
|
+
if (durationInSeconds <= 0.0) {
|
|
14
|
+
return 120;
|
|
15
|
+
}
|
|
16
|
+
let bpm = 60 / durationInSeconds;
|
|
17
|
+
while (bpm < 90) {
|
|
18
|
+
bpm *= 2;
|
|
19
|
+
}
|
|
20
|
+
while (bpm > 180) {
|
|
21
|
+
bpm /= 2;
|
|
22
|
+
}
|
|
23
|
+
return bpm;
|
|
24
|
+
};
|
|
25
|
+
ChopMath.sliceSecondsForGrid = (bpm, division) => (60 / bpm) * (4 * division);
|
|
26
|
+
})(ChopMath || (ChopMath = {}));
|
|
27
|
+
export class ChopModel {
|
|
28
|
+
constructor() {
|
|
29
|
+
_ChopModel_instances.add(this);
|
|
30
|
+
_ChopModel_boundaries.set(this, [0.0, 1.0]);
|
|
31
|
+
}
|
|
32
|
+
get boundaries() { return __classPrivateFieldGet(this, _ChopModel_boundaries, "f"); }
|
|
33
|
+
fromTransients(transientSeconds, durationInSeconds, maxSlices) {
|
|
34
|
+
if (durationInSeconds <= 0.0) {
|
|
35
|
+
__classPrivateFieldGet(this, _ChopModel_instances, "m", _ChopModel_set).call(this, [0.0, 1.0]);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
__classPrivateFieldGet(this, _ChopModel_instances, "m", _ChopModel_setCapped).call(this, transientSeconds.map(seconds => seconds / durationInSeconds), maxSlices);
|
|
39
|
+
}
|
|
40
|
+
fromGrid(bpm, division, durationInSeconds, maxSlices) {
|
|
41
|
+
if (durationInSeconds <= 0.0 || bpm <= 0.0) {
|
|
42
|
+
__classPrivateFieldGet(this, _ChopModel_instances, "m", _ChopModel_set).call(this, [0.0, 1.0]);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const sliceSeconds = ChopMath.sliceSecondsForGrid(bpm, division);
|
|
46
|
+
if (sliceSeconds <= 0.0) {
|
|
47
|
+
__classPrivateFieldGet(this, _ChopModel_instances, "m", _ChopModel_set).call(this, [0.0, 1.0]);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const boundaries = [];
|
|
51
|
+
for (let seconds = 0.0; seconds < durationInSeconds; seconds += sliceSeconds) {
|
|
52
|
+
boundaries.push(seconds / durationInSeconds);
|
|
53
|
+
}
|
|
54
|
+
boundaries.push(1.0);
|
|
55
|
+
__classPrivateFieldGet(this, _ChopModel_instances, "m", _ChopModel_setCapped).call(this, boundaries, maxSlices);
|
|
56
|
+
}
|
|
57
|
+
dragBoundary(index, position) {
|
|
58
|
+
if (index <= 0 || index >= __classPrivateFieldGet(this, _ChopModel_boundaries, "f").length - 1) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
const lower = __classPrivateFieldGet(this, _ChopModel_boundaries, "f")[index - 1];
|
|
62
|
+
const upper = __classPrivateFieldGet(this, _ChopModel_boundaries, "f")[index + 1];
|
|
63
|
+
__classPrivateFieldGet(this, _ChopModel_boundaries, "f")[index] = clamp(position, lower, upper);
|
|
64
|
+
}
|
|
65
|
+
splitAt(position) {
|
|
66
|
+
const value = clamp(position, 0.0, 1.0);
|
|
67
|
+
if (value <= 0.0 || value >= 1.0) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
const insertIndex = __classPrivateFieldGet(this, _ChopModel_boundaries, "f").findIndex(boundary => boundary > value);
|
|
71
|
+
if (insertIndex <= 0) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
if (__classPrivateFieldGet(this, _ChopModel_boundaries, "f")[insertIndex - 1] === value) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
__classPrivateFieldGet(this, _ChopModel_boundaries, "f").splice(insertIndex, 0, value);
|
|
78
|
+
}
|
|
79
|
+
removeBoundary(index) {
|
|
80
|
+
if (index <= 0 || index >= __classPrivateFieldGet(this, _ChopModel_boundaries, "f").length - 1) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
__classPrivateFieldGet(this, _ChopModel_boundaries, "f").splice(index, 1);
|
|
84
|
+
}
|
|
85
|
+
slices(startKey) {
|
|
86
|
+
const count = Math.min(__classPrivateFieldGet(this, _ChopModel_boundaries, "f").length - 1, ChopMath.MAX_KEY - startKey);
|
|
87
|
+
const slices = [];
|
|
88
|
+
for (let index = 0; index < count; index++) {
|
|
89
|
+
slices.push({ start: __classPrivateFieldGet(this, _ChopModel_boundaries, "f")[index], end: __classPrivateFieldGet(this, _ChopModel_boundaries, "f")[index + 1] });
|
|
90
|
+
}
|
|
91
|
+
return slices;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
_ChopModel_boundaries = new WeakMap(), _ChopModel_instances = new WeakSet(), _ChopModel_set = function _ChopModel_set(normalized) {
|
|
95
|
+
const sorted = Array.from(new Set(normalized.map(value => clamp(value, 0.0, 1.0)))).sort((a, b) => a - b);
|
|
96
|
+
if (sorted.length === 0 || sorted[0] > 0.0) {
|
|
97
|
+
sorted.unshift(0.0);
|
|
98
|
+
}
|
|
99
|
+
if (sorted.length < 2) {
|
|
100
|
+
sorted.push(1.0);
|
|
101
|
+
}
|
|
102
|
+
__classPrivateFieldGet(this, _ChopModel_boundaries, "f").length = 0;
|
|
103
|
+
__classPrivateFieldGet(this, _ChopModel_boundaries, "f").push(...sorted);
|
|
104
|
+
}, _ChopModel_setCapped = function _ChopModel_setCapped(normalized, maxSlices) {
|
|
105
|
+
__classPrivateFieldGet(this, _ChopModel_instances, "m", _ChopModel_set).call(this, normalized);
|
|
106
|
+
if (maxSlices > 0 && __classPrivateFieldGet(this, _ChopModel_boundaries, "f").length - 1 > maxSlices) {
|
|
107
|
+
__classPrivateFieldGet(this, _ChopModel_boundaries, "f").length = maxSlices + 1;
|
|
108
|
+
}
|
|
109
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { PlayfieldDeviceBox } from "@opendaw/studio-boxes";
|
|
1
|
+
import { AudioFileBox, PlayfieldDeviceBox } from "@opendaw/studio-boxes";
|
|
2
2
|
import { Address, BooleanField, StringField } from "@opendaw/lib-box";
|
|
3
3
|
import { Pointers } from "@opendaw/studio-enums";
|
|
4
|
-
import { UUID } from "@opendaw/lib-std";
|
|
4
|
+
import { int, unitValue, UUID } from "@opendaw/lib-std";
|
|
5
5
|
import { DeviceHost, InstrumentDeviceBoxAdapter } from "../../DeviceAdapter";
|
|
6
6
|
import { BoxAdaptersContext } from "../../BoxAdaptersContext";
|
|
7
7
|
import { IndexedBoxAdapterCollection } from "../../IndexedBoxAdapterCollection";
|
|
@@ -9,6 +9,15 @@ import { PlayfieldSampleBoxAdapter } from "./Playfield/PlayfieldSampleBoxAdapter
|
|
|
9
9
|
import { TrackType } from "../../timeline/TrackType";
|
|
10
10
|
import { AudioUnitBoxAdapter } from "../../audio-unit/AudioUnitBoxAdapter";
|
|
11
11
|
import { LabeledAudioOutput, LabeledAudioOutputsOwner } from "../../LabeledAudioOutputsOwner";
|
|
12
|
+
export type PlayfieldChopSlice = {
|
|
13
|
+
start: unitValue;
|
|
14
|
+
end: unitValue;
|
|
15
|
+
};
|
|
16
|
+
export type PlayfieldChopOptions = {
|
|
17
|
+
file: AudioFileBox;
|
|
18
|
+
startKey: int;
|
|
19
|
+
slices: ReadonlyArray<PlayfieldChopSlice>;
|
|
20
|
+
};
|
|
12
21
|
export declare class PlayfieldDeviceBoxAdapter implements InstrumentDeviceBoxAdapter, LabeledAudioOutputsOwner {
|
|
13
22
|
#private;
|
|
14
23
|
readonly type = "instrument";
|
|
@@ -16,6 +25,7 @@ export declare class PlayfieldDeviceBoxAdapter implements InstrumentDeviceBoxAda
|
|
|
16
25
|
readonly manualUrl = "manuals/devices/instruments/playfield";
|
|
17
26
|
constructor(context: BoxAdaptersContext, box: PlayfieldDeviceBox);
|
|
18
27
|
reset(): void;
|
|
28
|
+
chop({ file, startKey, slices }: PlayfieldChopOptions): void;
|
|
19
29
|
get box(): PlayfieldDeviceBox;
|
|
20
30
|
get uuid(): UUID.Bytes;
|
|
21
31
|
get address(): Address;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlayfieldDeviceBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/instruments/PlayfieldDeviceBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"PlayfieldDeviceBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/instruments/PlayfieldDeviceBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,kBAAkB,EAAqB,MAAM,uBAAuB,CAAA;AAC1F,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,GAAG,EAAU,SAAS,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAC,UAAU,EAAW,0BAA0B,EAAC,MAAM,qBAAqB,CAAA;AACnF,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAE3D,OAAO,EAAC,2BAA2B,EAAC,MAAM,mCAAmC,CAAA;AAC7E,OAAO,EAAC,yBAAyB,EAAC,MAAM,uCAAuC,CAAA;AAE/E,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAA;AACxE,OAAO,EAAC,kBAAkB,EAAE,wBAAwB,EAAC,MAAM,gCAAgC,CAAA;AAE3F,MAAM,MAAM,kBAAkB,GAAG;IAAC,KAAK,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,SAAS,CAAA;CAAC,CAAA;AAEnE,MAAM,MAAM,oBAAoB,GAAG;IAC/B,IAAI,EAAE,YAAY,CAAA;IAClB,QAAQ,EAAE,GAAG,CAAA;IACb,MAAM,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAA;CAC5C,CAAA;AAED,qBAAa,yBAA0B,YAAW,0BAA0B,EAAE,wBAAwB;;IAClG,QAAQ,CAAC,IAAI,gBAAe;IAC5B,QAAQ,CAAC,OAAO,UAAS;IACzB,QAAQ,CAAC,SAAS,2CAA6B;gBAQnC,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,kBAAkB;IAShE,KAAK,IAAI,IAAI;IAEb,IAAI,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAC,EAAE,oBAAoB,GAAG,IAAI;IAoB1D,IAAI,GAAG,IAAI,kBAAkB,CAAmB;IAChD,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,UAAU,IAAI,WAAW,CAAyB;IACtD,IAAI,SAAS,IAAI,WAAW,CAAwB;IACpD,IAAI,gBAAgB,IAAI,SAAS,CAAyB;IAC1D,IAAI,YAAY,IAAI,YAAY,CAA2B;IAC3D,IAAI,cAAc,IAAI,YAAY,CAA6B;IAC/D,IAAI,iBAAiB,IAAI,OAAO,CAAc;IAC9C,IAAI,OAAO,IAAI,2BAA2B,CAAC,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAuB;IAC7G,IAAI,OAAO,IAAI,kBAAkB,CAAuB;IAExD,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAExC,mBAAmB,IAAI,QAAQ,CAAC,kBAAkB,CAAC;IAerD,SAAS,IAAI,IAAI;CAGpB"}
|
|
@@ -10,8 +10,9 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
12
|
var _PlayfieldDeviceBoxAdapter_context, _PlayfieldDeviceBoxAdapter_box, _PlayfieldDeviceBoxAdapter_samples, _PlayfieldDeviceBoxAdapter_parametric;
|
|
13
|
+
import { PlayfieldSampleBox } from "@opendaw/studio-boxes";
|
|
13
14
|
import { Pointers } from "@opendaw/studio-enums";
|
|
14
|
-
import { Option } from "@opendaw/lib-std";
|
|
15
|
+
import { Option, UUID } from "@opendaw/lib-std";
|
|
15
16
|
import { Devices } from "../../DeviceAdapter";
|
|
16
17
|
import { DeviceManualUrls } from "../../DeviceManualUrls";
|
|
17
18
|
import { IndexedBoxAdapterCollection } from "../../IndexedBoxAdapterCollection";
|
|
@@ -33,6 +34,25 @@ export class PlayfieldDeviceBoxAdapter {
|
|
|
33
34
|
__classPrivateFieldSet(this, _PlayfieldDeviceBoxAdapter_parametric, new ParameterAdapterSet(__classPrivateFieldGet(this, _PlayfieldDeviceBoxAdapter_context, "f")), "f");
|
|
34
35
|
}
|
|
35
36
|
reset() { __classPrivateFieldGet(this, _PlayfieldDeviceBoxAdapter_samples, "f").adapters().forEach(adapter => adapter.box.delete()); }
|
|
37
|
+
chop({ file, startKey, slices }) {
|
|
38
|
+
const endKey = startKey + slices.length - 1;
|
|
39
|
+
__classPrivateFieldGet(this, _PlayfieldDeviceBoxAdapter_samples, "f").adapters()
|
|
40
|
+
.filter(adapter => {
|
|
41
|
+
const index = adapter.box.index.getValue();
|
|
42
|
+
return index >= startKey && index <= endKey;
|
|
43
|
+
})
|
|
44
|
+
.forEach(adapter => adapter.box.delete());
|
|
45
|
+
slices.forEach(({ start, end }, sliceIndex) => {
|
|
46
|
+
PlayfieldSampleBox.create(__classPrivateFieldGet(this, _PlayfieldDeviceBoxAdapter_context, "f").boxGraph, UUID.generate(), box => {
|
|
47
|
+
box.file.refer(file);
|
|
48
|
+
box.device.refer(__classPrivateFieldGet(this, _PlayfieldDeviceBoxAdapter_box, "f").samples);
|
|
49
|
+
box.index.setValue(startKey + sliceIndex);
|
|
50
|
+
box.sampleStart.setValue(start);
|
|
51
|
+
box.sampleEnd.setValue(end);
|
|
52
|
+
box.exclude.setValue(true);
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
}
|
|
36
56
|
get box() { return __classPrivateFieldGet(this, _PlayfieldDeviceBoxAdapter_box, "f"); }
|
|
37
57
|
get uuid() { return __classPrivateFieldGet(this, _PlayfieldDeviceBoxAdapter_box, "f").address.uuid; }
|
|
38
58
|
get address() { return __classPrivateFieldGet(this, _PlayfieldDeviceBoxAdapter_box, "f").address; }
|
|
@@ -52,9 +52,9 @@ export class TapeDeviceBoxAdapter {
|
|
|
52
52
|
}
|
|
53
53
|
_TapeDeviceBoxAdapter_context = new WeakMap(), _TapeDeviceBoxAdapter_box = new WeakMap(), _TapeDeviceBoxAdapter_parametric = new WeakMap(), _TapeDeviceBoxAdapter_instances = new WeakSet(), _TapeDeviceBoxAdapter_wrapParameters = function _TapeDeviceBoxAdapter_wrapParameters(box) {
|
|
54
54
|
return {
|
|
55
|
-
flutter: __classPrivateFieldGet(this, _TapeDeviceBoxAdapter_parametric, "f").createParameter(box.flutter, ValueMapping.unipolar(), StringMapping.percent(), "
|
|
56
|
-
wow: __classPrivateFieldGet(this, _TapeDeviceBoxAdapter_parametric, "f").createParameter(box.wow, ValueMapping.unipolar(), StringMapping.percent(), "
|
|
57
|
-
noise: __classPrivateFieldGet(this, _TapeDeviceBoxAdapter_parametric, "f").createParameter(box.noise, ValueMapping.unipolar(), StringMapping.percent(), "
|
|
58
|
-
saturation: __classPrivateFieldGet(this, _TapeDeviceBoxAdapter_parametric, "f").createParameter(box.saturation, ValueMapping.unipolar(), StringMapping.percent(), "
|
|
55
|
+
flutter: __classPrivateFieldGet(this, _TapeDeviceBoxAdapter_parametric, "f").createParameter(box.flutter, ValueMapping.unipolar(), StringMapping.percent(), "Flutter"),
|
|
56
|
+
wow: __classPrivateFieldGet(this, _TapeDeviceBoxAdapter_parametric, "f").createParameter(box.wow, ValueMapping.unipolar(), StringMapping.percent(), "Wow"),
|
|
57
|
+
noise: __classPrivateFieldGet(this, _TapeDeviceBoxAdapter_parametric, "f").createParameter(box.noise, ValueMapping.unipolar(), StringMapping.percent(), "Noise"),
|
|
58
|
+
saturation: __classPrivateFieldGet(this, _TapeDeviceBoxAdapter_parametric, "f").createParameter(box.saturation, ValueMapping.unipolar(), StringMapping.percent(), "Saturation")
|
|
59
59
|
};
|
|
60
60
|
};
|
|
@@ -46,7 +46,7 @@ export class ArpeggioDeviceBoxAdapter {
|
|
|
46
46
|
}
|
|
47
47
|
_a = ArpeggioDeviceBoxAdapter, _ArpeggioDeviceBoxAdapter_context = new WeakMap(), _ArpeggioDeviceBoxAdapter_box = new WeakMap(), _ArpeggioDeviceBoxAdapter_parametric = new WeakMap(), _ArpeggioDeviceBoxAdapter_instances = new WeakSet(), _ArpeggioDeviceBoxAdapter_wrapParameters = function _ArpeggioDeviceBoxAdapter_wrapParameters(box) {
|
|
48
48
|
return {
|
|
49
|
-
modeIndex: __classPrivateFieldGet(this, _ArpeggioDeviceBoxAdapter_parametric, "f").createParameter(box.modeIndex, ValueMapping.linearInteger(0, 2), StringMapping.indices("", ["Up", "Down", "UpDown"]), "
|
|
49
|
+
modeIndex: __classPrivateFieldGet(this, _ArpeggioDeviceBoxAdapter_parametric, "f").createParameter(box.modeIndex, ValueMapping.linearInteger(0, 2), StringMapping.indices("", ["Up", "Down", "UpDown"]), "Mode"),
|
|
50
50
|
numOctaves: __classPrivateFieldGet(this, _ArpeggioDeviceBoxAdapter_parametric, "f").createParameter(box.numOctaves, ValueMapping.linearInteger(1, 5), StringMapping.numeric({ unit: "", fractionDigits: 0 }), "Octaves"),
|
|
51
51
|
rate: __classPrivateFieldGet(this, _ArpeggioDeviceBoxAdapter_parametric, "f").createParameter(box.rateIndex, ValueMapping.linearInteger(0, _a.RateFractions.length - 1), _a.RateStringMapping, "Rate"),
|
|
52
52
|
gate: __classPrivateFieldGet(this, _ArpeggioDeviceBoxAdapter_parametric, "f").createParameter(box.gate, ValueMapping.linear(0.0, 2.0), StringMapping.percent({ fractionDigits: 0 }), "Gate"),
|
|
@@ -45,8 +45,8 @@ export class PitchDeviceBoxAdapter {
|
|
|
45
45
|
}
|
|
46
46
|
_PitchDeviceBoxAdapter_context = new WeakMap(), _PitchDeviceBoxAdapter_box = new WeakMap(), _PitchDeviceBoxAdapter_parametric = new WeakMap(), _PitchDeviceBoxAdapter_instances = new WeakSet(), _PitchDeviceBoxAdapter_wrapParameters = function _PitchDeviceBoxAdapter_wrapParameters(box) {
|
|
47
47
|
return {
|
|
48
|
-
octaves: __classPrivateFieldGet(this, _PitchDeviceBoxAdapter_parametric, "f").createParameter(box.octaves, ValueMapping.linearInteger(-7, 7), StringMapping.numeric({ unit: "oct", fractionDigits: 0 }), "
|
|
49
|
-
semiTones: __classPrivateFieldGet(this, _PitchDeviceBoxAdapter_parametric, "f").createParameter(box.semiTones, ValueMapping.linearInteger(-36, 36), StringMapping.numeric({ unit: "st", fractionDigits: 0 }), "
|
|
50
|
-
cent: __classPrivateFieldGet(this, _PitchDeviceBoxAdapter_parametric, "f").createParameter(box.cents, ValueMapping.linear(-50.0, 50.0), StringMapping.numeric({ unit: "cents", fractionDigits: 1 }), "
|
|
48
|
+
octaves: __classPrivateFieldGet(this, _PitchDeviceBoxAdapter_parametric, "f").createParameter(box.octaves, ValueMapping.linearInteger(-7, 7), StringMapping.numeric({ unit: "oct", fractionDigits: 0 }), "Octaves"),
|
|
49
|
+
semiTones: __classPrivateFieldGet(this, _PitchDeviceBoxAdapter_parametric, "f").createParameter(box.semiTones, ValueMapping.linearInteger(-36, 36), StringMapping.numeric({ unit: "st", fractionDigits: 0 }), "Semi-Tones"),
|
|
50
|
+
cent: __classPrivateFieldGet(this, _PitchDeviceBoxAdapter_parametric, "f").createParameter(box.cents, ValueMapping.linear(-50.0, 50.0), StringMapping.numeric({ unit: "cents", fractionDigits: 1 }), "Cents")
|
|
51
51
|
};
|
|
52
52
|
};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { ApparatDeviceBox, NeonDeviceBox, MIDIOutputDeviceBox, NanoDeviceBox, PlayfieldDeviceBox, SoundfontDeviceBox, TapeDeviceBox, VaporisateurDeviceBox } from "@opendaw/studio-boxes";
|
|
2
|
-
export type InstrumentBox = ApparatDeviceBox | TapeDeviceBox | VaporisateurDeviceBox | NeonDeviceBox | NanoDeviceBox | PlayfieldDeviceBox | SoundfontDeviceBox | MIDIOutputDeviceBox;
|
|
1
|
+
import { ApparatDeviceBox, CubedDeviceBox, NeonDeviceBox, MIDIOutputDeviceBox, NanoDeviceBox, PlayfieldDeviceBox, SoundfontDeviceBox, TapeDeviceBox, VaporisateurDeviceBox } from "@opendaw/studio-boxes";
|
|
2
|
+
export type InstrumentBox = ApparatDeviceBox | CubedDeviceBox | TapeDeviceBox | VaporisateurDeviceBox | NeonDeviceBox | NanoDeviceBox | PlayfieldDeviceBox | SoundfontDeviceBox | MIDIOutputDeviceBox;
|
|
3
3
|
//# sourceMappingURL=InstrumentBox.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstrumentBox.d.ts","sourceRoot":"","sources":["../../src/factories/InstrumentBox.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,qBAAqB,EACxB,MAAM,uBAAuB,CAAA;AAE9B,MAAM,MAAM,aAAa,GACnB,gBAAgB,GAChB,aAAa,GACb,qBAAqB,GACrB,aAAa,GACb,aAAa,GACb,kBAAkB,GAClB,kBAAkB,GAClB,mBAAmB,CAAA"}
|
|
1
|
+
{"version":3,"file":"InstrumentBox.d.ts","sourceRoot":"","sources":["../../src/factories/InstrumentBox.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,qBAAqB,EACxB,MAAM,uBAAuB,CAAA;AAE9B,MAAM,MAAM,aAAa,GACnB,gBAAgB,GAChB,cAAc,GACd,aAAa,GACb,qBAAqB,GACrB,aAAa,GACb,aAAa,GACb,kBAAkB,GAClB,kBAAkB,GAClB,mBAAmB,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ApparatDeviceBox, AudioFileBox, NeonDeviceBox, MIDIOutputDeviceBox, NanoDeviceBox, PlayfieldDeviceBox, SoundfontDeviceBox, TapeDeviceBox, VaporisateurDeviceBox } from "@opendaw/studio-boxes";
|
|
1
|
+
import { ApparatDeviceBox, AudioFileBox, CubedDeviceBox, NeonDeviceBox, MIDIOutputDeviceBox, NanoDeviceBox, PlayfieldDeviceBox, SoundfontDeviceBox, SoundfontFileBox, TapeDeviceBox, VaporisateurDeviceBox } from "@opendaw/studio-boxes";
|
|
2
2
|
import { byte, UUID } from "@opendaw/lib-std";
|
|
3
3
|
import { InstrumentFactory } from "./InstrumentFactory";
|
|
4
4
|
export declare namespace InstrumentFactories {
|
|
@@ -13,23 +13,19 @@ export declare namespace InstrumentFactories {
|
|
|
13
13
|
}>;
|
|
14
14
|
const Playfield: InstrumentFactory<PlayfieldAttachment, PlayfieldDeviceBox>;
|
|
15
15
|
const Neon: InstrumentFactory<void, NeonDeviceBox>;
|
|
16
|
+
const Cubed: InstrumentFactory<void, CubedDeviceBox>;
|
|
16
17
|
const Vaporisateur: InstrumentFactory<void, VaporisateurDeviceBox>;
|
|
17
18
|
const MIDIOutput: InstrumentFactory<void, MIDIOutputDeviceBox>;
|
|
18
|
-
const Soundfont: InstrumentFactory<
|
|
19
|
-
uuid: UUID.String;
|
|
20
|
-
name: string;
|
|
21
|
-
}, SoundfontDeviceBox>;
|
|
19
|
+
const Soundfont: InstrumentFactory<SoundfontFileBox, SoundfontDeviceBox>;
|
|
22
20
|
const Apparat: InstrumentFactory<void, ApparatDeviceBox>;
|
|
23
21
|
const Named: {
|
|
24
22
|
Apparat: InstrumentFactory<void, ApparatDeviceBox>;
|
|
23
|
+
Cubed: InstrumentFactory<void, CubedDeviceBox>;
|
|
25
24
|
Neon: InstrumentFactory<void, NeonDeviceBox>;
|
|
26
25
|
MIDIOutput: InstrumentFactory<void, MIDIOutputDeviceBox>;
|
|
27
26
|
Nano: InstrumentFactory<AudioFileBox, NanoDeviceBox>;
|
|
28
27
|
Playfield: InstrumentFactory<PlayfieldAttachment, PlayfieldDeviceBox>;
|
|
29
|
-
Soundfont: InstrumentFactory<
|
|
30
|
-
uuid: UUID.String;
|
|
31
|
-
name: string;
|
|
32
|
-
}, SoundfontDeviceBox>;
|
|
28
|
+
Soundfont: InstrumentFactory<SoundfontFileBox, SoundfontDeviceBox>;
|
|
33
29
|
Tape: InstrumentFactory<void, TapeDeviceBox>;
|
|
34
30
|
Vaporisateur: InstrumentFactory<void, VaporisateurDeviceBox>;
|
|
35
31
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstrumentFactories.d.ts","sourceRoot":"","sources":["../../src/factories/InstrumentFactories.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAChB,YAAY,EAEZ,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAElB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"InstrumentFactories.d.ts","sourceRoot":"","sources":["../../src/factories/InstrumentFactories.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAChB,YAAY,EAEZ,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAElB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACxB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAC,IAAI,EAAa,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAKtD,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAA;AAGrD,yBAAiB,mBAAmB,CAAC;IAC1B,MAAM,IAAI,EAAE,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAoBvD,CAAA;IAEM,MAAM,IAAI,EAAE,iBAAiB,CAAC,YAAY,EAAE,aAAa,CAiB/D,CAAA;IAED,KAAY,mBAAmB,GAAG,aAAa,CAAC;QAC5C,IAAI,EAAE,IAAI,CAAA;QACV,IAAI,EAAE,IAAI,CAAC,KAAK,CAAA;QAChB,IAAI,EAAE,MAAM,CAAA;QACZ,iBAAiB,EAAE,MAAM,CAAA;QACzB,OAAO,EAAE,OAAO,CAAA;KACnB,CAAC,CAAA;IAEK,MAAM,SAAS,EAAE,iBAAiB,CAAC,mBAAmB,EAAE,kBAAkB,CA8BhF,CAAA;IAEM,MAAM,IAAI,EAAE,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAiCvD,CAAA;IAEM,MAAM,KAAK,EAAE,iBAAiB,CAAC,IAAI,EAAE,cAAc,CAiBzD,CAAA;IAEM,MAAM,YAAY,EAAE,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,CA8BvE,CAAA;IAEM,MAAM,UAAU,EAAE,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,CAiBnE,CAAA;IAEM,MAAM,SAAS,EAAE,iBAAiB,CAAC,gBAAgB,EAAE,kBAAkB,CAkB7E,CAAA;IAEM,MAAM,OAAO,EAAE,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,CAe7D,CAAA;IAEM,MAAM,KAAK;;;;;;;;;;KAAqF,CAAA;IACvG,KAAY,IAAI,GAAG,MAAM,OAAO,KAAK,CAAA;CAYxC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ApparatDeviceBox, AudioFileBox, NeonDeviceBox, MIDIOutputDeviceBox, NanoDeviceBox, PlayfieldDeviceBox, PlayfieldSampleBox, SoundfontDeviceBox, SoundfontFileBox, TapeDeviceBox, VaporisateurDeviceBox } from "@opendaw/studio-boxes";
|
|
1
|
+
import { ApparatDeviceBox, AudioFileBox, CubedDeviceBox, NeonDeviceBox, MIDIOutputDeviceBox, NanoDeviceBox, PlayfieldDeviceBox, PlayfieldSampleBox, SoundfontDeviceBox, SoundfontFileBox, TapeDeviceBox, VaporisateurDeviceBox } from "@opendaw/studio-boxes";
|
|
2
2
|
import { isDefined, UUID } from "@opendaw/lib-std";
|
|
3
3
|
import { ClassicWaveform } from "@opendaw/lib-dsp";
|
|
4
4
|
import { IconSymbol, VoicingMode } from "@opendaw/studio-enums";
|
|
@@ -95,9 +95,22 @@ export var InstrumentFactories;
|
|
|
95
95
|
box.host.refer(host);
|
|
96
96
|
})
|
|
97
97
|
};
|
|
98
|
+
InstrumentFactories.Cubed = {
|
|
99
|
+
defaultName: "Cubed",
|
|
100
|
+
defaultIcon: IconSymbol.Cube,
|
|
101
|
+
briefDescription: "303-style Synth",
|
|
102
|
+
description: "Acid bassline synthesizer",
|
|
103
|
+
manualPage: "manuals/devices/instruments/cubed",
|
|
104
|
+
trackType: TrackType.Notes,
|
|
105
|
+
create: (boxGraph, host, name, icon, _attachment) => CubedDeviceBox.create(boxGraph, UUID.generate(), box => {
|
|
106
|
+
box.label.setValue(name);
|
|
107
|
+
box.icon.setValue(IconSymbol.toName(icon));
|
|
108
|
+
box.host.refer(host);
|
|
109
|
+
})
|
|
110
|
+
};
|
|
98
111
|
InstrumentFactories.Vaporisateur = {
|
|
99
112
|
defaultName: "Vaporisateur",
|
|
100
|
-
defaultIcon: IconSymbol.
|
|
113
|
+
defaultIcon: IconSymbol.Vaporisateur,
|
|
101
114
|
briefDescription: "Subtractive Synth",
|
|
102
115
|
description: "Classic subtractive synthesizer",
|
|
103
116
|
manualPage: DeviceManualUrls.Vaporisateur,
|
|
@@ -141,9 +154,12 @@ export var InstrumentFactories;
|
|
|
141
154
|
description: "Soundfont Player",
|
|
142
155
|
manualPage: DeviceManualUrls.Soundfont,
|
|
143
156
|
trackType: TrackType.Notes,
|
|
144
|
-
create: (boxGraph, host, name, icon) => SoundfontDeviceBox.create(boxGraph, UUID.generate(), box => {
|
|
157
|
+
create: (boxGraph, host, name, icon, attachment) => SoundfontDeviceBox.create(boxGraph, UUID.generate(), box => {
|
|
145
158
|
box.label.setValue(name);
|
|
146
159
|
box.icon.setValue(IconSymbol.toName(icon));
|
|
160
|
+
if (isDefined(attachment)) {
|
|
161
|
+
box.file.refer(attachment);
|
|
162
|
+
}
|
|
147
163
|
box.host.refer(host);
|
|
148
164
|
})
|
|
149
165
|
};
|
|
@@ -160,7 +176,7 @@ export var InstrumentFactories;
|
|
|
160
176
|
box.host.refer(host);
|
|
161
177
|
})
|
|
162
178
|
};
|
|
163
|
-
InstrumentFactories.Named = { Apparat: InstrumentFactories.Apparat, Neon: InstrumentFactories.Neon, MIDIOutput: InstrumentFactories.MIDIOutput, Nano: InstrumentFactories.Nano, Playfield: InstrumentFactories.Playfield, Soundfont: InstrumentFactories.Soundfont, Tape: InstrumentFactories.Tape, Vaporisateur: InstrumentFactories.Vaporisateur };
|
|
179
|
+
InstrumentFactories.Named = { Apparat: InstrumentFactories.Apparat, Cubed: InstrumentFactories.Cubed, Neon: InstrumentFactories.Neon, MIDIOutput: InstrumentFactories.MIDIOutput, Nano: InstrumentFactories.Nano, Playfield: InstrumentFactories.Playfield, Soundfont: InstrumentFactories.Soundfont, Tape: InstrumentFactories.Tape, Vaporisateur: InstrumentFactories.Vaporisateur };
|
|
164
180
|
const useAudioFile = (boxGraph, fileUUID, name, duration) => boxGraph.findBox(fileUUID)
|
|
165
181
|
.unwrapOrElse(() => AudioFileBox.create(boxGraph, fileUUID, box => {
|
|
166
182
|
box.fileName.setValue(name);
|
|
@@ -43,8 +43,8 @@ export class GrooveShuffleBoxAdapter {
|
|
|
43
43
|
}
|
|
44
44
|
_a = GrooveShuffleBoxAdapter, _GrooveShuffleBoxAdapter_terminator = new WeakMap(), _GrooveShuffleBoxAdapter_context = new WeakMap(), _GrooveShuffleBoxAdapter_box = new WeakMap(), _GrooveShuffleBoxAdapter_parametric = new WeakMap(), _GrooveShuffleBoxAdapter_groove = new WeakMap(), _GrooveShuffleBoxAdapter_amount = new WeakMap(), _GrooveShuffleBoxAdapter_duration = new WeakMap(), _GrooveShuffleBoxAdapter_instances = new WeakSet(), _GrooveShuffleBoxAdapter_wrapParameters = function _GrooveShuffleBoxAdapter_wrapParameters(box) {
|
|
45
45
|
return {
|
|
46
|
-
duration: __classPrivateFieldGet(this, _GrooveShuffleBoxAdapter_parametric, "f").createParameter(box.duration, ValueMapping.values(_a.DurationPPQNs), StringMapping.values("", _a.DurationPPQNs, _a.DurationStrings), "
|
|
47
|
-
amount: __classPrivateFieldGet(this, _GrooveShuffleBoxAdapter_parametric, "f").createParameter(box.amount, ValueMapping.unipolar(), StringMapping.percent({ fractionDigits: 0 }), "
|
|
46
|
+
duration: __classPrivateFieldGet(this, _GrooveShuffleBoxAdapter_parametric, "f").createParameter(box.duration, ValueMapping.values(_a.DurationPPQNs), StringMapping.values("", _a.DurationPPQNs, _a.DurationStrings), "Duration"),
|
|
47
|
+
amount: __classPrivateFieldGet(this, _GrooveShuffleBoxAdapter_parametric, "f").createParameter(box.amount, ValueMapping.unipolar(), StringMapping.percent({ fractionDigits: 0 }), "Amount")
|
|
48
48
|
};
|
|
49
49
|
};
|
|
50
50
|
GrooveShuffleBoxAdapter.Durations = [
|
package/dist/index.d.ts
CHANGED
|
@@ -75,11 +75,17 @@ export * from "./devices/audio-effects/VocoderDeviceBoxAdapter";
|
|
|
75
75
|
export * from "./devices/audio-effects/WaveshaperDeviceBoxAdapter";
|
|
76
76
|
export * from "./devices/audio-effects/WerkstattDeviceBoxAdapter";
|
|
77
77
|
export * from "./devices/instruments/ApparatDeviceBoxAdapter";
|
|
78
|
+
export * from "./devices/instruments/Cubed/AblPattern";
|
|
79
|
+
export * from "./devices/instruments/Cubed/CubedPatternData";
|
|
80
|
+
export * from "./devices/instruments/Cubed/CubedRandomize";
|
|
81
|
+
export * from "./devices/instruments/Cubed/CubedStep";
|
|
82
|
+
export * from "./devices/instruments/CubedDeviceBoxAdapter";
|
|
78
83
|
export * from "./devices/instruments/MIDIOutputDeviceBoxAdapter";
|
|
79
84
|
export * from "./devices/instruments/NanoDeviceBoxAdapter";
|
|
80
85
|
export * from "./devices/instruments/Neon/CzSysex";
|
|
81
86
|
export * from "./devices/instruments/Neon/NeonPreset";
|
|
82
87
|
export * from "./devices/instruments/NeonDeviceBoxAdapter";
|
|
88
|
+
export * from "./devices/instruments/Playfield/ChopModel";
|
|
83
89
|
export * from "./devices/instruments/Playfield/Gate";
|
|
84
90
|
export * from "./devices/instruments/Playfield/PlayfieldSampleBoxAdapter";
|
|
85
91
|
export * from "./devices/instruments/PlayfieldDeviceBoxAdapter";
|
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,qBAAqB,CAAA;AACnC,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,kCAAkC,CAAA;AAChD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,oCAAoC,CAAA;AAClD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qCAAqC,CAAA;AACnD,cAAc,uBAAuB,CAAA;AACrC,cAAc,oCAAoC,CAAA;AAClD,cAAc,oCAAoC,CAAA;AAClD,cAAc,0BAA0B,CAAA;AACxC,cAAc,mCAAmC,CAAA;AACjD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,oEAAoE,CAAA;AAClF,cAAc,iFAAiF,CAAA;AAC/F,cAAc,wDAAwD,CAAA;AACtE,cAAc,kDAAkD,CAAA;AAChE,cAAc,oDAAoD,CAAA;AAClE,cAAc,iDAAiD,CAAA;AAC/D,cAAc,wDAAwD,CAAA;AACtE,cAAc,+CAA+C,CAAA;AAC7D,cAAc,8CAA8C,CAAA;AAC5D,cAAc,kDAAkD,CAAA;AAChE,cAAc,8CAA8C,CAAA;AAC5D,cAAc,mDAAmD,CAAA;AACjE,cAAc,iDAAiD,CAAA;AAC/D,cAAc,mDAAmD,CAAA;AACjE,cAAc,gDAAgD,CAAA;AAC9D,cAAc,gDAAgD,CAAA;AAC9D,cAAc,mDAAmD,CAAA;AACjE,cAAc,oDAAoD,CAAA;AAClE,cAAc,+CAA+C,CAAA;AAC7D,cAAc,4DAA4D,CAAA;AAC1E,cAAc,iDAAiD,CAAA;AAC/D,cAAc,oDAAoD,CAAA;AAClE,cAAc,mDAAmD,CAAA;AACjE,cAAc,+CAA+C,CAAA;AAC7D,cAAc,kDAAkD,CAAA;AAChE,cAAc,4CAA4C,CAAA;AAC1D,cAAc,oCAAoC,CAAA;AAClD,cAAc,uCAAuC,CAAA;AACrD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,sCAAsC,CAAA;AACpD,cAAc,2DAA2D,CAAA;AACzE,cAAc,iDAAiD,CAAA;AAC/D,cAAc,iDAAiD,CAAA;AAC/D,cAAc,4CAA4C,CAAA;AAC1D,cAAc,oDAAoD,CAAA;AAClE,cAAc,4CAA4C,CAAA;AAC1D,cAAc,iDAAiD,CAAA;AAC/D,cAAc,8CAA8C,CAAA;AAC5D,cAAc,kDAAkD,CAAA;AAChE,cAAc,0DAA0D,CAAA;AACxE,cAAc,iDAAiD,CAAA;AAC/D,cAAc,kDAAkD,CAAA;AAChE,cAAc,uBAAuB,CAAA;AACrC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,kCAAkC,CAAA;AAChD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AACzC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mCAAmC,CAAA;AACjD,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,0BAA0B,CAAA;AACxC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,0BAA0B,CAAA;AACxC,cAAc,2BAA2B,CAAA;AACzC,cAAc,aAAa,CAAA;AAC3B,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,qCAAqC,CAAA;AACnD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qCAAqC,CAAA;AACnD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,oCAAoC,CAAA;AAClD,cAAc,kCAAkC,CAAA;AAChD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,mCAAmC,CAAA;AACjD,cAAc,2BAA2B,CAAA;AACzC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0BAA0B,CAAA;AACxC,cAAc,qCAAqC,CAAA;AACnD,cAAc,kCAAkC,CAAA;AAChD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qCAAqC,CAAA;AACnD,cAAc,oCAAoC,CAAA;AAClD,cAAc,qCAAqC,CAAA;AACnD,cAAc,qDAAqD,CAAA;AACnE,cAAc,sDAAsD,CAAA;AACpE,cAAc,4CAA4C,CAAA;AAC1D,cAAc,sCAAsC,CAAA;AACpD,cAAc,uCAAuC,CAAA;AACrD,cAAc,uCAAuC,CAAA;AACrD,cAAc,yCAAyC,CAAA;AACvD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,wCAAwC,CAAA;AACtD,cAAc,yCAAyC,CAAA;AACvD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,UAAU,CAAA;AACxB,YAAY,EAAC,WAAW,EAAE,mBAAmB,EAAC,MAAM,qBAAqB,CAAA;AACzE,OAAO,EAAC,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAC,MAAM,qBAAqB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -77,11 +77,17 @@ export * from "./devices/audio-effects/VocoderDeviceBoxAdapter";
|
|
|
77
77
|
export * from "./devices/audio-effects/WaveshaperDeviceBoxAdapter";
|
|
78
78
|
export * from "./devices/audio-effects/WerkstattDeviceBoxAdapter";
|
|
79
79
|
export * from "./devices/instruments/ApparatDeviceBoxAdapter";
|
|
80
|
+
export * from "./devices/instruments/Cubed/AblPattern";
|
|
81
|
+
export * from "./devices/instruments/Cubed/CubedPatternData";
|
|
82
|
+
export * from "./devices/instruments/Cubed/CubedRandomize";
|
|
83
|
+
export * from "./devices/instruments/Cubed/CubedStep";
|
|
84
|
+
export * from "./devices/instruments/CubedDeviceBoxAdapter";
|
|
80
85
|
export * from "./devices/instruments/MIDIOutputDeviceBoxAdapter";
|
|
81
86
|
export * from "./devices/instruments/NanoDeviceBoxAdapter";
|
|
82
87
|
export * from "./devices/instruments/Neon/CzSysex";
|
|
83
88
|
export * from "./devices/instruments/Neon/NeonPreset";
|
|
84
89
|
export * from "./devices/instruments/NeonDeviceBoxAdapter";
|
|
90
|
+
export * from "./devices/instruments/Playfield/ChopModel";
|
|
85
91
|
export * from "./devices/instruments/Playfield/Gate";
|
|
86
92
|
export * from "./devices/instruments/Playfield/PlayfieldSampleBoxAdapter";
|
|
87
93
|
export * from "./devices/instruments/PlayfieldDeviceBoxAdapter";
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { LfoModulatorBox } from "@opendaw/studio-boxes";
|
|
2
|
+
import { int } from "@opendaw/lib-std";
|
|
3
|
+
import { ppqn } from "@opendaw/lib-dsp";
|
|
4
|
+
import { BoxAdaptersContext } from "../BoxAdaptersContext";
|
|
5
|
+
import { ModulatorBoxAdapter } from "./ModulatorBoxAdapter";
|
|
6
|
+
export declare enum LfoShape {
|
|
7
|
+
Sine = 0,
|
|
8
|
+
Triangle = 1,
|
|
9
|
+
SawUp = 2,
|
|
10
|
+
SawDown = 3,
|
|
11
|
+
Square = 4
|
|
12
|
+
}
|
|
13
|
+
export declare class LfoModulatorBoxAdapter extends ModulatorBoxAdapter<LfoModulatorBox> {
|
|
14
|
+
#private;
|
|
15
|
+
static readonly Rates: ReadonlyArray<[int, int]>;
|
|
16
|
+
static readonly MaxAbsoluteRate = 10;
|
|
17
|
+
static readonly ExponentRange = 8;
|
|
18
|
+
static readonly CenterAbsoluteRate = 1;
|
|
19
|
+
static readonly RatePPQNs: ReadonlyArray<ppqn>;
|
|
20
|
+
static readonly RateStrings: ReadonlyArray<string>;
|
|
21
|
+
static readonly ShapeStrings: ReadonlyArray<string>;
|
|
22
|
+
readonly namedParameter: {
|
|
23
|
+
readonly shape: import("..").AutomatableParameterFieldAdapter<number>;
|
|
24
|
+
readonly rateSync: import("..").AutomatableParameterFieldAdapter<number>;
|
|
25
|
+
readonly rateAbsolute: import("..").AutomatableParameterFieldAdapter<number>;
|
|
26
|
+
readonly phase: import("..").AutomatableParameterFieldAdapter<number>;
|
|
27
|
+
readonly exponent: import("..").AutomatableParameterFieldAdapter<number>;
|
|
28
|
+
};
|
|
29
|
+
constructor(context: BoxAdaptersContext, box: LfoModulatorBox);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=LfoModulatorBoxAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LfoModulatorBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/modulation/LfoModulatorBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAC,GAAG,EAA8B,MAAM,kBAAkB,CAAA;AACjE,OAAO,EAAC,IAAI,EAAO,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAA;AAEzD,oBAAY,QAAQ;IAAE,IAAI,IAAA;IAAE,QAAQ,IAAA;IAAE,KAAK,IAAA;IAAE,OAAO,IAAA;IAAE,MAAM,IAAA;CAAC;AAG7D,qBAAa,sBAAuB,SAAQ,mBAAmB,CAAC,eAAe,CAAC;;IAC5E,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAE/C;IACD,MAAM,CAAC,QAAQ,CAAC,eAAe,MAAO;IACtC,MAAM,CAAC,QAAQ,CAAC,aAAa,KAAM;IACnC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,KAAM;IACxC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,CACqC;IACnF,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAGT;IACzC,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,CAAmD;IAEtG,QAAQ,CAAC,cAAc;;;;;;MAAA;gBAEX,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,eAAe;CAwBhE"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
+
};
|
|
6
|
+
var _LfoModulatorBoxAdapter_instances, _a, _LfoModulatorBoxAdapter_wrapParameters;
|
|
7
|
+
import { StringMapping, ValueMapping } from "@opendaw/lib-std";
|
|
8
|
+
import { PPQN } from "@opendaw/lib-dsp";
|
|
9
|
+
import { ModulatorBoxAdapter } from "./ModulatorBoxAdapter";
|
|
10
|
+
export var LfoShape;
|
|
11
|
+
(function (LfoShape) {
|
|
12
|
+
LfoShape[LfoShape["Sine"] = 0] = "Sine";
|
|
13
|
+
LfoShape[LfoShape["Triangle"] = 1] = "Triangle";
|
|
14
|
+
LfoShape[LfoShape["SawUp"] = 2] = "SawUp";
|
|
15
|
+
LfoShape[LfoShape["SawDown"] = 3] = "SawDown";
|
|
16
|
+
LfoShape[LfoShape["Square"] = 4] = "Square";
|
|
17
|
+
})(LfoShape || (LfoShape = {}));
|
|
18
|
+
// WASM CONTRACT: `RatePPQNs` mirrors the engine's `modulation::RATES` (crates/engine/src/modulation.rs).
|
|
19
|
+
export class LfoModulatorBoxAdapter extends ModulatorBoxAdapter {
|
|
20
|
+
constructor(context, box) {
|
|
21
|
+
super(context, box);
|
|
22
|
+
_LfoModulatorBoxAdapter_instances.add(this);
|
|
23
|
+
this.namedParameter = __classPrivateFieldGet(this, _LfoModulatorBoxAdapter_instances, "m", _LfoModulatorBoxAdapter_wrapParameters).call(this, box);
|
|
24
|
+
this.registerParameterTracks();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
_a = LfoModulatorBoxAdapter, _LfoModulatorBoxAdapter_instances = new WeakSet(), _LfoModulatorBoxAdapter_wrapParameters = function _LfoModulatorBoxAdapter_wrapParameters(box) {
|
|
28
|
+
return {
|
|
29
|
+
shape: this.parametric.createParameter(box.shape, ValueMapping.linearInteger(0, _a.ShapeStrings.length - 1), StringMapping.indices("", _a.ShapeStrings), "Shape"),
|
|
30
|
+
rateSync: this.parametric.createParameter(box.rateSync, ValueMapping.linearInteger(0, _a.RateStrings.length - 1), StringMapping.indices("", _a.RateStrings), "Sync"),
|
|
31
|
+
rateAbsolute: this.parametric.createParameter(box.rateAbsolute, ValueMapping.powerByCenter(_a.CenterAbsoluteRate, 0.0, _a.MaxAbsoluteRate), StringMapping.numeric({ unit: "Hz", fractionDigits: 2 }), "Free"),
|
|
32
|
+
phase: this.parametric.createParameter(box.phase, ValueMapping.unipolar(), StringMapping.percent({ fractionDigits: 0 }), "Phase"),
|
|
33
|
+
exponent: this.parametric.createParameter(box.exponent, ValueMapping.bipolar(), StringMapping.percent({ fractionDigits: 0 }), "Pow")
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
LfoModulatorBoxAdapter.Rates = [
|
|
37
|
+
[8, 1], [4, 1], [2, 1], [1, 1], [1, 2], [1, 4], [1, 6], [1, 8], [1, 12], [1, 16], [1, 24], [1, 32]
|
|
38
|
+
];
|
|
39
|
+
LfoModulatorBoxAdapter.MaxAbsoluteRate = 10.0;
|
|
40
|
+
LfoModulatorBoxAdapter.ExponentRange = 8.0;
|
|
41
|
+
LfoModulatorBoxAdapter.CenterAbsoluteRate = 1.0;
|
|
42
|
+
LfoModulatorBoxAdapter.RatePPQNs = [0, ..._a.Rates
|
|
43
|
+
.map(([nominator, denominator]) => PPQN.fromSignature(nominator, denominator))];
|
|
44
|
+
LfoModulatorBoxAdapter.RateStrings = ["Off", ..._a.Rates
|
|
45
|
+
.map(([nominator, denominator]) => denominator === 1
|
|
46
|
+
? (nominator === 1 ? "1 bar" : `${nominator} bars`)
|
|
47
|
+
: `${nominator}/${denominator}`)];
|
|
48
|
+
LfoModulatorBoxAdapter.ShapeStrings = ["Sine", "Triangle", "Saw ↑", "Saw ↓", "Square"];
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { MacroModulatorBox } from "@opendaw/studio-boxes";
|
|
2
|
+
import { BoxAdaptersContext } from "../BoxAdaptersContext";
|
|
3
|
+
import { ModulatorBoxAdapter } from "./ModulatorBoxAdapter";
|
|
4
|
+
export declare class MacroModulatorBoxAdapter extends ModulatorBoxAdapter<MacroModulatorBox> {
|
|
5
|
+
#private;
|
|
6
|
+
readonly namedParameter: {
|
|
7
|
+
readonly value: import("..").AutomatableParameterFieldAdapter<number>;
|
|
8
|
+
};
|
|
9
|
+
constructor(context: BoxAdaptersContext, box: MacroModulatorBox);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=MacroModulatorBoxAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MacroModulatorBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/modulation/MacroModulatorBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAA;AAEvD,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,mBAAmB,EAAwB,MAAM,uBAAuB,CAAA;AAEhF,qBAAa,wBAAyB,SAAQ,mBAAmB,CAAC,iBAAiB,CAAC;;IAChF,QAAQ,CAAC,cAAc;;MAAA;gBAEX,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,iBAAiB;CAYlE"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
+
};
|
|
6
|
+
var _MacroModulatorBoxAdapter_instances, _MacroModulatorBoxAdapter_wrapParameters;
|
|
7
|
+
import { ValueMapping } from "@opendaw/lib-std";
|
|
8
|
+
import { ModulatorBoxAdapter, polarityStringMapping } from "./ModulatorBoxAdapter";
|
|
9
|
+
export class MacroModulatorBoxAdapter extends ModulatorBoxAdapter {
|
|
10
|
+
constructor(context, box) {
|
|
11
|
+
super(context, box);
|
|
12
|
+
_MacroModulatorBoxAdapter_instances.add(this);
|
|
13
|
+
this.namedParameter = __classPrivateFieldGet(this, _MacroModulatorBoxAdapter_instances, "m", _MacroModulatorBoxAdapter_wrapParameters).call(this, box);
|
|
14
|
+
this.registerParameterTracks();
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
_MacroModulatorBoxAdapter_instances = new WeakSet(), _MacroModulatorBoxAdapter_wrapParameters = function _MacroModulatorBoxAdapter_wrapParameters(box) {
|
|
18
|
+
return {
|
|
19
|
+
value: this.parametric.createParameter(box.value, ValueMapping.unipolar(), polarityStringMapping(box.bipolar), "Value")
|
|
20
|
+
};
|
|
21
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Address } from "@opendaw/lib-box";
|
|
2
|
+
import { ModulationBox } from "@opendaw/studio-boxes";
|
|
3
|
+
import { Observer, Option, Subscription, UUID } from "@opendaw/lib-std";
|
|
4
|
+
import { BoxAdapter } from "../BoxAdapter";
|
|
5
|
+
import { BoxAdaptersContext } from "../BoxAdaptersContext";
|
|
6
|
+
import { AutomatableParameterFieldAdapter } from "../AutomatableParameterFieldAdapter";
|
|
7
|
+
import { AudioUnitBoxAdapter } from "../audio-unit/AudioUnitBoxAdapter";
|
|
8
|
+
import { ModulatorBoxAdapter } from "./ModulatorBoxAdapter";
|
|
9
|
+
export declare class ModulationBoxAdapter implements BoxAdapter {
|
|
10
|
+
#private;
|
|
11
|
+
readonly namedParameter: {
|
|
12
|
+
readonly depth: AutomatableParameterFieldAdapter<number>;
|
|
13
|
+
};
|
|
14
|
+
constructor(context: BoxAdaptersContext, box: ModulationBox);
|
|
15
|
+
get box(): ModulationBox;
|
|
16
|
+
get uuid(): UUID.Bytes;
|
|
17
|
+
get address(): Address;
|
|
18
|
+
get enabled(): boolean;
|
|
19
|
+
get depth(): number;
|
|
20
|
+
get source(): ModulatorBoxAdapter;
|
|
21
|
+
get target(): Option<AutomatableParameterFieldAdapter>;
|
|
22
|
+
get targetAudioUnit(): Option<AudioUnitBoxAdapter>;
|
|
23
|
+
get targetOwner(): Option<string>;
|
|
24
|
+
catchupAndSubscribeTargetOwner(observer: Observer<string>): Subscription;
|
|
25
|
+
terminate(): void;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=ModulationBoxAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModulationBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/modulation/ModulationBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAC,QAAQ,EAAE,MAAM,EAAiB,YAAY,EAA0B,IAAI,EAAe,MAAM,kBAAkB,CAAA;AAC1H,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AAExD,OAAO,EAAC,gCAAgC,EAAC,MAAM,qCAAqC,CAAA;AACpF,OAAO,EAAC,mBAAmB,EAAC,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAwB,mBAAmB,EAAC,MAAM,uBAAuB,CAAA;AAGhF,qBAAa,oBAAqB,YAAW,UAAU;;IAKnD,QAAQ,CAAC,cAAc;;MAAA;gBAEX,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,aAAa;IAsB3D,IAAI,GAAG,IAAI,aAAa,CAAmB;IAC3C,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,OAAO,IAAI,OAAO,CAAsC;IAC5D,IAAI,KAAK,IAAI,MAAM,CAAoC;IAEvD,IAAI,MAAM,IAAI,mBAAmB,CAGhC;IAGD,IAAI,MAAM,IAAI,MAAM,CAAC,gCAAgC,CAAC,CAGrD;IAED,IAAI,eAAe,IAAI,MAAM,CAAC,mBAAmB,CAAC,CAEjD;IAED,IAAI,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,CAEhC;IAGD,8BAA8B,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,YAAY;IASxE,SAAS,IAAI,IAAI;CACpB"}
|