@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.
Files changed (96) hide show
  1. package/dist/AutomatableParameterFieldAdapter.d.ts +3 -2
  2. package/dist/AutomatableParameterFieldAdapter.d.ts.map +1 -1
  3. package/dist/AutomatableParameterFieldAdapter.js +6 -3
  4. package/dist/BoxAdapters.d.ts.map +1 -1
  5. package/dist/BoxAdapters.js +2 -0
  6. package/dist/DeviceManualUrls.d.ts +3 -3
  7. package/dist/DeviceManualUrls.d.ts.map +1 -1
  8. package/dist/DeviceManualUrls.js +3 -3
  9. package/dist/ParameterAdapterSet.d.ts +2 -2
  10. package/dist/ParameterAdapterSet.d.ts.map +1 -1
  11. package/dist/ParameterOwner.d.ts +10 -0
  12. package/dist/ParameterOwner.d.ts.map +1 -0
  13. package/dist/ParameterOwner.js +73 -0
  14. package/dist/ScriptCompiler.d.ts.map +1 -1
  15. package/dist/ScriptCompiler.js +4 -2
  16. package/dist/ScriptDeclaration.d.ts +1 -0
  17. package/dist/ScriptDeclaration.d.ts.map +1 -1
  18. package/dist/ScriptDeclaration.js +20 -5
  19. package/dist/audio-unit/AudioUnitBoxAdapter.js +4 -4
  20. package/dist/devices/audio-effects/DelayDeviceBoxAdapter.js +13 -13
  21. package/dist/devices/audio-effects/NeuralAmpDeviceBoxAdapter.js +2 -2
  22. package/dist/devices/audio-effects/RevampDeviceBoxAdapter.js +3 -3
  23. package/dist/devices/audio-effects/ReverbDeviceBoxAdapter.d.ts +1 -1
  24. package/dist/devices/audio-effects/ReverbDeviceBoxAdapter.d.ts.map +1 -1
  25. package/dist/devices/audio-effects/ReverbDeviceBoxAdapter.js +4 -4
  26. package/dist/devices/audio-effects/StereoToolDeviceBoxAdapter.d.ts +1 -1
  27. package/dist/devices/audio-effects/StereoToolDeviceBoxAdapter.d.ts.map +1 -1
  28. package/dist/devices/audio-effects/StereoToolDeviceBoxAdapter.js +1 -1
  29. package/dist/devices/instruments/Cubed/AblPattern.d.ts +42 -0
  30. package/dist/devices/instruments/Cubed/AblPattern.d.ts.map +1 -0
  31. package/dist/devices/instruments/Cubed/AblPattern.js +66 -0
  32. package/dist/devices/instruments/Cubed/CubedPatternData.d.ts +16 -0
  33. package/dist/devices/instruments/Cubed/CubedPatternData.d.ts.map +1 -0
  34. package/dist/devices/instruments/Cubed/CubedPatternData.js +75 -0
  35. package/dist/devices/instruments/Cubed/CubedRandomize.d.ts +22 -0
  36. package/dist/devices/instruments/Cubed/CubedRandomize.d.ts.map +1 -0
  37. package/dist/devices/instruments/Cubed/CubedRandomize.js +51 -0
  38. package/dist/devices/instruments/Cubed/CubedStep.d.ts +13 -0
  39. package/dist/devices/instruments/Cubed/CubedStep.d.ts.map +1 -0
  40. package/dist/devices/instruments/Cubed/CubedStep.js +15 -0
  41. package/dist/devices/instruments/CubedDeviceBoxAdapter.d.ts +48 -0
  42. package/dist/devices/instruments/CubedDeviceBoxAdapter.d.ts.map +1 -0
  43. package/dist/devices/instruments/CubedDeviceBoxAdapter.js +100 -0
  44. package/dist/devices/instruments/MIDIOutputDeviceBoxAdapter.d.ts +1 -1
  45. package/dist/devices/instruments/MIDIOutputDeviceBoxAdapter.d.ts.map +1 -1
  46. package/dist/devices/instruments/MIDIOutputDeviceBoxAdapter.js +19 -3
  47. package/dist/devices/instruments/NanoDeviceBoxAdapter.js +2 -2
  48. package/dist/devices/instruments/Playfield/ChopModel.d.ts +21 -0
  49. package/dist/devices/instruments/Playfield/ChopModel.d.ts.map +1 -0
  50. package/dist/devices/instruments/Playfield/ChopModel.js +109 -0
  51. package/dist/devices/instruments/PlayfieldDeviceBoxAdapter.d.ts +12 -2
  52. package/dist/devices/instruments/PlayfieldDeviceBoxAdapter.d.ts.map +1 -1
  53. package/dist/devices/instruments/PlayfieldDeviceBoxAdapter.js +21 -1
  54. package/dist/devices/instruments/TapeDeviceBoxAdapter.js +4 -4
  55. package/dist/devices/midi-effects/ArpeggioDeviceBoxAdapter.js +1 -1
  56. package/dist/devices/midi-effects/PitchDeviceBoxAdapter.js +3 -3
  57. package/dist/factories/InstrumentBox.d.ts +2 -2
  58. package/dist/factories/InstrumentBox.d.ts.map +1 -1
  59. package/dist/factories/InstrumentFactories.d.ts +5 -9
  60. package/dist/factories/InstrumentFactories.d.ts.map +1 -1
  61. package/dist/factories/InstrumentFactories.js +20 -4
  62. package/dist/grooves/GrooveShuffleBoxAdapter.js +2 -2
  63. package/dist/index.d.ts +6 -0
  64. package/dist/index.d.ts.map +1 -1
  65. package/dist/index.js +6 -0
  66. package/dist/modulation/LfoModulatorBoxAdapter.d.ts +31 -0
  67. package/dist/modulation/LfoModulatorBoxAdapter.d.ts.map +1 -0
  68. package/dist/modulation/LfoModulatorBoxAdapter.js +48 -0
  69. package/dist/modulation/MacroModulatorBoxAdapter.d.ts +11 -0
  70. package/dist/modulation/MacroModulatorBoxAdapter.d.ts.map +1 -0
  71. package/dist/modulation/MacroModulatorBoxAdapter.js +21 -0
  72. package/dist/modulation/ModulationBoxAdapter.d.ts +27 -0
  73. package/dist/modulation/ModulationBoxAdapter.d.ts.map +1 -0
  74. package/dist/modulation/ModulationBoxAdapter.js +72 -0
  75. package/dist/modulation/ModulatorBoxAdapter.d.ts +35 -0
  76. package/dist/modulation/ModulatorBoxAdapter.d.ts.map +1 -0
  77. package/dist/modulation/ModulatorBoxAdapter.js +69 -0
  78. package/dist/modulation/Modulators.d.ts +25 -0
  79. package/dist/modulation/Modulators.d.ts.map +1 -0
  80. package/dist/modulation/Modulators.js +101 -0
  81. package/dist/modulation/RandomModulatorBoxAdapter.d.ts +24 -0
  82. package/dist/modulation/RandomModulatorBoxAdapter.d.ts.map +1 -0
  83. package/dist/modulation/RandomModulatorBoxAdapter.js +62 -0
  84. package/dist/modulation/StepsModulatorBoxAdapter.d.ts +42 -0
  85. package/dist/modulation/StepsModulatorBoxAdapter.d.ts.map +1 -0
  86. package/dist/modulation/StepsModulatorBoxAdapter.js +100 -0
  87. package/dist/timeline/ParameterTracks.d.ts +30 -0
  88. package/dist/timeline/ParameterTracks.d.ts.map +1 -0
  89. package/dist/timeline/ParameterTracks.js +75 -0
  90. package/dist/timeline/TrackBoxAdapter.d.ts +1 -0
  91. package/dist/timeline/TrackBoxAdapter.d.ts.map +1 -1
  92. package/dist/timeline/TrackBoxAdapter.js +20 -11
  93. package/dist/timeline/event/InterpolationFieldAdapter.d.ts +3 -1
  94. package/dist/timeline/event/InterpolationFieldAdapter.d.ts.map +1 -1
  95. package/dist/timeline/event/InterpolationFieldAdapter.js +2 -0
  96. 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,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAS,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAC7C,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,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,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"}
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(), "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")
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"]), "mode"),
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 }), "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")
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,EAElB,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,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;QAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,kBAAkB,CAehG,CAAA;IAEM,MAAM,OAAO,EAAE,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,CAe7D,CAAA;IAEM,MAAM,KAAK;;;;;;;kBAlCgC,IAAI,CAAC,MAAM;kBAAQ,MAAM;;;;KAkCqB,CAAA;IAChG,KAAY,IAAI,GAAG,MAAM,OAAO,KAAK,CAAA;CAYxC"}
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.Piano,
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), "duration"),
47
- amount: __classPrivateFieldGet(this, _GrooveShuffleBoxAdapter_parametric, "f").createParameter(box.amount, ValueMapping.unipolar(), StringMapping.percent({ fractionDigits: 0 }), "amount")
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";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -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"}