@opendaw/studio-adapters 0.0.37 → 0.0.39

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.
@@ -1 +1 @@
1
- {"version":3,"file":"BoxAdapters.d.ts","sourceRoot":"","sources":["../src/BoxAdapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,UAAU,EACV,KAAK,EAKL,UAAU,EAEb,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,GAAG,EAAS,MAAM,kBAAkB,CAAA;AAwF5C,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AAUvC,qBAAa,WAAY,YAAW,UAAU;;gBAO9B,OAAO,EAAE,kBAAkB;IAkBvC,SAAS,IAAI,IAAI;IAMjB,UAAU,CAAC,GAAG,SAAS,GAAG,EAAE,CAAC,SAAS,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;CAoEtG"}
1
+ {"version":3,"file":"BoxAdapters.d.ts","sourceRoot":"","sources":["../src/BoxAdapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,UAAU,EACV,KAAK,EAKL,UAAU,EAEb,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,GAAG,EAAS,MAAM,kBAAkB,CAAA;AA0F5C,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AAYvC,qBAAa,WAAY,YAAW,UAAU;;gBAO9B,OAAO,EAAE,kBAAkB;IAkBvC,SAAS,IAAI,IAAI;IAMjB,UAAU,CAAC,GAAG,SAAS,GAAG,EAAE,CAAC,SAAS,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;CAsEtG"}
@@ -45,6 +45,8 @@ import { SoundfontDeviceBoxAdapter } from "./devices/instruments/SoundfontDevice
45
45
  import { SoundfontFileBoxAdapter } from "./soundfont/SoundfontFileBoxAdapter";
46
46
  import { CompressorDeviceBoxAdapter } from "./devices/audio-effects/CompressorDeviceBoxAdapter";
47
47
  import { CrusherDeviceBoxAdapter } from "./devices/audio-effects/CrusherDeviceBoxAdapter";
48
+ import { FoldDeviceBoxAdapter } from "./devices/audio-effects/FoldDeviceBoxAdapter";
49
+ import { MIDIOutputDeviceBoxAdapter } from "./devices/instruments/MIDIOutputDeviceBoxAdapter";
48
50
  export class BoxAdapters {
49
51
  #context;
50
52
  #adapters;
@@ -95,6 +97,7 @@ export class BoxAdapters {
95
97
  visitPitchDeviceBox: (box) => new PitchDeviceBoxAdapter(this.#context, box),
96
98
  visitStereoToolDeviceBox: (box) => new StereoToolDeviceBoxAdapter(this.#context, box),
97
99
  visitCrusherDeviceBox: (box) => new CrusherDeviceBoxAdapter(this.#context, box),
100
+ visitFoldDeviceBox: (box) => new FoldDeviceBoxAdapter(this.#context, box),
98
101
  visitDelayDeviceBox: (box) => new DelayDeviceBoxAdapter(this.#context, box),
99
102
  visitCompressorDeviceBox: (box) => new CompressorDeviceBoxAdapter(this.#context, box),
100
103
  visitReverbDeviceBox: (box) => new ReverbDeviceBoxAdapter(this.#context, box),
@@ -106,6 +109,7 @@ export class BoxAdapters {
106
109
  visitTapeDeviceBox: (box) => new TapeDeviceBoxAdapter(this.#context, box),
107
110
  visitNanoDeviceBox: (box) => new NanoDeviceBoxAdapter(this.#context, box),
108
111
  visitVaporisateurDeviceBox: (box) => new VaporisateurDeviceBoxAdapter(this.#context, box),
112
+ visitMIDIOutputDeviceBox: (box) => new MIDIOutputDeviceBoxAdapter(this.#context, box),
109
113
  visitSoundfontDeviceBox: (box) => new SoundfontDeviceBoxAdapter(this.#context, box),
110
114
  visitModularBox: (box) => new ModularAdapter(this.#context, box),
111
115
  visitModuleConnectionBox: (box) => new ModuleConnectionAdapter(this.#context, box),
@@ -8,6 +8,7 @@ import { ParameterFieldAdapters } from "./ParameterFieldAdapters";
8
8
  import { BoxAdapters } from "./BoxAdapters";
9
9
  import { SampleLoaderManager } from "./sample/SampleLoaderManager";
10
10
  import { SoundfontLoaderManager } from "./soundfont/SoundfontLoaderManager";
11
+ import { ppqn } from "@opendaw/lib-dsp";
11
12
  export interface BoxAdaptersContext extends Terminable {
12
13
  get boxGraph(): BoxGraph;
13
14
  get boxAdapters(): BoxAdapters;
@@ -19,6 +20,7 @@ export interface BoxAdaptersContext extends Terminable {
19
20
  get liveStreamBroadcaster(): LiveStreamBroadcaster;
20
21
  get clipSequencing(): ClipSequencing;
21
22
  get parameterFieldAdapters(): ParameterFieldAdapters;
23
+ get signatureDuration(): ppqn;
22
24
  get bpm(): number;
23
25
  get isMainThread(): boolean;
24
26
  get isAudioContext(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"BoxAdaptersContext.d.ts","sourceRoot":"","sources":["../src/BoxAdaptersContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAC,qBAAqB,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAA;AAC7E,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,kBAAkB,EAAC,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAA;AACzC,OAAO,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAC,sBAAsB,EAAC,MAAM,oCAAoC,CAAA;AAEzE,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IAClD,IAAI,QAAQ,IAAI,QAAQ,CAAA;IACxB,IAAI,WAAW,IAAI,WAAW,CAAA;IAC9B,IAAI,aAAa,IAAI,mBAAmB,CAAA;IACxC,IAAI,gBAAgB,IAAI,sBAAsB,CAAA;IAC9C,IAAI,cAAc,IAAI,cAAc,CAAA;IACpC,IAAI,kBAAkB,IAAI,kBAAkB,CAAA;IAC5C,IAAI,kBAAkB,IAAI,kBAAkB,CAAA;IAC5C,IAAI,qBAAqB,IAAI,qBAAqB,CAAA;IAClD,IAAI,cAAc,IAAI,cAAc,CAAA;IACpC,IAAI,sBAAsB,IAAI,sBAAsB,CAAA;IACpD,IAAI,GAAG,IAAI,MAAM,CAAA;IACjB,IAAI,YAAY,IAAI,OAAO,CAAA;IAC3B,IAAI,cAAc,IAAI,OAAO,CAAA;CAChC"}
1
+ {"version":3,"file":"BoxAdaptersContext.d.ts","sourceRoot":"","sources":["../src/BoxAdaptersContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAC,qBAAqB,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAA;AAC7E,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,kBAAkB,EAAC,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAA;AACzC,OAAO,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAC,sBAAsB,EAAC,MAAM,oCAAoC,CAAA;AACzE,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAErC,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IAClD,IAAI,QAAQ,IAAI,QAAQ,CAAA;IACxB,IAAI,WAAW,IAAI,WAAW,CAAA;IAC9B,IAAI,aAAa,IAAI,mBAAmB,CAAA;IACxC,IAAI,gBAAgB,IAAI,sBAAsB,CAAA;IAC9C,IAAI,cAAc,IAAI,cAAc,CAAA;IACpC,IAAI,kBAAkB,IAAI,kBAAkB,CAAA;IAC5C,IAAI,kBAAkB,IAAI,kBAAkB,CAAA;IAC5C,IAAI,qBAAqB,IAAI,qBAAqB,CAAA;IAClD,IAAI,cAAc,IAAI,cAAc,CAAA;IACpC,IAAI,sBAAsB,IAAI,sBAAsB,CAAA;IACpD,IAAI,iBAAiB,IAAI,IAAI,CAAA;IAC7B,IAAI,GAAG,IAAI,MAAM,CAAA;IACjB,IAAI,YAAY,IAAI,OAAO,CAAA;IAC3B,IAAI,cAAc,IAAI,OAAO,CAAA;CAChC"}
@@ -11,111 +11,112 @@ export declare enum IconSymbol {
11
11
  Book = 9,
12
12
  Box = 10,
13
13
  Bug = 11,
14
- Checkbox = 12,
15
- Clips = 13,
16
- Close = 14,
17
- CloudFolder = 15,
18
- CollapseDown = 16,
19
- Compressor = 17,
20
- Connected = 18,
21
- Cube = 19,
22
- Cursor = 20,
23
- Curve = 21,
24
- Delete = 22,
25
- Dial = 23,
26
- DinSlot = 24,
27
- Disconnected = 25,
28
- Divide = 26,
29
- DragConnections = 27,
30
- Dropdown = 28,
31
- Dropbox = 29,
32
- DrumSet = 30,
33
- Duration = 31,
34
- EditBox = 32,
35
- Effects = 33,
36
- Embed = 34,
37
- EQ = 35,
38
- Eraser = 36,
39
- Exclude = 37,
40
- Exit = 38,
41
- ExpandWidth = 39,
42
- FileList = 40,
43
- Flask = 41,
44
- Focus = 42,
45
- Generator = 43,
46
- GoogleDrive = 44,
47
- Groove = 45,
48
- Guitar = 46,
49
- GuitarTab = 47,
50
- Headphone = 48,
51
- Heart = 49,
52
- Help = 50,
53
- HighPass = 51,
54
- HighShelf = 52,
55
- Insert = 53,
56
- Invert = 54,
57
- Loop = 55,
58
- LowPass = 56,
59
- LowShelf = 57,
60
- MainMenu = 58,
61
- Maximized = 59,
62
- Menu = 60,
63
- Merge = 61,
64
- Metronome = 62,
65
- Microphone = 63,
66
- Midi = 64,
67
- Minimized = 65,
68
- Mix = 66,
69
- Mixing = 67,
70
- Mute = 68,
71
- NanoWave = 69,
72
- New = 70,
73
- NoAudio = 71,
74
- Note = 72,
75
- NotePad = 73,
76
- OpenDAW = 74,
77
- Panel = 75,
78
- Peak = 76,
79
- Pencil = 77,
80
- Piano = 78,
81
- Playfield = 79,
82
- Play = 80,
83
- Pointer = 81,
84
- Popout = 82,
85
- Primary = 83,
86
- Random = 84,
87
- Record = 85,
88
- Rectangle = 86,
89
- Region = 87,
90
- Robot = 88,
91
- RoundDown = 89,
92
- RoundUp = 90,
93
- Run = 91,
94
- Saxophone = 92,
95
- Scissors = 93,
96
- Search = 94,
97
- Solo = 95,
98
- SpeakerHeadphone = 96,
99
- Stack = 97,
100
- Start = 98,
101
- Stereo = 99,
102
- Stop = 100,
103
- Subtract = 101,
104
- Sun = 102,
105
- Swap = 103,
106
- System = 104,
107
- Table = 105,
108
- Tape = 106,
109
- Time = 107,
110
- Timeline = 108,
111
- Tool = 109,
112
- Unknown = 110,
113
- UserFolder = 111,
114
- Velocity = 112,
115
- Vinyl = 113,
116
- VUMeter = 114,
117
- Waveform = 115,
118
- Zeitgeist = 116
14
+ Fold = 12,
15
+ Checkbox = 13,
16
+ Clips = 14,
17
+ Close = 15,
18
+ CloudFolder = 16,
19
+ CollapseDown = 17,
20
+ Compressor = 18,
21
+ Connected = 19,
22
+ Cube = 20,
23
+ Cursor = 21,
24
+ Curve = 22,
25
+ Delete = 23,
26
+ Dial = 24,
27
+ DinSlot = 25,
28
+ Disconnected = 26,
29
+ Divide = 27,
30
+ DragConnections = 28,
31
+ Dropdown = 29,
32
+ Dropbox = 30,
33
+ DrumSet = 31,
34
+ Duration = 32,
35
+ EditBox = 33,
36
+ Effects = 34,
37
+ Embed = 35,
38
+ EQ = 36,
39
+ Eraser = 37,
40
+ Exclude = 38,
41
+ Exit = 39,
42
+ ExpandWidth = 40,
43
+ FileList = 41,
44
+ Flask = 42,
45
+ Focus = 43,
46
+ Generator = 44,
47
+ GoogleDrive = 45,
48
+ Groove = 46,
49
+ Guitar = 47,
50
+ GuitarTab = 48,
51
+ Headphone = 49,
52
+ Heart = 50,
53
+ Help = 51,
54
+ HighPass = 52,
55
+ HighShelf = 53,
56
+ Insert = 54,
57
+ Invert = 55,
58
+ Loop = 56,
59
+ LowPass = 57,
60
+ LowShelf = 58,
61
+ MainMenu = 59,
62
+ Maximized = 60,
63
+ Menu = 61,
64
+ Merge = 62,
65
+ Metronome = 63,
66
+ Microphone = 64,
67
+ Midi = 65,
68
+ Minimized = 66,
69
+ Mix = 67,
70
+ Mixing = 68,
71
+ Mute = 69,
72
+ NanoWave = 70,
73
+ New = 71,
74
+ NoAudio = 72,
75
+ Note = 73,
76
+ NotePad = 74,
77
+ OpenDAW = 75,
78
+ Panel = 76,
79
+ Peak = 77,
80
+ Pencil = 78,
81
+ Piano = 79,
82
+ Playfield = 80,
83
+ Play = 81,
84
+ Pointer = 82,
85
+ Popout = 83,
86
+ Primary = 84,
87
+ Random = 85,
88
+ Record = 86,
89
+ Rectangle = 87,
90
+ Region = 88,
91
+ Robot = 89,
92
+ RoundDown = 90,
93
+ RoundUp = 91,
94
+ Run = 92,
95
+ Saxophone = 93,
96
+ Scissors = 94,
97
+ Search = 95,
98
+ Solo = 96,
99
+ SpeakerHeadphone = 97,
100
+ Stack = 98,
101
+ Start = 99,
102
+ Stereo = 100,
103
+ Stop = 101,
104
+ Subtract = 102,
105
+ Sun = 103,
106
+ Swap = 104,
107
+ System = 105,
108
+ Table = 106,
109
+ Tape = 107,
110
+ Time = 108,
111
+ Timeline = 109,
112
+ Tool = 110,
113
+ Unknown = 111,
114
+ UserFolder = 112,
115
+ Velocity = 113,
116
+ Vinyl = 114,
117
+ VUMeter = 115,
118
+ Waveform = 116,
119
+ Zeitgeist = 117
119
120
  }
120
121
  export declare namespace IconSymbol {
121
122
  const toName: (symbol: IconSymbol) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"IconSymbol.d.ts","sourceRoot":"","sources":["../src/IconSymbol.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IAClB,GAAG,IAAA;IACH,IAAI,IAAA;IACJ,SAAS,IAAA;IACT,QAAQ,IAAA;IACR,WAAW,IAAA;IACX,SAAS,IAAA;IACT,QAAQ,IAAA;IACR,UAAU,IAAA;IACV,UAAU,IAAA;IACV,IAAI,IAAA;IACJ,GAAG,KAAA;IACH,GAAG,KAAA;IACH,QAAQ,KAAA;IACR,KAAK,KAAA;IACL,KAAK,KAAA;IACL,WAAW,KAAA;IACX,YAAY,KAAA;IACZ,UAAU,KAAA;IACV,SAAS,KAAA;IACT,IAAI,KAAA;IACJ,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,IAAI,KAAA;IACJ,OAAO,KAAA;IACP,YAAY,KAAA;IACZ,MAAM,KAAA;IACN,eAAe,KAAA;IACf,QAAQ,KAAA;IACR,OAAO,KAAA;IACP,OAAO,KAAA;IACP,QAAQ,KAAA;IACR,OAAO,KAAA;IACP,OAAO,KAAA;IACP,KAAK,KAAA;IACL,EAAE,KAAA;IACF,MAAM,KAAA;IACN,OAAO,KAAA;IACP,IAAI,KAAA;IACJ,WAAW,KAAA;IACX,QAAQ,KAAA;IACR,KAAK,KAAA;IACL,KAAK,KAAA;IACL,SAAS,KAAA;IACT,WAAW,KAAA;IACX,MAAM,KAAA;IACN,MAAM,KAAA;IACN,SAAS,KAAA;IACT,SAAS,KAAA;IACT,KAAK,KAAA;IACL,IAAI,KAAA;IACJ,QAAQ,KAAA;IACR,SAAS,KAAA;IACT,MAAM,KAAA;IACN,MAAM,KAAA;IACN,IAAI,KAAA;IACJ,OAAO,KAAA;IACP,QAAQ,KAAA;IACR,QAAQ,KAAA;IACR,SAAS,KAAA;IACT,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,SAAS,KAAA;IACT,UAAU,KAAA;IACV,IAAI,KAAA;IACJ,SAAS,KAAA;IACT,GAAG,KAAA;IACH,MAAM,KAAA;IACN,IAAI,KAAA;IACJ,QAAQ,KAAA;IACR,GAAG,KAAA;IACH,OAAO,KAAA;IACP,IAAI,KAAA;IACJ,OAAO,KAAA;IACP,OAAO,KAAA;IACP,KAAK,KAAA;IACL,IAAI,KAAA;IACJ,MAAM,KAAA;IACN,KAAK,KAAA;IACL,SAAS,KAAA;IACT,IAAI,KAAA;IACJ,OAAO,KAAA;IACP,MAAM,KAAA;IACN,OAAO,KAAA;IACP,MAAM,KAAA;IACN,MAAM,KAAA;IACN,SAAS,KAAA;IACT,MAAM,KAAA;IACN,KAAK,KAAA;IACL,SAAS,KAAA;IACT,OAAO,KAAA;IACP,GAAG,KAAA;IACH,SAAS,KAAA;IACT,QAAQ,KAAA;IACR,MAAM,KAAA;IACN,IAAI,KAAA;IACJ,gBAAgB,KAAA;IAChB,KAAK,KAAA;IACL,KAAK,KAAA;IACL,MAAM,KAAA;IACN,IAAI,MAAA;IACJ,QAAQ,MAAA;IACR,GAAG,MAAA;IACH,IAAI,MAAA;IACJ,MAAM,MAAA;IACN,KAAK,MAAA;IACL,IAAI,MAAA;IACJ,IAAI,MAAA;IACJ,QAAQ,MAAA;IACR,IAAI,MAAA;IACJ,OAAO,MAAA;IACP,UAAU,MAAA;IACV,QAAQ,MAAA;IACR,KAAK,MAAA;IACL,OAAO,MAAA;IACP,QAAQ,MAAA;IACR,SAAS,MAAA;CACZ;AAED,yBAAiB,UAAU,CAAC;IACjB,MAAM,MAAM,GAAI,QAAQ,UAAU,KAAG,MAA4B,CAAA;IACjE,MAAM,QAAQ,GAAI,MAAM,MAAM,OAAO,UAAU,GAAG,MAAM,KAAG,UACiB,CAAA;CACtF"}
1
+ {"version":3,"file":"IconSymbol.d.ts","sourceRoot":"","sources":["../src/IconSymbol.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IAClB,GAAG,IAAA;IACH,IAAI,IAAA;IACJ,SAAS,IAAA;IACT,QAAQ,IAAA;IACR,WAAW,IAAA;IACX,SAAS,IAAA;IACT,QAAQ,IAAA;IACR,UAAU,IAAA;IACV,UAAU,IAAA;IACV,IAAI,IAAA;IACJ,GAAG,KAAA;IACH,GAAG,KAAA;IACH,IAAI,KAAA;IACJ,QAAQ,KAAA;IACR,KAAK,KAAA;IACL,KAAK,KAAA;IACL,WAAW,KAAA;IACX,YAAY,KAAA;IACZ,UAAU,KAAA;IACV,SAAS,KAAA;IACT,IAAI,KAAA;IACJ,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,IAAI,KAAA;IACJ,OAAO,KAAA;IACP,YAAY,KAAA;IACZ,MAAM,KAAA;IACN,eAAe,KAAA;IACf,QAAQ,KAAA;IACR,OAAO,KAAA;IACP,OAAO,KAAA;IACP,QAAQ,KAAA;IACR,OAAO,KAAA;IACP,OAAO,KAAA;IACP,KAAK,KAAA;IACL,EAAE,KAAA;IACF,MAAM,KAAA;IACN,OAAO,KAAA;IACP,IAAI,KAAA;IACJ,WAAW,KAAA;IACX,QAAQ,KAAA;IACR,KAAK,KAAA;IACL,KAAK,KAAA;IACL,SAAS,KAAA;IACT,WAAW,KAAA;IACX,MAAM,KAAA;IACN,MAAM,KAAA;IACN,SAAS,KAAA;IACT,SAAS,KAAA;IACT,KAAK,KAAA;IACL,IAAI,KAAA;IACJ,QAAQ,KAAA;IACR,SAAS,KAAA;IACT,MAAM,KAAA;IACN,MAAM,KAAA;IACN,IAAI,KAAA;IACJ,OAAO,KAAA;IACP,QAAQ,KAAA;IACR,QAAQ,KAAA;IACR,SAAS,KAAA;IACT,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,SAAS,KAAA;IACT,UAAU,KAAA;IACV,IAAI,KAAA;IACJ,SAAS,KAAA;IACT,GAAG,KAAA;IACH,MAAM,KAAA;IACN,IAAI,KAAA;IACJ,QAAQ,KAAA;IACR,GAAG,KAAA;IACH,OAAO,KAAA;IACP,IAAI,KAAA;IACJ,OAAO,KAAA;IACP,OAAO,KAAA;IACP,KAAK,KAAA;IACL,IAAI,KAAA;IACJ,MAAM,KAAA;IACN,KAAK,KAAA;IACL,SAAS,KAAA;IACT,IAAI,KAAA;IACJ,OAAO,KAAA;IACP,MAAM,KAAA;IACN,OAAO,KAAA;IACP,MAAM,KAAA;IACN,MAAM,KAAA;IACN,SAAS,KAAA;IACT,MAAM,KAAA;IACN,KAAK,KAAA;IACL,SAAS,KAAA;IACT,OAAO,KAAA;IACP,GAAG,KAAA;IACH,SAAS,KAAA;IACT,QAAQ,KAAA;IACR,MAAM,KAAA;IACN,IAAI,KAAA;IACJ,gBAAgB,KAAA;IAChB,KAAK,KAAA;IACL,KAAK,KAAA;IACL,MAAM,MAAA;IACN,IAAI,MAAA;IACJ,QAAQ,MAAA;IACR,GAAG,MAAA;IACH,IAAI,MAAA;IACJ,MAAM,MAAA;IACN,KAAK,MAAA;IACL,IAAI,MAAA;IACJ,IAAI,MAAA;IACJ,QAAQ,MAAA;IACR,IAAI,MAAA;IACJ,OAAO,MAAA;IACP,UAAU,MAAA;IACV,QAAQ,MAAA;IACR,KAAK,MAAA;IACL,OAAO,MAAA;IACP,QAAQ,MAAA;IACR,SAAS,MAAA;CACZ;AAED,yBAAiB,UAAU,CAAC;IACjB,MAAM,MAAM,GAAI,QAAQ,UAAU,KAAG,MAA4B,CAAA;IACjE,MAAM,QAAQ,GAAI,MAAM,MAAM,OAAO,UAAU,GAAG,MAAM,KAAG,UACiB,CAAA;CACtF"}
@@ -12,111 +12,112 @@ export var IconSymbol;
12
12
  IconSymbol[IconSymbol["Book"] = 9] = "Book";
13
13
  IconSymbol[IconSymbol["Box"] = 10] = "Box";
14
14
  IconSymbol[IconSymbol["Bug"] = 11] = "Bug";
15
- IconSymbol[IconSymbol["Checkbox"] = 12] = "Checkbox";
16
- IconSymbol[IconSymbol["Clips"] = 13] = "Clips";
17
- IconSymbol[IconSymbol["Close"] = 14] = "Close";
18
- IconSymbol[IconSymbol["CloudFolder"] = 15] = "CloudFolder";
19
- IconSymbol[IconSymbol["CollapseDown"] = 16] = "CollapseDown";
20
- IconSymbol[IconSymbol["Compressor"] = 17] = "Compressor";
21
- IconSymbol[IconSymbol["Connected"] = 18] = "Connected";
22
- IconSymbol[IconSymbol["Cube"] = 19] = "Cube";
23
- IconSymbol[IconSymbol["Cursor"] = 20] = "Cursor";
24
- IconSymbol[IconSymbol["Curve"] = 21] = "Curve";
25
- IconSymbol[IconSymbol["Delete"] = 22] = "Delete";
26
- IconSymbol[IconSymbol["Dial"] = 23] = "Dial";
27
- IconSymbol[IconSymbol["DinSlot"] = 24] = "DinSlot";
28
- IconSymbol[IconSymbol["Disconnected"] = 25] = "Disconnected";
29
- IconSymbol[IconSymbol["Divide"] = 26] = "Divide";
30
- IconSymbol[IconSymbol["DragConnections"] = 27] = "DragConnections";
31
- IconSymbol[IconSymbol["Dropdown"] = 28] = "Dropdown";
32
- IconSymbol[IconSymbol["Dropbox"] = 29] = "Dropbox";
33
- IconSymbol[IconSymbol["DrumSet"] = 30] = "DrumSet";
34
- IconSymbol[IconSymbol["Duration"] = 31] = "Duration";
35
- IconSymbol[IconSymbol["EditBox"] = 32] = "EditBox";
36
- IconSymbol[IconSymbol["Effects"] = 33] = "Effects";
37
- IconSymbol[IconSymbol["Embed"] = 34] = "Embed";
38
- IconSymbol[IconSymbol["EQ"] = 35] = "EQ";
39
- IconSymbol[IconSymbol["Eraser"] = 36] = "Eraser";
40
- IconSymbol[IconSymbol["Exclude"] = 37] = "Exclude";
41
- IconSymbol[IconSymbol["Exit"] = 38] = "Exit";
42
- IconSymbol[IconSymbol["ExpandWidth"] = 39] = "ExpandWidth";
43
- IconSymbol[IconSymbol["FileList"] = 40] = "FileList";
44
- IconSymbol[IconSymbol["Flask"] = 41] = "Flask";
45
- IconSymbol[IconSymbol["Focus"] = 42] = "Focus";
46
- IconSymbol[IconSymbol["Generator"] = 43] = "Generator";
47
- IconSymbol[IconSymbol["GoogleDrive"] = 44] = "GoogleDrive";
48
- IconSymbol[IconSymbol["Groove"] = 45] = "Groove";
49
- IconSymbol[IconSymbol["Guitar"] = 46] = "Guitar";
50
- IconSymbol[IconSymbol["GuitarTab"] = 47] = "GuitarTab";
51
- IconSymbol[IconSymbol["Headphone"] = 48] = "Headphone";
52
- IconSymbol[IconSymbol["Heart"] = 49] = "Heart";
53
- IconSymbol[IconSymbol["Help"] = 50] = "Help";
54
- IconSymbol[IconSymbol["HighPass"] = 51] = "HighPass";
55
- IconSymbol[IconSymbol["HighShelf"] = 52] = "HighShelf";
56
- IconSymbol[IconSymbol["Insert"] = 53] = "Insert";
57
- IconSymbol[IconSymbol["Invert"] = 54] = "Invert";
58
- IconSymbol[IconSymbol["Loop"] = 55] = "Loop";
59
- IconSymbol[IconSymbol["LowPass"] = 56] = "LowPass";
60
- IconSymbol[IconSymbol["LowShelf"] = 57] = "LowShelf";
61
- IconSymbol[IconSymbol["MainMenu"] = 58] = "MainMenu";
62
- IconSymbol[IconSymbol["Maximized"] = 59] = "Maximized";
63
- IconSymbol[IconSymbol["Menu"] = 60] = "Menu";
64
- IconSymbol[IconSymbol["Merge"] = 61] = "Merge";
65
- IconSymbol[IconSymbol["Metronome"] = 62] = "Metronome";
66
- IconSymbol[IconSymbol["Microphone"] = 63] = "Microphone";
67
- IconSymbol[IconSymbol["Midi"] = 64] = "Midi";
68
- IconSymbol[IconSymbol["Minimized"] = 65] = "Minimized";
69
- IconSymbol[IconSymbol["Mix"] = 66] = "Mix";
70
- IconSymbol[IconSymbol["Mixing"] = 67] = "Mixing";
71
- IconSymbol[IconSymbol["Mute"] = 68] = "Mute";
72
- IconSymbol[IconSymbol["NanoWave"] = 69] = "NanoWave";
73
- IconSymbol[IconSymbol["New"] = 70] = "New";
74
- IconSymbol[IconSymbol["NoAudio"] = 71] = "NoAudio";
75
- IconSymbol[IconSymbol["Note"] = 72] = "Note";
76
- IconSymbol[IconSymbol["NotePad"] = 73] = "NotePad";
77
- IconSymbol[IconSymbol["OpenDAW"] = 74] = "OpenDAW";
78
- IconSymbol[IconSymbol["Panel"] = 75] = "Panel";
79
- IconSymbol[IconSymbol["Peak"] = 76] = "Peak";
80
- IconSymbol[IconSymbol["Pencil"] = 77] = "Pencil";
81
- IconSymbol[IconSymbol["Piano"] = 78] = "Piano";
82
- IconSymbol[IconSymbol["Playfield"] = 79] = "Playfield";
83
- IconSymbol[IconSymbol["Play"] = 80] = "Play";
84
- IconSymbol[IconSymbol["Pointer"] = 81] = "Pointer";
85
- IconSymbol[IconSymbol["Popout"] = 82] = "Popout";
86
- IconSymbol[IconSymbol["Primary"] = 83] = "Primary";
87
- IconSymbol[IconSymbol["Random"] = 84] = "Random";
88
- IconSymbol[IconSymbol["Record"] = 85] = "Record";
89
- IconSymbol[IconSymbol["Rectangle"] = 86] = "Rectangle";
90
- IconSymbol[IconSymbol["Region"] = 87] = "Region";
91
- IconSymbol[IconSymbol["Robot"] = 88] = "Robot";
92
- IconSymbol[IconSymbol["RoundDown"] = 89] = "RoundDown";
93
- IconSymbol[IconSymbol["RoundUp"] = 90] = "RoundUp";
94
- IconSymbol[IconSymbol["Run"] = 91] = "Run";
95
- IconSymbol[IconSymbol["Saxophone"] = 92] = "Saxophone";
96
- IconSymbol[IconSymbol["Scissors"] = 93] = "Scissors";
97
- IconSymbol[IconSymbol["Search"] = 94] = "Search";
98
- IconSymbol[IconSymbol["Solo"] = 95] = "Solo";
99
- IconSymbol[IconSymbol["SpeakerHeadphone"] = 96] = "SpeakerHeadphone";
100
- IconSymbol[IconSymbol["Stack"] = 97] = "Stack";
101
- IconSymbol[IconSymbol["Start"] = 98] = "Start";
102
- IconSymbol[IconSymbol["Stereo"] = 99] = "Stereo";
103
- IconSymbol[IconSymbol["Stop"] = 100] = "Stop";
104
- IconSymbol[IconSymbol["Subtract"] = 101] = "Subtract";
105
- IconSymbol[IconSymbol["Sun"] = 102] = "Sun";
106
- IconSymbol[IconSymbol["Swap"] = 103] = "Swap";
107
- IconSymbol[IconSymbol["System"] = 104] = "System";
108
- IconSymbol[IconSymbol["Table"] = 105] = "Table";
109
- IconSymbol[IconSymbol["Tape"] = 106] = "Tape";
110
- IconSymbol[IconSymbol["Time"] = 107] = "Time";
111
- IconSymbol[IconSymbol["Timeline"] = 108] = "Timeline";
112
- IconSymbol[IconSymbol["Tool"] = 109] = "Tool";
113
- IconSymbol[IconSymbol["Unknown"] = 110] = "Unknown";
114
- IconSymbol[IconSymbol["UserFolder"] = 111] = "UserFolder";
115
- IconSymbol[IconSymbol["Velocity"] = 112] = "Velocity";
116
- IconSymbol[IconSymbol["Vinyl"] = 113] = "Vinyl";
117
- IconSymbol[IconSymbol["VUMeter"] = 114] = "VUMeter";
118
- IconSymbol[IconSymbol["Waveform"] = 115] = "Waveform";
119
- IconSymbol[IconSymbol["Zeitgeist"] = 116] = "Zeitgeist";
15
+ IconSymbol[IconSymbol["Fold"] = 12] = "Fold";
16
+ IconSymbol[IconSymbol["Checkbox"] = 13] = "Checkbox";
17
+ IconSymbol[IconSymbol["Clips"] = 14] = "Clips";
18
+ IconSymbol[IconSymbol["Close"] = 15] = "Close";
19
+ IconSymbol[IconSymbol["CloudFolder"] = 16] = "CloudFolder";
20
+ IconSymbol[IconSymbol["CollapseDown"] = 17] = "CollapseDown";
21
+ IconSymbol[IconSymbol["Compressor"] = 18] = "Compressor";
22
+ IconSymbol[IconSymbol["Connected"] = 19] = "Connected";
23
+ IconSymbol[IconSymbol["Cube"] = 20] = "Cube";
24
+ IconSymbol[IconSymbol["Cursor"] = 21] = "Cursor";
25
+ IconSymbol[IconSymbol["Curve"] = 22] = "Curve";
26
+ IconSymbol[IconSymbol["Delete"] = 23] = "Delete";
27
+ IconSymbol[IconSymbol["Dial"] = 24] = "Dial";
28
+ IconSymbol[IconSymbol["DinSlot"] = 25] = "DinSlot";
29
+ IconSymbol[IconSymbol["Disconnected"] = 26] = "Disconnected";
30
+ IconSymbol[IconSymbol["Divide"] = 27] = "Divide";
31
+ IconSymbol[IconSymbol["DragConnections"] = 28] = "DragConnections";
32
+ IconSymbol[IconSymbol["Dropdown"] = 29] = "Dropdown";
33
+ IconSymbol[IconSymbol["Dropbox"] = 30] = "Dropbox";
34
+ IconSymbol[IconSymbol["DrumSet"] = 31] = "DrumSet";
35
+ IconSymbol[IconSymbol["Duration"] = 32] = "Duration";
36
+ IconSymbol[IconSymbol["EditBox"] = 33] = "EditBox";
37
+ IconSymbol[IconSymbol["Effects"] = 34] = "Effects";
38
+ IconSymbol[IconSymbol["Embed"] = 35] = "Embed";
39
+ IconSymbol[IconSymbol["EQ"] = 36] = "EQ";
40
+ IconSymbol[IconSymbol["Eraser"] = 37] = "Eraser";
41
+ IconSymbol[IconSymbol["Exclude"] = 38] = "Exclude";
42
+ IconSymbol[IconSymbol["Exit"] = 39] = "Exit";
43
+ IconSymbol[IconSymbol["ExpandWidth"] = 40] = "ExpandWidth";
44
+ IconSymbol[IconSymbol["FileList"] = 41] = "FileList";
45
+ IconSymbol[IconSymbol["Flask"] = 42] = "Flask";
46
+ IconSymbol[IconSymbol["Focus"] = 43] = "Focus";
47
+ IconSymbol[IconSymbol["Generator"] = 44] = "Generator";
48
+ IconSymbol[IconSymbol["GoogleDrive"] = 45] = "GoogleDrive";
49
+ IconSymbol[IconSymbol["Groove"] = 46] = "Groove";
50
+ IconSymbol[IconSymbol["Guitar"] = 47] = "Guitar";
51
+ IconSymbol[IconSymbol["GuitarTab"] = 48] = "GuitarTab";
52
+ IconSymbol[IconSymbol["Headphone"] = 49] = "Headphone";
53
+ IconSymbol[IconSymbol["Heart"] = 50] = "Heart";
54
+ IconSymbol[IconSymbol["Help"] = 51] = "Help";
55
+ IconSymbol[IconSymbol["HighPass"] = 52] = "HighPass";
56
+ IconSymbol[IconSymbol["HighShelf"] = 53] = "HighShelf";
57
+ IconSymbol[IconSymbol["Insert"] = 54] = "Insert";
58
+ IconSymbol[IconSymbol["Invert"] = 55] = "Invert";
59
+ IconSymbol[IconSymbol["Loop"] = 56] = "Loop";
60
+ IconSymbol[IconSymbol["LowPass"] = 57] = "LowPass";
61
+ IconSymbol[IconSymbol["LowShelf"] = 58] = "LowShelf";
62
+ IconSymbol[IconSymbol["MainMenu"] = 59] = "MainMenu";
63
+ IconSymbol[IconSymbol["Maximized"] = 60] = "Maximized";
64
+ IconSymbol[IconSymbol["Menu"] = 61] = "Menu";
65
+ IconSymbol[IconSymbol["Merge"] = 62] = "Merge";
66
+ IconSymbol[IconSymbol["Metronome"] = 63] = "Metronome";
67
+ IconSymbol[IconSymbol["Microphone"] = 64] = "Microphone";
68
+ IconSymbol[IconSymbol["Midi"] = 65] = "Midi";
69
+ IconSymbol[IconSymbol["Minimized"] = 66] = "Minimized";
70
+ IconSymbol[IconSymbol["Mix"] = 67] = "Mix";
71
+ IconSymbol[IconSymbol["Mixing"] = 68] = "Mixing";
72
+ IconSymbol[IconSymbol["Mute"] = 69] = "Mute";
73
+ IconSymbol[IconSymbol["NanoWave"] = 70] = "NanoWave";
74
+ IconSymbol[IconSymbol["New"] = 71] = "New";
75
+ IconSymbol[IconSymbol["NoAudio"] = 72] = "NoAudio";
76
+ IconSymbol[IconSymbol["Note"] = 73] = "Note";
77
+ IconSymbol[IconSymbol["NotePad"] = 74] = "NotePad";
78
+ IconSymbol[IconSymbol["OpenDAW"] = 75] = "OpenDAW";
79
+ IconSymbol[IconSymbol["Panel"] = 76] = "Panel";
80
+ IconSymbol[IconSymbol["Peak"] = 77] = "Peak";
81
+ IconSymbol[IconSymbol["Pencil"] = 78] = "Pencil";
82
+ IconSymbol[IconSymbol["Piano"] = 79] = "Piano";
83
+ IconSymbol[IconSymbol["Playfield"] = 80] = "Playfield";
84
+ IconSymbol[IconSymbol["Play"] = 81] = "Play";
85
+ IconSymbol[IconSymbol["Pointer"] = 82] = "Pointer";
86
+ IconSymbol[IconSymbol["Popout"] = 83] = "Popout";
87
+ IconSymbol[IconSymbol["Primary"] = 84] = "Primary";
88
+ IconSymbol[IconSymbol["Random"] = 85] = "Random";
89
+ IconSymbol[IconSymbol["Record"] = 86] = "Record";
90
+ IconSymbol[IconSymbol["Rectangle"] = 87] = "Rectangle";
91
+ IconSymbol[IconSymbol["Region"] = 88] = "Region";
92
+ IconSymbol[IconSymbol["Robot"] = 89] = "Robot";
93
+ IconSymbol[IconSymbol["RoundDown"] = 90] = "RoundDown";
94
+ IconSymbol[IconSymbol["RoundUp"] = 91] = "RoundUp";
95
+ IconSymbol[IconSymbol["Run"] = 92] = "Run";
96
+ IconSymbol[IconSymbol["Saxophone"] = 93] = "Saxophone";
97
+ IconSymbol[IconSymbol["Scissors"] = 94] = "Scissors";
98
+ IconSymbol[IconSymbol["Search"] = 95] = "Search";
99
+ IconSymbol[IconSymbol["Solo"] = 96] = "Solo";
100
+ IconSymbol[IconSymbol["SpeakerHeadphone"] = 97] = "SpeakerHeadphone";
101
+ IconSymbol[IconSymbol["Stack"] = 98] = "Stack";
102
+ IconSymbol[IconSymbol["Start"] = 99] = "Start";
103
+ IconSymbol[IconSymbol["Stereo"] = 100] = "Stereo";
104
+ IconSymbol[IconSymbol["Stop"] = 101] = "Stop";
105
+ IconSymbol[IconSymbol["Subtract"] = 102] = "Subtract";
106
+ IconSymbol[IconSymbol["Sun"] = 103] = "Sun";
107
+ IconSymbol[IconSymbol["Swap"] = 104] = "Swap";
108
+ IconSymbol[IconSymbol["System"] = 105] = "System";
109
+ IconSymbol[IconSymbol["Table"] = 106] = "Table";
110
+ IconSymbol[IconSymbol["Tape"] = 107] = "Tape";
111
+ IconSymbol[IconSymbol["Time"] = 108] = "Time";
112
+ IconSymbol[IconSymbol["Timeline"] = 109] = "Timeline";
113
+ IconSymbol[IconSymbol["Tool"] = 110] = "Tool";
114
+ IconSymbol[IconSymbol["Unknown"] = 111] = "Unknown";
115
+ IconSymbol[IconSymbol["UserFolder"] = 112] = "UserFolder";
116
+ IconSymbol[IconSymbol["Velocity"] = 113] = "Velocity";
117
+ IconSymbol[IconSymbol["Vinyl"] = 114] = "Vinyl";
118
+ IconSymbol[IconSymbol["VUMeter"] = 115] = "VUMeter";
119
+ IconSymbol[IconSymbol["Waveform"] = 116] = "Waveform";
120
+ IconSymbol[IconSymbol["Zeitgeist"] = 117] = "Zeitgeist";
120
121
  })(IconSymbol || (IconSymbol = {}));
121
122
  (function (IconSymbol) {
122
123
  IconSymbol.toName = (symbol) => IconSymbol[symbol];
@@ -0,0 +1,29 @@
1
+ import { UUID } from "@opendaw/lib-std";
2
+ import { Address, BooleanField, Int32Field, PointerField, StringField } from "@opendaw/lib-box";
3
+ import { FoldDeviceBox } from "@opendaw/studio-boxes";
4
+ import { Pointers } from "@opendaw/studio-enums";
5
+ import { AudioEffectDeviceAdapter, DeviceHost } from "../../DeviceAdapter";
6
+ import { BoxAdaptersContext } from "../../BoxAdaptersContext";
7
+ import { AudioUnitBoxAdapter } from "../../audio-unit/AudioUnitBoxAdapter";
8
+ export declare class FoldDeviceBoxAdapter implements AudioEffectDeviceAdapter {
9
+ #private;
10
+ readonly type = "audio-effect";
11
+ readonly accepts = "audio";
12
+ readonly namedParameter: {
13
+ readonly drive: import("../..").AutomatableParameterFieldAdapter<number>;
14
+ readonly volume: import("../..").AutomatableParameterFieldAdapter<number>;
15
+ };
16
+ constructor(context: BoxAdaptersContext, box: FoldDeviceBox);
17
+ get box(): FoldDeviceBox;
18
+ get uuid(): UUID.Bytes;
19
+ get address(): Address;
20
+ get indexField(): Int32Field;
21
+ get labelField(): StringField;
22
+ get enabledField(): BooleanField;
23
+ get minimizedField(): BooleanField;
24
+ get host(): PointerField<Pointers.AudioEffectHost>;
25
+ deviceHost(): DeviceHost;
26
+ audioUnitBoxAdapter(): AudioUnitBoxAdapter;
27
+ terminate(): void;
28
+ }
29
+ //# sourceMappingURL=FoldDeviceBoxAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FoldDeviceBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/audio-effects/FoldDeviceBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,IAAI,EAAe,MAAM,kBAAkB,CAAA;AAClE,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAC7F,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,wBAAwB,EAAE,UAAU,EAAU,MAAM,qBAAqB,CAAA;AACjF,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAE3D,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAA;AAExE,qBAAa,oBAAqB,YAAW,wBAAwB;;IACjE,QAAQ,CAAC,IAAI,kBAAiB;IAC9B,QAAQ,CAAC,OAAO,WAAU;IAM1B,QAAQ,CAAC,cAAc;;;MAAA;gBAEX,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,aAAa;IAO3D,IAAI,GAAG,IAAI,aAAa,CAAmB;IAC3C,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,UAAU,IAAI,UAAU,CAAyB;IACrD,IAAI,UAAU,IAAI,WAAW,CAAyB;IACtD,IAAI,YAAY,IAAI,YAAY,CAA2B;IAC3D,IAAI,cAAc,IAAI,YAAY,CAA6B;IAC/D,IAAI,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAwB;IAE1E,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAE1C,SAAS,IAAI,IAAI;CAcpB"}
@@ -0,0 +1,37 @@
1
+ import { StringMapping, ValueMapping } from "@opendaw/lib-std";
2
+ import { Devices } from "../../DeviceAdapter";
3
+ import { ParameterAdapterSet } from "../../ParameterAdapterSet";
4
+ export class FoldDeviceBoxAdapter {
5
+ type = "audio-effect";
6
+ accepts = "audio";
7
+ #context;
8
+ #box;
9
+ #parametric;
10
+ namedParameter; // let typescript infer the type
11
+ constructor(context, box) {
12
+ this.#context = context;
13
+ this.#box = box;
14
+ this.#parametric = new ParameterAdapterSet(this.#context);
15
+ this.namedParameter = this.#wrapParameters(box);
16
+ }
17
+ get box() { return this.#box; }
18
+ get uuid() { return this.#box.address.uuid; }
19
+ get address() { return this.#box.address; }
20
+ get indexField() { return this.#box.index; }
21
+ get labelField() { return this.#box.label; }
22
+ get enabledField() { return this.#box.enabled; }
23
+ get minimizedField() { return this.#box.minimized; }
24
+ get host() { return this.#box.host; }
25
+ deviceHost() {
26
+ return this.#context.boxAdapters
27
+ .adapterFor(this.#box.host.targetVertex.unwrap("no device-host").box, Devices.isHost);
28
+ }
29
+ audioUnitBoxAdapter() { return this.deviceHost().audioUnitBoxAdapter(); }
30
+ terminate() { this.#parametric.terminate(); }
31
+ #wrapParameters(box) {
32
+ return {
33
+ drive: this.#parametric.createParameter(box.drive, ValueMapping.linear(0.0, 30.0), StringMapping.decible, "Drive"),
34
+ volume: this.#parametric.createParameter(box.volume, ValueMapping.linear(-18.0, 0.0), StringMapping.decible, "Volume")
35
+ };
36
+ }
37
+ }
@@ -0,0 +1,28 @@
1
+ import { UUID } from "@opendaw/lib-std";
2
+ import { MIDIOutputDeviceBox } from "@opendaw/studio-boxes";
3
+ import { Address, BooleanField, FieldKeys, StringField } from "@opendaw/lib-box";
4
+ import { DeviceHost, InstrumentDeviceBoxAdapter } from "../../DeviceAdapter";
5
+ import { BoxAdaptersContext } from "../../BoxAdaptersContext";
6
+ import { TrackType } from "../../timeline/TrackType";
7
+ import { AutomatableParameterFieldAdapter } from "../../AutomatableParameterFieldAdapter";
8
+ import { AudioUnitBoxAdapter } from "../../audio-unit/AudioUnitBoxAdapter";
9
+ export declare class MIDIOutputDeviceBoxAdapter implements InstrumentDeviceBoxAdapter {
10
+ #private;
11
+ readonly type = "instrument";
12
+ readonly accepts = "midi";
13
+ constructor(context: BoxAdaptersContext, box: MIDIOutputDeviceBox);
14
+ get box(): MIDIOutputDeviceBox;
15
+ get uuid(): UUID.Bytes;
16
+ get address(): Address;
17
+ get labelField(): StringField;
18
+ get iconField(): StringField;
19
+ get defaultTrackType(): TrackType;
20
+ get enabledField(): BooleanField;
21
+ get minimizedField(): BooleanField;
22
+ get acceptsMidiEvents(): boolean;
23
+ deviceHost(): DeviceHost;
24
+ audioUnitBoxAdapter(): AudioUnitBoxAdapter;
25
+ parameterAt(fieldIndices: FieldKeys): AutomatableParameterFieldAdapter;
26
+ terminate(): void;
27
+ }
28
+ //# sourceMappingURL=MIDIOutputDeviceBoxAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MIDIOutputDeviceBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/instruments/MIDIOutputDeviceBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAC9E,OAAO,EAAC,UAAU,EAAW,0BAA0B,EAAC,MAAM,qBAAqB,CAAA;AACnF,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAE3D,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAC,gCAAgC,EAAC,MAAM,wCAAwC,CAAA;AACvF,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAA;AAExE,qBAAa,0BAA2B,YAAW,0BAA0B;;IACzE,QAAQ,CAAC,IAAI,gBAAe;IAC5B,QAAQ,CAAC,OAAO,UAAS;gBAOb,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,mBAAmB;IAMjE,IAAI,GAAG,IAAI,mBAAmB,CAAmB;IACjD,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;IAE9C,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAE1C,WAAW,CAAC,YAAY,EAAE,SAAS,GAAG,gCAAgC;IAEtE,SAAS,IAAI,IAAI;CACpB"}
@@ -0,0 +1,31 @@
1
+ import { Devices } from "../../DeviceAdapter";
2
+ import { ParameterAdapterSet } from "../../ParameterAdapterSet";
3
+ import { TrackType } from "../../timeline/TrackType";
4
+ export class MIDIOutputDeviceBoxAdapter {
5
+ type = "instrument";
6
+ accepts = "midi";
7
+ #context;
8
+ #box;
9
+ #parametric;
10
+ constructor(context, box) {
11
+ this.#context = context;
12
+ this.#box = box;
13
+ this.#parametric = new ParameterAdapterSet(this.#context);
14
+ }
15
+ get box() { return this.#box; }
16
+ get uuid() { return this.#box.address.uuid; }
17
+ get address() { return this.#box.address; }
18
+ get labelField() { return this.#box.label; }
19
+ get iconField() { return this.#box.icon; }
20
+ get defaultTrackType() { return TrackType.Notes; }
21
+ get enabledField() { return this.#box.enabled; }
22
+ get minimizedField() { return this.#box.minimized; }
23
+ get acceptsMidiEvents() { return true; }
24
+ deviceHost() {
25
+ return this.#context.boxAdapters
26
+ .adapterFor(this.#box.host.targetVertex.unwrap("no device-host").box, Devices.isHost);
27
+ }
28
+ audioUnitBoxAdapter() { return this.deviceHost().audioUnitBoxAdapter(); }
29
+ parameterAt(fieldIndices) { return this.#parametric.parameterAt(fieldIndices); }
30
+ terminate() { this.#parametric.terminate(); }
31
+ }
package/dist/index.d.ts CHANGED
@@ -39,11 +39,13 @@ export * from "./audio/AudioFileBoxAdapter";
39
39
  export * from "./devices/audio-effects/CompressorDeviceBoxAdapter";
40
40
  export * from "./devices/audio-effects/CrusherDeviceBoxAdapter";
41
41
  export * from "./devices/audio-effects/DelayDeviceBoxAdapter";
42
+ export * from "./devices/audio-effects/FoldDeviceBoxAdapter";
42
43
  export * from "./devices/audio-effects/ModularDeviceBoxAdapter";
43
44
  export * from "./devices/audio-effects/RevampDeviceBoxAdapter";
44
45
  export * from "./devices/audio-effects/ReverbDeviceBoxAdapter";
45
46
  export * from "./devices/audio-effects/StereoToolDeviceBoxAdapter";
46
47
  export * from "./devices/audio-effects/UnknownAudioEffectDeviceBoxAdapter";
48
+ export * from "./devices/instruments/MIDIOutputDeviceBoxAdapter";
47
49
  export * from "./devices/instruments/NanoDeviceBoxAdapter";
48
50
  export * from "./devices/instruments/Playfield/Gate";
49
51
  export * from "./devices/instruments/Playfield/PlayfieldSampleBoxAdapter";
@@ -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
@@ -41,11 +41,13 @@ export * from "./audio/AudioFileBoxAdapter";
41
41
  export * from "./devices/audio-effects/CompressorDeviceBoxAdapter";
42
42
  export * from "./devices/audio-effects/CrusherDeviceBoxAdapter";
43
43
  export * from "./devices/audio-effects/DelayDeviceBoxAdapter";
44
+ export * from "./devices/audio-effects/FoldDeviceBoxAdapter";
44
45
  export * from "./devices/audio-effects/ModularDeviceBoxAdapter";
45
46
  export * from "./devices/audio-effects/RevampDeviceBoxAdapter";
46
47
  export * from "./devices/audio-effects/ReverbDeviceBoxAdapter";
47
48
  export * from "./devices/audio-effects/StereoToolDeviceBoxAdapter";
48
49
  export * from "./devices/audio-effects/UnknownAudioEffectDeviceBoxAdapter";
50
+ export * from "./devices/instruments/MIDIOutputDeviceBoxAdapter";
49
51
  export * from "./devices/instruments/NanoDeviceBoxAdapter";
50
52
  export * from "./devices/instruments/Playfield/Gate";
51
53
  export * from "./devices/instruments/Playfield/PlayfieldSampleBoxAdapter";
@@ -26,6 +26,7 @@ export interface EngineToClient {
26
26
  fetchSoundfont(uuid: UUID.Bytes): Promise<SoundFont2>;
27
27
  notifyClipSequenceChanges(changes: ClipSequencingUpdates): void;
28
28
  switchMarkerState(state: Nullable<[UUID.Bytes, int]>): void;
29
+ sendMIDIData(target: UUID.Bytes, data: Uint8Array, relativeTimeInMs: number): void;
29
30
  ready(): void;
30
31
  }
31
32
  //# sourceMappingURL=protocols.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocols.d.ts","sourceRoot":"","sources":["../src/protocols.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAChE,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAC,qBAAqB,EAAC,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,YAAY,CAAA;AAE1C,MAAM,WAAW,cAAe,SAAQ,UAAU;IAC9C,IAAI,IAAI,IAAI,CAAA;IACZ,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAC1B,WAAW,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAA;IACjC,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAC7C,aAAa,IAAI,IAAI,CAAA;IAErB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAC3C,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACnD,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IAExC,KAAK,IAAI,IAAI,CAAA;IAEb,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAA;IACpC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IAExC,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;IAC1D,gBAAgB,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;CAC9D;AAED,MAAM,WAAW,cAAc;IAC3B,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5B,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAChD,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACrD,yBAAyB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAAA;IAC/D,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAA;IAC3D,KAAK,IAAI,IAAI,CAAA;CAChB"}
1
+ {"version":3,"file":"protocols.d.ts","sourceRoot":"","sources":["../src/protocols.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAChE,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAC,qBAAqB,EAAC,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,YAAY,CAAA;AAE1C,MAAM,WAAW,cAAe,SAAQ,UAAU;IAC9C,IAAI,IAAI,IAAI,CAAA;IACZ,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAC1B,WAAW,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAA;IACjC,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAC7C,aAAa,IAAI,IAAI,CAAA;IAErB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAC3C,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACnD,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IAExC,KAAK,IAAI,IAAI,CAAA;IAEb,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAA;IACpC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IAExC,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;IAC1D,gBAAgB,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;CAC9D;AAED,MAAM,WAAW,cAAc;IAC3B,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5B,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAChD,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACrD,yBAAyB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAAA;IAC/D,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAA;IAC3D,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAClF,KAAK,IAAI,IAAI,CAAA;CAChB"}
@@ -1,9 +1,10 @@
1
1
  import { TimelineBox } from "@opendaw/studio-boxes";
2
- import { UUID } from "@opendaw/lib-std";
2
+ import { int, Observer, Subscription, UUID } from "@opendaw/lib-std";
3
3
  import { Address } from "@opendaw/lib-box";
4
4
  import { BoxAdapter } from "../BoxAdapter";
5
5
  import { MarkerTrackAdapter } from "./MarkerTrackAdapter";
6
6
  import { BoxAdaptersContext } from "../BoxAdaptersContext";
7
+ import { ppqn } from "@opendaw/lib-dsp";
7
8
  export declare class TimelineBoxAdapter implements BoxAdapter {
8
9
  #private;
9
10
  constructor(context: BoxAdaptersContext, box: TimelineBox);
@@ -12,5 +13,8 @@ export declare class TimelineBoxAdapter implements BoxAdapter {
12
13
  get uuid(): UUID.Bytes;
13
14
  get address(): Address;
14
15
  get markerTrack(): MarkerTrackAdapter;
16
+ get signature(): Readonly<[int, int]>;
17
+ get signatureDuration(): ppqn;
18
+ catchupAndSubscribeSignature(observer: Observer<Readonly<[int, int]>>): Subscription;
15
19
  }
16
20
  //# sourceMappingURL=TimelineBoxAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TimelineBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/timeline/TimelineBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AAExD,qBAAa,kBAAmB,YAAW,UAAU;;gBAIrC,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,WAAW;IAKzD,SAAS,IAAI,IAAI;IAEjB,IAAI,GAAG,IAAI,WAAW,CAAmB;IACzC,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,WAAW,IAAI,kBAAkB,CAA2B;CACnE"}
1
+ {"version":3,"file":"TimelineBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/timeline/TimelineBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAC,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAClE,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAO,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAE3C,qBAAa,kBAAmB,YAAW,UAAU;;gBAIrC,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,WAAW;IAKzD,SAAS,IAAI,IAAI;IAEjB,IAAI,GAAG,IAAI,WAAW,CAAmB;IACzC,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,WAAW,IAAI,kBAAkB,CAA2B;IAChE,IAAI,SAAS,IAAI,QAAQ,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAIpC;IACD,IAAI,iBAAiB,IAAI,IAAI,CAG5B;IAED,4BAA4B,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,YAAY;CAIvF"}
@@ -1,4 +1,5 @@
1
1
  import { MarkerTrackAdapter } from "./MarkerTrackAdapter";
2
+ import { PPQN } from "@opendaw/lib-dsp";
2
3
  export class TimelineBoxAdapter {
3
4
  #box;
4
5
  #markerTrack;
@@ -11,4 +12,17 @@ export class TimelineBoxAdapter {
11
12
  get uuid() { return this.#box.address.uuid; }
12
13
  get address() { return this.#box.address; }
13
14
  get markerTrack() { return this.#markerTrack; }
15
+ get signature() {
16
+ return [
17
+ this.#box.signature.nominator.getValue(), this.#box.signature.denominator.getValue()
18
+ ];
19
+ }
20
+ get signatureDuration() {
21
+ const { nominator, denominator } = this.#box.signature;
22
+ return PPQN.fromSignature(nominator.getValue(), denominator.getValue());
23
+ }
24
+ catchupAndSubscribeSignature(observer) {
25
+ observer(this.signature);
26
+ return this.#box.signature.subscribe(() => observer(this.signature));
27
+ }
14
28
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opendaw/studio-adapters",
3
- "version": "0.0.37",
3
+ "version": "0.0.39",
4
4
  "license": "LGPL-3.0-or-later",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -23,17 +23,17 @@
23
23
  "test": "echo \"No tests to run\""
24
24
  },
25
25
  "dependencies": {
26
- "@opendaw/lib-box": "^0.0.36",
27
- "@opendaw/lib-dsp": "^0.0.36",
28
- "@opendaw/lib-runtime": "^0.0.36",
29
- "@opendaw/lib-std": "^0.0.36",
30
- "@opendaw/studio-boxes": "^0.0.36",
31
- "@opendaw/studio-enums": "^0.0.27",
26
+ "@opendaw/lib-box": "^0.0.38",
27
+ "@opendaw/lib-dsp": "^0.0.38",
28
+ "@opendaw/lib-runtime": "^0.0.38",
29
+ "@opendaw/lib-std": "^0.0.38",
30
+ "@opendaw/studio-boxes": "^0.0.38",
31
+ "@opendaw/studio-enums": "^0.0.29",
32
32
  "soundfont2": "^0.5.0"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@opendaw/eslint-config": "^0.0.20",
36
36
  "@opendaw/typescript-config": "^0.0.20"
37
37
  },
38
- "gitHead": "a3c95d33522ce3b35c1a67af0fd6064488d35c97"
38
+ "gitHead": "5a6c7ff14cb76c6e46c9511799596a5133dae043"
39
39
  }