@opendaw/studio-adapters 0.3.4 → 0.3.5

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 (73) hide show
  1. package/dist/BoxAdapters.d.ts.map +1 -1
  2. package/dist/BoxAdapters.js +8 -0
  3. package/dist/DeviceAdapter.d.ts +17 -1
  4. package/dist/DeviceAdapter.d.ts.map +1 -1
  5. package/dist/DeviceManualUrls.d.ts +3 -0
  6. package/dist/DeviceManualUrls.d.ts.map +1 -1
  7. package/dist/DeviceManualUrls.js +3 -0
  8. package/dist/Validator.d.ts.map +1 -1
  9. package/dist/Validator.js +4 -19
  10. package/dist/audio-unit/AudioUnitBoxAdapter.d.ts +2 -1
  11. package/dist/audio-unit/AudioUnitBoxAdapter.d.ts.map +1 -1
  12. package/dist/audio-unit/AudioUnitBoxAdapter.js +1 -0
  13. package/dist/audio-unit/AuxSendBoxAdapter.d.ts +1 -0
  14. package/dist/audio-unit/AuxSendBoxAdapter.d.ts.map +1 -1
  15. package/dist/audio-unit/AuxSendBoxAdapter.js +1 -0
  16. package/dist/devices/audio-effects/AudioEffectComposite/AudioCompositeAdapter.d.ts +2 -1
  17. package/dist/devices/audio-effects/AudioEffectComposite/AudioCompositeAdapter.d.ts.map +1 -1
  18. package/dist/devices/audio-effects/AudioEffectComposite/AudioEffectCompositeCellBoxAdapter.d.ts +8 -5
  19. package/dist/devices/audio-effects/AudioEffectComposite/AudioEffectCompositeCellBoxAdapter.d.ts.map +1 -1
  20. package/dist/devices/audio-effects/AudioEffectComposite/AudioEffectCompositeCellBoxAdapter.js +9 -3
  21. package/dist/devices/audio-effects/AudioEffectCompositeBoxAdapter.d.ts +2 -0
  22. package/dist/devices/audio-effects/AudioEffectCompositeBoxAdapter.d.ts.map +1 -1
  23. package/dist/devices/audio-effects/AudioEffectCompositeBoxAdapter.js +1 -0
  24. package/dist/devices/audio-effects/AudioSinkDeviceBoxAdapter.d.ts +33 -0
  25. package/dist/devices/audio-effects/AudioSinkDeviceBoxAdapter.d.ts.map +1 -0
  26. package/dist/devices/audio-effects/AudioSinkDeviceBoxAdapter.js +60 -0
  27. package/dist/devices/audio-effects/CrusherDeviceBoxAdapter.js +1 -1
  28. package/dist/devices/audio-effects/FrequencySplitBoxAdapter.d.ts +3 -0
  29. package/dist/devices/audio-effects/FrequencySplitBoxAdapter.d.ts.map +1 -1
  30. package/dist/devices/audio-effects/FrequencySplitBoxAdapter.js +8 -0
  31. package/dist/devices/audio-effects/StereoCompositeBoxAdapter.d.ts +2 -0
  32. package/dist/devices/audio-effects/StereoCompositeBoxAdapter.d.ts.map +1 -1
  33. package/dist/devices/audio-effects/StereoCompositeBoxAdapter.js +1 -0
  34. package/dist/devices/instruments/Cubed/CubedStep.js +1 -1
  35. package/dist/devices/instruments/InstrumentComposite/InstrumentCompositeCellBoxAdapter.d.ts +49 -0
  36. package/dist/devices/instruments/InstrumentComposite/InstrumentCompositeCellBoxAdapter.d.ts.map +1 -0
  37. package/dist/devices/instruments/InstrumentComposite/InstrumentCompositeCellBoxAdapter.js +88 -0
  38. package/dist/devices/instruments/InstrumentCompositeBoxAdapter.d.ts +33 -0
  39. package/dist/devices/instruments/InstrumentCompositeBoxAdapter.d.ts.map +1 -0
  40. package/dist/devices/instruments/InstrumentCompositeBoxAdapter.js +55 -0
  41. package/dist/devices/instruments/Playfield/PlayfieldSampleBoxAdapter.d.ts +2 -1
  42. package/dist/devices/instruments/Playfield/PlayfieldSampleBoxAdapter.d.ts.map +1 -1
  43. package/dist/devices/instruments/Playfield/PlayfieldSampleBoxAdapter.js +1 -0
  44. package/dist/devices/instruments/Tubular/Dx7Sysex.d.ts +23 -0
  45. package/dist/devices/instruments/Tubular/Dx7Sysex.d.ts.map +1 -0
  46. package/dist/devices/instruments/Tubular/Dx7Sysex.js +159 -0
  47. package/dist/devices/instruments/Tubular/TubularPreset.d.ts +6 -0
  48. package/dist/devices/instruments/Tubular/TubularPreset.d.ts.map +1 -0
  49. package/dist/devices/instruments/Tubular/TubularPreset.js +39 -0
  50. package/dist/devices/instruments/TubularDeviceBoxAdapter.d.ts +100 -0
  51. package/dist/devices/instruments/TubularDeviceBoxAdapter.d.ts.map +1 -0
  52. package/dist/devices/instruments/TubularDeviceBoxAdapter.js +177 -0
  53. package/dist/factories/InstrumentBox.d.ts +2 -2
  54. package/dist/factories/InstrumentBox.d.ts.map +1 -1
  55. package/dist/factories/InstrumentFactories.d.ts +9 -2
  56. package/dist/factories/InstrumentFactories.d.ts.map +1 -1
  57. package/dist/factories/InstrumentFactories.js +38 -2
  58. package/dist/index.d.ts +7 -0
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +7 -0
  61. package/dist/preset/PresetDecoder.d.ts +3 -2
  62. package/dist/preset/PresetDecoder.d.ts.map +1 -1
  63. package/dist/preset/PresetDecoder.js +51 -6
  64. package/dist/preset/PresetEncoder.d.ts +1 -0
  65. package/dist/preset/PresetEncoder.d.ts.map +1 -1
  66. package/dist/preset/PresetEncoder.js +36 -0
  67. package/dist/timeline/RegionOverlap.d.ts +13 -0
  68. package/dist/timeline/RegionOverlap.d.ts.map +1 -0
  69. package/dist/timeline/RegionOverlap.js +32 -0
  70. package/dist/transfer/TransferUtils.d.ts +4 -1
  71. package/dist/transfer/TransferUtils.d.ts.map +1 -1
  72. package/dist/transfer/TransferUtils.js +18 -0
  73. package/package.json +11 -11
@@ -1 +1 @@
1
- {"version":3,"file":"BoxAdapters.d.ts","sourceRoot":"","sources":["../src/BoxAdapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,UAAU,EACV,KAAK,EAEL,MAAM,EAIN,UAAU,EAEb,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,GAAG,EAAS,MAAM,kBAAkB,CAAA;AAiI5C,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AAmCvC,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;IAkBnG,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;CAqF3C"}
1
+ {"version":3,"file":"BoxAdapters.d.ts","sourceRoot":"","sources":["../src/BoxAdapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,UAAU,EACV,KAAK,EAEL,MAAM,EAIN,UAAU,EAEb,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,GAAG,EAAS,MAAM,kBAAkB,CAAA;AAyI5C,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AAmCvC,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;IAkBnG,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;CAyF3C"}
@@ -49,9 +49,13 @@ import { SpielwerkDeviceBoxAdapter } from "./devices/midi-effects/SpielwerkDevic
49
49
  import { ApparatDeviceBoxAdapter } from "./devices/instruments/ApparatDeviceBoxAdapter";
50
50
  import { CubedDeviceBoxAdapter } from "./devices/instruments/CubedDeviceBoxAdapter";
51
51
  import { NeonDeviceBoxAdapter } from "./devices/instruments/NeonDeviceBoxAdapter";
52
+ import { TubularDeviceBoxAdapter } from "./devices/instruments/TubularDeviceBoxAdapter";
52
53
  import { NanoDeviceBoxAdapter } from "./devices/instruments/NanoDeviceBoxAdapter";
53
54
  import { PlayfieldDeviceBoxAdapter } from "./devices/instruments/PlayfieldDeviceBoxAdapter";
55
+ import { InstrumentCompositeBoxAdapter } from "./devices/instruments/InstrumentCompositeBoxAdapter";
56
+ import { InstrumentCompositeCellBoxAdapter } from "./devices/instruments/InstrumentComposite/InstrumentCompositeCellBoxAdapter";
54
57
  import { StereoToolDeviceBoxAdapter } from "./devices/audio-effects/StereoToolDeviceBoxAdapter";
58
+ import { AudioSinkDeviceBoxAdapter } from "./devices/audio-effects/AudioSinkDeviceBoxAdapter";
55
59
  import { PlayfieldSampleBoxAdapter } from "./devices/instruments/Playfield/PlayfieldSampleBoxAdapter";
56
60
  import { AudioEffectCompositeBoxAdapter } from "./devices/audio-effects/AudioEffectCompositeBoxAdapter";
57
61
  import { StereoCompositeBoxAdapter } from "./devices/audio-effects/StereoCompositeBoxAdapter";
@@ -181,6 +185,7 @@ _BoxAdapters_context = new WeakMap(), _BoxAdapters_adapters = new WeakMap(), _Bo
181
185
  visitModuleGainBox: (box) => new ModuleGainAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
182
186
  visitModuleMultiplierBox: (box) => new ModuleMultiplierAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
183
187
  visitNeonDeviceBox: (box) => new NeonDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
188
+ visitTubularDeviceBox: (box) => new TubularDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
184
189
  visitNanoDeviceBox: (box) => new NanoDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
185
190
  visitNeuralAmpDeviceBox: (box) => new NeuralAmpDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
186
191
  visitNeuralAmpModelBox: (box) => new NeuralAmpModelBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
@@ -190,6 +195,8 @@ _BoxAdapters_context = new WeakMap(), _BoxAdapters_adapters = new WeakMap(), _Bo
190
195
  visitNoteRegionBox: (box) => new NoteRegionBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
191
196
  visitPitchDeviceBox: (box) => new PitchDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
192
197
  visitPlayfieldDeviceBox: (box) => new PlayfieldDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
198
+ visitInstrumentCompositeBox: (box) => new InstrumentCompositeBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
199
+ visitInstrumentCompositeCellBox: (box) => new InstrumentCompositeCellBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
193
200
  visitPlayfieldSampleBox: (box) => new PlayfieldSampleBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
194
201
  visitAudioEffectCompositeBox: (box) => new AudioEffectCompositeBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
195
202
  visitAudioEffectCompositeCellBox: (box) => new AudioEffectCompositeCellBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
@@ -202,6 +209,7 @@ _BoxAdapters_context = new WeakMap(), _BoxAdapters_adapters = new WeakMap(), _Bo
202
209
  visitSoundfontFileBox: (box) => new SoundfontFileBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
203
210
  visitSpielwerkDeviceBox: (box) => new SpielwerkDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
204
211
  visitStereoToolDeviceBox: (box) => new StereoToolDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
212
+ visitAudioSinkDeviceBox: (box) => new AudioSinkDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
205
213
  visitTapeDeviceBox: (box) => new TapeDeviceBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
206
214
  visitTimelineBox: (box) => new TimelineBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
207
215
  visitTrackBox: (box) => new TrackBoxAdapter(__classPrivateFieldGet(this, _BoxAdapters_context, "f"), box),
@@ -1,5 +1,5 @@
1
1
  import { BooleanField, Box, Field, Int32Field, PointerField, StringField } from "@opendaw/lib-box";
2
- import { AssertType, Option } from "@opendaw/lib-std";
2
+ import { AssertType, Option, Procedure, Subscription } from "@opendaw/lib-std";
3
3
  import { Pointers } from "@opendaw/studio-enums";
4
4
  import { TrackType } from "./timeline/TrackType";
5
5
  import { IndexedBoxAdapterCollection } from "./IndexedBoxAdapterCollection";
@@ -7,6 +7,7 @@ import { BoxAdapter } from "./BoxAdapter";
7
7
  import { AudioUnitInputAdapter } from "./audio-unit/AudioUnitInputAdapter";
8
8
  import { AudioUnitBoxAdapter } from "./audio-unit/AudioUnitBoxAdapter";
9
9
  import { LabeledAudioOutputsOwner } from "./LabeledAudioOutputsOwner";
10
+ import { AutomatableParameterFieldAdapter } from "./AutomatableParameterFieldAdapter";
10
11
  export type DeviceType = "midi-effect" | "bus" | "instrument" | "audio-effect";
11
12
  export type DeviceAccepts = "midi" | "audio" | false;
12
13
  export declare namespace DeviceAccepts {
@@ -49,6 +50,21 @@ export interface DeviceHost extends BoxAdapter, LabeledAudioOutputsOwner {
49
50
  get label(): string;
50
51
  deviceHost(): DeviceHost;
51
52
  audioUnitBoxAdapter(): AudioUnitBoxAdapter;
53
+ asCompositeCell(): Option<CompositeCell>;
54
+ }
55
+ export interface CompositeCell extends DeviceHost {
56
+ readonly cellKind: "audio-effect" | "instrument";
57
+ readonly namedParameter: {
58
+ readonly gain: AutomatableParameterFieldAdapter<number>;
59
+ readonly pan: AutomatableParameterFieldAdapter<number>;
60
+ readonly mute: AutomatableParameterFieldAdapter<boolean>;
61
+ readonly solo: AutomatableParameterFieldAdapter<boolean>;
62
+ };
63
+ get box(): Box<Pointers>;
64
+ get indexField(): Int32Field;
65
+ compositeDevice(): DeviceBoxAdapter;
66
+ siblings(): ReadonlyArray<CompositeCell>;
67
+ subscribeSiblings(observer: Procedure<ReadonlyArray<CompositeCell>>): Subscription;
52
68
  }
53
69
  export declare namespace DeviceHost {
54
70
  const chainOf: (host: DeviceHost, accepts: "audio" | "midi") => Option<IndexedBoxAdapterCollection<EffectDeviceBoxAdapter, EffectPointerType>>;
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceAdapter.d.ts","sourceRoot":"","sources":["../src/DeviceAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAChG,OAAO,EAAiB,UAAU,EAAO,MAAM,EAAc,MAAM,kBAAkB,CAAA;AACrF,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAC,2BAA2B,EAAC,MAAM,+BAA+B,CAAA;AACzE,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AACvC,OAAO,EAAC,qBAAqB,EAAC,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAA;AAEpE,OAAO,EAAC,wBAAwB,EAAC,MAAM,4BAA4B,CAAA;AAEnE,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,KAAK,GAAG,YAAY,GAAG,cAAc,CAAA;AAC9E,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAA;AAEpD,yBAAiB,aAAa,CAAC;IACpB,MAAM,WAAW,GAAI,MAAM,aAAa,sCAS9C,CAAA;CACJ;AAED,MAAM,WAAW,uBAAwB,SAAQ,sBAAsB,CAAC,QAAQ,CAAC,cAAc,CAAC;IAC5F,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,wBAAwB;IACxH,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,eAAe,GAAG,QAAQ,CAAC,cAAc,CAAA;AAElF,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,CAAE,SAAQ,gBAAgB;IAC7G,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,aAAa,CAAA;IAC7C,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAA;IAElC,IAAI,UAAU,IAAI,UAAU,CAAA;IAC5B,IAAI,YAAY,IAAI,YAAY,CAAA;IAChC,IAAI,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,0BAA2B,SAAQ,gBAAgB,EAAE,wBAAwB;IAC1F,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;IAE3B,IAAI,SAAS,IAAI,WAAW,CAAA;IAC5B,IAAI,gBAAgB,IAAI,SAAS,CAAA;IACjC,IAAI,iBAAiB,IAAI,OAAO,CAAA;CACnC;AAOD,MAAM,WAAW,UAAW,SAAQ,UAAU,EAAE,wBAAwB;IACpE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAA;IAE7B,IAAI,WAAW,IAAI,MAAM,CAAC,2BAA2B,CAAC,uBAAuB,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAA;IACxG,IAAI,gBAAgB,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAA;IAC9D,IAAI,YAAY,IAAI,MAAM,CAAC,qBAAqB,CAAC,CAAA;IACjD,IAAI,YAAY,IAAI,MAAM,CAAC,2BAA2B,CAAC,wBAAwB,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAA;IAC3G,IAAI,iBAAiB,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAA;IAChE,IAAI,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAA;IACvE,IAAI,WAAW,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAA;IAClD,IAAI,cAAc,IAAI,YAAY,CAAA;IAClC,IAAI,WAAW,IAAI,OAAO,CAAA;IAI1B,IAAI,eAAe,IAAI,OAAO,CAAA;IAC9B,IAAI,KAAK,IAAI,MAAM,CAAA;IAEnB,UAAU,IAAI,UAAU,CAAA;IACxB,mBAAmB,IAAI,mBAAmB,CAAA;CAC7C;AAED,yBAAiB,UAAU,CAAC;IAEjB,MAAM,OAAO,GAAI,MAAM,UAAU,EAAE,SAAS,OAAO,GAAG,MAAM,KAC7D,MAAM,CAAC,2BAA2B,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CACrB,CAAA;IAGvD,MAAM,YAAY,GAAI,MAAM,UAAU,EAAE,SAAS,OAAO,GAAG,MAAM,KAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAClC,CAAA;IAMjE,MAAM,WAAW,GAAI,MAAM,UAAU,EAAE,SAAS,OAAO,GAAG,MAAM,KAAG,OAGG,CAAA;CAChF;AAED,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAChD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAE1B,IAAI,GAAG,IAAI,GAAG,CAAA;IACd,IAAI,UAAU,IAAI,WAAW,CAAA;IAC7B,IAAI,YAAY,IAAI,YAAY,CAAA;IAChC,IAAI,cAAc,IAAI,YAAY,CAAA;IAClC,IAAI,OAAO,IAAI,aAAa,CAAA;IAE5B,UAAU,IAAI,UAAU,CAAA;IACxB,mBAAmB,IAAI,mBAAmB,CAAA;CAC7C;AAED,yBAAiB,OAAO,CAAC;IACd,MAAM,KAAK,EAAE,UAAU,CAAC,gBAAgB,CAG6B,CAAA;IACrE,MAAM,QAAQ,EAAE,UAAU,CAAC,sBAAsB,CAEkB,CAAA;IACnE,MAAM,YAAY,EAAE,UAAU,CAAC,0BAA0B,CACyC,CAAA;IAClG,MAAM,YAAY,EAAE,UAAU,CAAC,uBAAuB,CAC6C,CAAA;IACnG,MAAM,aAAa,EAAE,UAAU,CAAC,wBAAwB,CAC4C,CAAA;IACpG,MAAM,MAAM,EAAE,UAAU,CAAC,UAAU,CAC0D,CAAA;IAE7F,MAAM,mBAAmB,GAAI,SAAS,aAAa,CAAC,sBAAsB,CAAC,KAAG,IAepF,CAAA;CACJ"}
1
+ {"version":3,"file":"DeviceAdapter.d.ts","sourceRoot":"","sources":["../src/DeviceAdapter.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export declare namespace DeviceManualUrls {
7
7
  const Zeitgeist = "manuals/devices/midi/zeitgeist";
8
8
  const Autotune = "manuals/devices/audio/autotune";
9
9
  const StereoTool = "manuals/devices/audio/stereotool";
10
+ const Sink = "manuals/devices/audio/sink";
10
11
  const Delay = "manuals/devices/audio/delay";
11
12
  const Convolver = "manuals/devices/audio/convolver";
12
13
  const DattorroReverb = "manuals/devices/audio/dattorro-reverb";
@@ -29,8 +30,10 @@ export declare namespace DeviceManualUrls {
29
30
  const Tape = "manuals/devices/instruments/tape";
30
31
  const Nano = "manuals/devices/instruments/nano";
31
32
  const Playfield = "manuals/devices/instruments/playfield";
33
+ const InstrumentComposite = "manuals/devices/instruments/composite";
32
34
  const Vaporisateur = "manuals/devices/instruments/vaporisateur";
33
35
  const Neon = "manuals/devices/instruments/neon";
36
+ const Tubular = "manuals/devices/instruments/tubular";
34
37
  const MIDIOutput = "manuals/devices/instruments/midioutput";
35
38
  const Soundfont = "manuals/devices/instruments/soundfont";
36
39
  const FrequencySplit = "manuals/devices/audio/frequency-split";
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceManualUrls.d.ts","sourceRoot":"","sources":["../src/DeviceManualUrls.ts"],"names":[],"mappings":"AAAA,yBAAiB,gBAAgB,CAAC;IAEvB,MAAM,QAAQ,sBAAsB,CAAA;IAGpC,MAAM,QAAQ,kCAAkC,CAAA;IAChD,MAAM,KAAK,+BAA+B,CAAA;IAC1C,MAAM,SAAS,mCAAmC,CAAA;IAClD,MAAM,QAAQ,kCAAkC,CAAA;IAChD,MAAM,SAAS,mCAAmC,CAAA;IAGlD,MAAM,QAAQ,mCAAmC,CAAA;IACjD,MAAM,UAAU,qCAAqC,CAAA;IACrD,MAAM,KAAK,gCAAgC,CAAA;IAC3C,MAAM,SAAS,oCAAoC,CAAA;IACnD,MAAM,cAAc,0CAA0C,CAAA;IAC9D,MAAM,SAAS,oCAAoC,CAAA;IACnD,MAAM,UAAU,qCAAqC,CAAA;IACrD,MAAM,IAAI,+BAA+B,CAAA;IACzC,MAAM,MAAM,iCAAiC,CAAA;IAC7C,MAAM,OAAO,kCAAkC,CAAA;IAC/C,MAAM,IAAI,+BAA+B,CAAA;IACzC,MAAM,KAAK,gCAAgC,CAAA;IAC3C,MAAM,MAAM,iCAAiC,CAAA;IAC7C,MAAM,OAAO,kCAAkC,CAAA;IAC/C,MAAM,SAAS,qCAAqC,CAAA;IACpD,MAAM,OAAO,kCAAkC,CAAA;IAC/C,MAAM,UAAU,qCAAqC,CAAA;IACrD,MAAM,SAAS,oCAAoC,CAAA;IACnD,MAAM,oBAAoB,2CAA2C,CAAA;IACrE,MAAM,eAAe,2CAA2C,CAAA;IAGhE,MAAM,OAAO,wCAAwC,CAAA;IACrD,MAAM,IAAI,qCAAqC,CAAA;IAC/C,MAAM,IAAI,qCAAqC,CAAA;IAC/C,MAAM,SAAS,0CAA0C,CAAA;IACzD,MAAM,YAAY,6CAA6C,CAAA;IAC/D,MAAM,IAAI,qCAAqC,CAAA;IAC/C,MAAM,UAAU,2CAA2C,CAAA;IAC3D,MAAM,SAAS,0CAA0C,CAAA;IACzD,MAAM,cAAc,0CAA0C,CAAA;CACxE"}
1
+ {"version":3,"file":"DeviceManualUrls.d.ts","sourceRoot":"","sources":["../src/DeviceManualUrls.ts"],"names":[],"mappings":"AAAA,yBAAiB,gBAAgB,CAAC;IAEvB,MAAM,QAAQ,sBAAsB,CAAA;IAGpC,MAAM,QAAQ,kCAAkC,CAAA;IAChD,MAAM,KAAK,+BAA+B,CAAA;IAC1C,MAAM,SAAS,mCAAmC,CAAA;IAClD,MAAM,QAAQ,kCAAkC,CAAA;IAChD,MAAM,SAAS,mCAAmC,CAAA;IAGlD,MAAM,QAAQ,mCAAmC,CAAA;IACjD,MAAM,UAAU,qCAAqC,CAAA;IACrD,MAAM,IAAI,+BAA+B,CAAA;IACzC,MAAM,KAAK,gCAAgC,CAAA;IAC3C,MAAM,SAAS,oCAAoC,CAAA;IACnD,MAAM,cAAc,0CAA0C,CAAA;IAC9D,MAAM,SAAS,oCAAoC,CAAA;IACnD,MAAM,UAAU,qCAAqC,CAAA;IACrD,MAAM,IAAI,+BAA+B,CAAA;IACzC,MAAM,MAAM,iCAAiC,CAAA;IAC7C,MAAM,OAAO,kCAAkC,CAAA;IAC/C,MAAM,IAAI,+BAA+B,CAAA;IACzC,MAAM,KAAK,gCAAgC,CAAA;IAC3C,MAAM,MAAM,iCAAiC,CAAA;IAC7C,MAAM,OAAO,kCAAkC,CAAA;IAC/C,MAAM,SAAS,qCAAqC,CAAA;IACpD,MAAM,OAAO,kCAAkC,CAAA;IAC/C,MAAM,UAAU,qCAAqC,CAAA;IACrD,MAAM,SAAS,oCAAoC,CAAA;IACnD,MAAM,oBAAoB,2CAA2C,CAAA;IACrE,MAAM,eAAe,2CAA2C,CAAA;IAGhE,MAAM,OAAO,wCAAwC,CAAA;IACrD,MAAM,IAAI,qCAAqC,CAAA;IAC/C,MAAM,IAAI,qCAAqC,CAAA;IAC/C,MAAM,SAAS,0CAA0C,CAAA;IACzD,MAAM,mBAAmB,0CAA0C,CAAA;IACnE,MAAM,YAAY,6CAA6C,CAAA;IAC/D,MAAM,IAAI,qCAAqC,CAAA;IAC/C,MAAM,OAAO,wCAAwC,CAAA;IACrD,MAAM,UAAU,2CAA2C,CAAA;IAC3D,MAAM,SAAS,0CAA0C,CAAA;IACzD,MAAM,cAAc,0CAA0C,CAAA;CACxE"}
@@ -11,6 +11,7 @@ export var DeviceManualUrls;
11
11
  // Audio Effects
12
12
  DeviceManualUrls.Autotune = "manuals/devices/audio/autotune";
13
13
  DeviceManualUrls.StereoTool = "manuals/devices/audio/stereotool";
14
+ DeviceManualUrls.Sink = "manuals/devices/audio/sink";
14
15
  DeviceManualUrls.Delay = "manuals/devices/audio/delay";
15
16
  DeviceManualUrls.Convolver = "manuals/devices/audio/convolver";
16
17
  DeviceManualUrls.DattorroReverb = "manuals/devices/audio/dattorro-reverb";
@@ -34,8 +35,10 @@ export var DeviceManualUrls;
34
35
  DeviceManualUrls.Tape = "manuals/devices/instruments/tape";
35
36
  DeviceManualUrls.Nano = "manuals/devices/instruments/nano";
36
37
  DeviceManualUrls.Playfield = "manuals/devices/instruments/playfield";
38
+ DeviceManualUrls.InstrumentComposite = "manuals/devices/instruments/composite";
37
39
  DeviceManualUrls.Vaporisateur = "manuals/devices/instruments/vaporisateur";
38
40
  DeviceManualUrls.Neon = "manuals/devices/instruments/neon";
41
+ DeviceManualUrls.Tubular = "manuals/devices/instruments/tubular";
39
42
  DeviceManualUrls.MIDIOutput = "manuals/devices/instruments/midioutput";
40
43
  DeviceManualUrls.Soundfont = "manuals/devices/instruments/soundfont";
41
44
  DeviceManualUrls.FrequencySplit = "manuals/devices/audio/frequency-split";
@@ -1 +1 @@
1
- {"version":3,"file":"Validator.d.ts","sourceRoot":"","sources":["../src/Validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AAEzC,OAAO,EAAS,OAAO,EAAmB,GAAG,EAAC,MAAM,kBAAkB,CAAA;AAMtE,yBAAiB,SAAS,CAAC;IAChB,MAAM,oBAAoB,GAAI,WAAW,GAAG,EAAE,aAAa,GAAG,KAAG,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAQjG,CAAA;IAEM,MAAM,QAAQ,GAAI,KAAK,MAAM,KAAG,MAEf,CAAA;IAEjB,MAAM,kBAAkB,GAAI,IAAI,MAAM,KAAG,MAEhB,CAAA;IAEzB,MAAM,qBAAqB,GAAI,UAAU,QAAQ,KAAG,OAe3C,CAAA;CACnB"}
1
+ {"version":3,"file":"Validator.d.ts","sourceRoot":"","sources":["../src/Validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AAEzC,OAAO,EAAC,OAAO,EAAmB,GAAG,EAAC,MAAM,kBAAkB,CAAA;AAK9D,yBAAiB,SAAS,CAAC;IAChB,MAAM,oBAAoB,GAAI,WAAW,GAAG,EAAE,aAAa,GAAG,KAAG,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAQjG,CAAA;IAEM,MAAM,QAAQ,GAAI,KAAK,MAAM,KAAG,MAEf,CAAA;IAEjB,MAAM,kBAAkB,GAAI,IAAI,MAAM,KAAG,MAEhB,CAAA;IAEzB,MAAM,qBAAqB,GAAI,UAAU,QAAQ,KAAG,OACiD,CAAA;CAC/G"}
package/dist/Validator.js CHANGED
@@ -1,7 +1,6 @@
1
- import { AudioRegionBox } from "@opendaw/studio-boxes";
2
- import { Arrays, Attempts, clamp } from "@opendaw/lib-std";
3
- import { UnionBoxTypes } from "./unions";
4
- import { TimeBase } from "@opendaw/lib-dsp";
1
+ import { TrackBox } from "@opendaw/studio-boxes";
2
+ import { Attempts, clamp } from "@opendaw/lib-std";
3
+ import { RegionOverlap } from "./timeline/RegionOverlap";
5
4
  import { TempoRange } from "./TempoRange";
6
5
  import { BaseFrequencyRange } from "./BaseFrequencyRange";
7
6
  export var Validator;
@@ -22,19 +21,5 @@ export var Validator;
22
21
  ? clamp(hz, BaseFrequencyRange.min, BaseFrequencyRange.max)
23
22
  : BaseFrequencyRange.default;
24
23
  Validator.hasOverlappingRegions = (boxGraph) => boxGraph.boxes()
25
- .some(box => box.accept({
26
- visitTrackBox: (box) => {
27
- for (const [current, next] of Arrays.iterateAdjacent(box.regions.pointerHub.incoming()
28
- .map(({ box }) => UnionBoxTypes.asRegionBox(box))
29
- .sort(({ position: a }, { position: b }) => a.getValue() - b.getValue()))) {
30
- if (current instanceof AudioRegionBox && current.timeBase.getValue() === TimeBase.Seconds) {
31
- return false;
32
- }
33
- if (current.position.getValue() + current.duration.getValue() > next.position.getValue()) {
34
- return true;
35
- }
36
- }
37
- return false;
38
- }
39
- }) ?? false);
24
+ .some(box => box instanceof TrackBox && RegionOverlap.find(RegionOverlap.sortedRegions(box)).nonEmpty());
40
25
  })(Validator || (Validator = {}));
@@ -2,7 +2,7 @@ import { AudioUnitBox, CaptureAudioBox, CaptureMidiBox } from "@opendaw/studio-b
2
2
  import { int, Option, UUID, ValueMapping } from "@opendaw/lib-std";
3
3
  import { Address, BooleanField, Field, Int32Field } from "@opendaw/lib-box";
4
4
  import { AudioUnitType, Pointers } from "@opendaw/studio-enums";
5
- import { AudioEffectDeviceAdapter, DeviceHost, MidiEffectDeviceAdapter } from "../DeviceAdapter";
5
+ import { AudioEffectDeviceAdapter, CompositeCell, DeviceHost, MidiEffectDeviceAdapter } from "../DeviceAdapter";
6
6
  import { LabeledAudioOutput } from "../LabeledAudioOutputsOwner";
7
7
  import { AudioUnitTracks } from "./AudioUnitTracks";
8
8
  import { AudioUnitInput } from "./AudioUnitInput";
@@ -50,6 +50,7 @@ export declare class AudioUnitBoxAdapter implements DeviceHost, BoxAdapter {
50
50
  get hostsInstrument(): boolean;
51
51
  get label(): string;
52
52
  deviceHost(): DeviceHost;
53
+ asCompositeCell(): Option<CompositeCell>;
53
54
  audioUnitBoxAdapter(): AudioUnitBoxAdapter;
54
55
  labeledAudioOutputs(): Iterable<LabeledAudioOutput>;
55
56
  indicesLimit(): [int, int];
@@ -1 +1 @@
1
- {"version":3,"file":"AudioUnitBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/audio-unit/AudioUnitBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,eAAe,EAAE,cAAc,EAAC,MAAM,uBAAuB,CAAA;AACnF,OAAO,EAAS,GAAG,EAAE,MAAM,EAA6B,IAAI,EAAE,YAAY,EAAC,MAAM,kBAAkB,CAAA;AACnG,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAC,MAAM,kBAAkB,CAAA;AACzE,OAAO,EAAC,aAAa,EAAE,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAC,wBAAwB,EAAE,UAAU,EAAW,uBAAuB,EAAC,MAAM,kBAAkB,CAAA;AACvG,OAAO,EAAC,kBAAkB,EAAC,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,2BAA2B,EAAC,MAAM,gCAAgC,CAAA;AAE1E,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAA;AAE3D,qBAAa,mBAAoB,YAAW,UAAU,EAAE,UAAU;;IAC9D,MAAM,CAAC,YAAY,uBAA0C;IAE7D,QAAQ,CAAC,OAAO,iBAAgB;IAYhC,QAAQ,CAAC,cAAc;;;;;MAAA;gBAEX,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,YAAY;IAmB1D,IAAI,GAAG,IAAI,YAAY,CAAmB;IAC1C,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,UAAU,IAAI,UAAU,CAAyB;IACrD,IAAI,IAAI,IAAI,aAAa,CAAoD;IAC7E,IAAI,UAAU,IAAI,MAAM,CAAC,eAAe,GAAG,cAAc,CAAC,CAAoF;IAC9I,IAAI,MAAM,IAAI,eAAe,CAAsB;IACnD,IAAI,KAAK,IAAI,cAAc,CAAqB;IAGhD,IAAI,WAAW,IAAI,MAAM,CAAC,2BAA2B,CAAC,uBAAuB,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAEvG;IACD,IAAI,YAAY,IAAI,MAAM,CAAC,2BAA2B,CAAC,wBAAwB,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,CAE1G;IACD,IAAI,YAAY,IAAI,MAAM,CAAC,qBAAqB,CAAC,CAA+B;IAChF,IAAI,QAAQ,IAAI,2BAA2B,CAAC,iBAAiB,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAwB;IACxG,IAAI,MAAM,IAAI,eAAe,CAAsB;IACnD,IAAI,KAAK,IAAI,OAAO,CAA8E;IAClG,IAAI,YAAY,IAAI,OAAO,CAAqF;IAChH,IAAI,QAAQ,IAAI,OAAO,CAGtB;IACD,IAAI,mBAAmB,IAAI,YAAY,CAAqD;IAC5F,IAAI,gBAAgB,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAA4C;IAC1G,IAAI,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAyB;IAChG,IAAI,iBAAiB,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAA6C;IAC7G,IAAI,WAAW,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAA0B;IAC5E,IAAI,cAAc,IAAI,YAAY,CAAsE;IACxG,IAAI,WAAW,IAAI,OAAO,CAAc;IACxC,IAAI,eAAe,IAAI,OAAO,CAAc;IAC5C,IAAI,KAAK,IAAI,MAAM,CAA+E;IAElG,UAAU,IAAI,UAAU;IACxB,mBAAmB,IAAI,mBAAmB;IAExC,mBAAmB,IAAI,QAAQ,CAAC,kBAAkB,CAAC;IAerD,YAAY,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;IAe1B,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IACtB,SAAS,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IACrD,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAC3C,QAAQ,IAAI,MAAM;IAClB,SAAS,IAAI,IAAI;CA6BpB"}
1
+ {"version":3,"file":"AudioUnitBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/audio-unit/AudioUnitBoxAdapter.ts"],"names":[],"mappings":"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"}
@@ -79,6 +79,7 @@ export class AudioUnitBoxAdapter {
79
79
  get hostsInstrument() { return true; }
80
80
  get label() { return __classPrivateFieldGet(this, _AudioUnitBoxAdapter_input, "f").adapter().mapOr(input => input.labelField.getValue(), ""); }
81
81
  deviceHost() { return this; }
82
+ asCompositeCell() { return Option.None; }
82
83
  audioUnitBoxAdapter() { return this; }
83
84
  *labeledAudioOutputs() {
84
85
  const optInput = this.input.adapter();
@@ -13,6 +13,7 @@ export declare class AuxSendBoxAdapter implements BoxAdapter {
13
13
  get address(): Address;
14
14
  get box(): Box;
15
15
  get indexField(): Int32Field;
16
+ get routingField(): Int32Field;
16
17
  get sendPan(): AutomatableParameterFieldAdapter<float>;
17
18
  get sendGain(): AutomatableParameterFieldAdapter<float>;
18
19
  get targetBus(): AudioBusBoxAdapter;
@@ -1 +1 @@
1
- {"version":3,"file":"AuxSendBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/audio-unit/AuxSendBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAC,MAAM,kBAAkB,CAAA;AACzD,OAAO,EACH,KAAK,EAEL,QAAQ,EACR,MAAM,EAEN,YAAY,EAGZ,IAAI,EAEP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAc,UAAU,EAAa,MAAM,uBAAuB,CAAA;AACzE,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,EAAC,gCAAgC,EAAC,MAAM,qCAAqC,CAAA;AAEpF,qBAAa,iBAAkB,YAAW,UAAU;;gBAYpC,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,UAAU;IA6BxD,6BAA6B,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,YAAY;IAK3F,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,GAAG,IAAI,GAAG,CAAmB;IACjC,IAAI,UAAU,IAAI,UAAU,CAAyB;IACrD,IAAI,OAAO,IAAI,gCAAgC,CAAC,KAAK,CAAC,CAAuB;IAC7E,IAAI,QAAQ,IAAI,gCAAgC,CAAC,KAAK,CAAC,CAAwB;IAC/E,IAAI,SAAS,IAAI,kBAAkB,CAGlC;IAED,IAAI,YAAY,IAAI,MAAM,CAAC,kBAAkB,CAAC,CAK7C;IAED,MAAM,IAAI,IAAI;IAEd,SAAS,IAAI,IAAI;CAIpB"}
1
+ {"version":3,"file":"AuxSendBoxAdapter.d.ts","sourceRoot":"","sources":["../../src/audio-unit/AuxSendBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAC,MAAM,kBAAkB,CAAA;AACzD,OAAO,EACH,KAAK,EAEL,QAAQ,EACR,MAAM,EAEN,YAAY,EAGZ,IAAI,EAEP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAc,UAAU,EAAa,MAAM,uBAAuB,CAAA;AACzE,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,EAAC,gCAAgC,EAAC,MAAM,qCAAqC,CAAA;AAEpF,qBAAa,iBAAkB,YAAW,UAAU;;gBAYpC,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,UAAU;IA6BxD,6BAA6B,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,YAAY;IAK3F,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,GAAG,IAAI,GAAG,CAAmB;IACjC,IAAI,UAAU,IAAI,UAAU,CAAyB;IACrD,IAAI,YAAY,IAAI,UAAU,CAA2B;IACzD,IAAI,OAAO,IAAI,gCAAgC,CAAC,KAAK,CAAC,CAAuB;IAC7E,IAAI,QAAQ,IAAI,gCAAgC,CAAC,KAAK,CAAC,CAAwB;IAC/E,IAAI,SAAS,IAAI,kBAAkB,CAGlC;IAED,IAAI,YAAY,IAAI,MAAM,CAAC,kBAAkB,CAAC,CAK7C;IAED,MAAM,IAAI,IAAI;IAEd,SAAS,IAAI,IAAI;CAIpB"}
@@ -50,6 +50,7 @@ export class AuxSendBoxAdapter {
50
50
  get address() { return __classPrivateFieldGet(this, _AuxSendBoxAdapter_box, "f").address; }
51
51
  get box() { return __classPrivateFieldGet(this, _AuxSendBoxAdapter_box, "f"); }
52
52
  get indexField() { return __classPrivateFieldGet(this, _AuxSendBoxAdapter_box, "f").index; }
53
+ get routingField() { return __classPrivateFieldGet(this, _AuxSendBoxAdapter_box, "f").routing; }
53
54
  get sendPan() { return __classPrivateFieldGet(this, _AuxSendBoxAdapter_sendPan, "f"); }
54
55
  get sendGain() { return __classPrivateFieldGet(this, _AuxSendBoxAdapter_sendGain, "f"); }
55
56
  get targetBus() {
@@ -1,4 +1,4 @@
1
- import { UUID } from "@opendaw/lib-std";
1
+ import { int, UUID } from "@opendaw/lib-std";
2
2
  import { Address, BooleanField, Field, Int32Field, PointerField, StringField } from "@opendaw/lib-box";
3
3
  import { AudioEffectCompositeBox, FrequencySplitBox, StereoCompositeBox } from "@opendaw/studio-boxes";
4
4
  import { Pointers } from "@opendaw/studio-enums";
@@ -14,6 +14,7 @@ export declare abstract class AudioCompositeAdapter implements AudioEffectDevice
14
14
  readonly type = "audio-effect";
15
15
  readonly accepts = "audio";
16
16
  abstract get entriesFixed(): boolean;
17
+ abstract entryLabelAt(index: int): string;
17
18
  abstract get manualUrl(): string;
18
19
  readonly namedParameter: {
19
20
  readonly dry: import("../../..").AutomatableParameterFieldAdapter<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"AudioCompositeAdapter.d.ts","sourceRoot":"","sources":["../../../../src/devices/audio-effects/AudioEffectComposite/AudioCompositeAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,IAAI,EAAe,MAAM,kBAAkB,CAAA;AACtF,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AACpG,OAAO,EAAC,uBAAuB,EAAE,iBAAiB,EAAE,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACpG,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,wBAAwB,EAAE,UAAU,EAAU,MAAM,wBAAwB,CAAA;AACpF,OAAO,EAAC,kBAAkB,EAAC,MAAM,mCAAmC,CAAA;AACpE,OAAO,EAAC,kBAAkB,EAAC,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAC,2BAA2B,EAAC,MAAM,sCAAsC,CAAA;AAEhF,OAAO,EAAC,mBAAmB,EAAC,MAAM,yCAAyC,CAAA;AAC3E,OAAO,EAAC,kCAAkC,EAAC,MAAM,sCAAsC,CAAA;AAKvF,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,GAAG,kBAAkB,GAAG,iBAAiB,CAAA;AAIhG,8BAAsB,qBAAsB,YAAW,wBAAwB;;IAC3E,QAAQ,CAAC,IAAI,kBAAiB;IAC9B,QAAQ,CAAC,OAAO,WAAU;IAI1B,QAAQ,KAAK,YAAY,IAAI,OAAO,CAAA;IACpC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAA;IAUhC,QAAQ,CAAC,cAAc;;;MAAA;IAEvB,SAAS,aAAa,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,iBAAiB;IAUzE,IAAI,GAAG,IAAI,iBAAiB,CAAmB;IAC/C,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,IAAI,OAAO,IAAI,2BAA2B,CAAC,kCAAkC,EAAE,QAAQ,CAAC,wBAAwB,CAAC,CAEhH;IAID,IAAI,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAyB;IAEpE,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAExC,mBAAmB,IAAI,QAAQ,CAAC,kBAAkB,CAAC;IAYrD,SAAS,IAAI,IAAI;CAUpB"}
1
+ {"version":3,"file":"AudioCompositeAdapter.d.ts","sourceRoot":"","sources":["../../../../src/devices/audio-effects/AudioEffectComposite/AudioCompositeAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAqC,IAAI,EAAe,MAAM,kBAAkB,CAAA;AAC3F,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AACpG,OAAO,EAAC,uBAAuB,EAAE,iBAAiB,EAAE,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACpG,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,wBAAwB,EAAE,UAAU,EAAU,MAAM,wBAAwB,CAAA;AACpF,OAAO,EAAC,kBAAkB,EAAC,MAAM,mCAAmC,CAAA;AACpE,OAAO,EAAC,kBAAkB,EAAC,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAC,2BAA2B,EAAC,MAAM,sCAAsC,CAAA;AAEhF,OAAO,EAAC,mBAAmB,EAAC,MAAM,yCAAyC,CAAA;AAC3E,OAAO,EAAC,kCAAkC,EAAC,MAAM,sCAAsC,CAAA;AAKvF,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,GAAG,kBAAkB,GAAG,iBAAiB,CAAA;AAIhG,8BAAsB,qBAAsB,YAAW,wBAAwB;;IAC3E,QAAQ,CAAC,IAAI,kBAAiB;IAC9B,QAAQ,CAAC,OAAO,WAAU;IAI1B,QAAQ,KAAK,YAAY,IAAI,OAAO,CAAA;IACpC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM;IACzC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAA;IAUhC,QAAQ,CAAC,cAAc;;;MAAA;IAEvB,SAAS,aAAa,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,iBAAiB;IAUzE,IAAI,GAAG,IAAI,iBAAiB,CAAmB;IAC/C,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,IAAI,OAAO,IAAI,2BAA2B,CAAC,kCAAkC,EAAE,QAAQ,CAAC,wBAAwB,CAAC,CAEhH;IAID,IAAI,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAyB;IAEpE,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAExC,mBAAmB,IAAI,QAAQ,CAAC,kBAAkB,CAAC;IAYrD,SAAS,IAAI,IAAI;CAUpB"}
@@ -1,17 +1,18 @@
1
1
  import { Pointers } from "@opendaw/studio-enums";
2
2
  import { AudioEffectCompositeCellBox } from "@opendaw/studio-boxes";
3
- import { int, Option, UUID } from "@opendaw/lib-std";
4
- import { Address, BooleanField, Field, Int32Field, StringField } from "@opendaw/lib-box";
5
- import { AudioEffectDeviceAdapter, DeviceHost, MidiEffectDeviceAdapter } from "../../../DeviceAdapter";
3
+ import { int, Option, Procedure, Subscription, UUID } from "@opendaw/lib-std";
4
+ import { Address, BooleanField, Field, Int32Field } from "@opendaw/lib-box";
5
+ import { AudioEffectDeviceAdapter, CompositeCell, DeviceHost, MidiEffectDeviceAdapter } from "../../../DeviceAdapter";
6
6
  import { LabeledAudioOutput } from "../../../LabeledAudioOutputsOwner";
7
7
  import { IndexedBoxAdapter, IndexedBoxAdapterCollection } from "../../../IndexedBoxAdapterCollection";
8
8
  import { BoxAdaptersContext } from "../../../BoxAdaptersContext";
9
9
  import { AudioUnitInputAdapter } from "../../../audio-unit/AudioUnitInputAdapter";
10
10
  import { AudioUnitBoxAdapter } from "../../../audio-unit/AudioUnitBoxAdapter";
11
11
  import { AudioCompositeAdapter } from "./AudioCompositeAdapter";
12
- export declare class AudioEffectCompositeCellBoxAdapter implements DeviceHost, IndexedBoxAdapter {
12
+ export declare class AudioEffectCompositeCellBoxAdapter implements CompositeCell, IndexedBoxAdapter {
13
13
  #private;
14
14
  readonly class = "device-host";
15
+ readonly cellKind = "audio-effect";
15
16
  readonly namedParameter: {
16
17
  readonly gain: import("../../..").AutomatableParameterFieldAdapter<number>;
17
18
  readonly pan: import("../../..").AutomatableParameterFieldAdapter<number>;
@@ -23,7 +24,6 @@ export declare class AudioEffectCompositeCellBoxAdapter implements DeviceHost, I
23
24
  get uuid(): UUID.Bytes;
24
25
  get address(): Address;
25
26
  get indexField(): Int32Field;
26
- get labelField(): StringField;
27
27
  get minimizedField(): BooleanField;
28
28
  get label(): string;
29
29
  get audioEffects(): Option<IndexedBoxAdapterCollection<AudioEffectDeviceAdapter, Pointers.AudioEffectHost>>;
@@ -37,6 +37,9 @@ export declare class AudioEffectCompositeCellBoxAdapter implements DeviceHost, I
37
37
  get tracksField(): Field<Pointers.TrackCollection>;
38
38
  compositeDevice(): AudioCompositeAdapter;
39
39
  deviceHost(): DeviceHost;
40
+ asCompositeCell(): Option<CompositeCell>;
41
+ siblings(): ReadonlyArray<CompositeCell>;
42
+ subscribeSiblings(observer: Procedure<ReadonlyArray<CompositeCell>>): Subscription;
40
43
  audioUnitBoxAdapter(): AudioUnitBoxAdapter;
41
44
  labeledAudioOutputs(): Iterable<LabeledAudioOutput>;
42
45
  terminate(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"AudioEffectCompositeCellBoxAdapter.d.ts","sourceRoot":"","sources":["../../../../src/devices/audio-effects/AudioEffectComposite/AudioEffectCompositeCellBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,2BAA2B,EAAC,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAC,GAAG,EAAE,MAAM,EAA6B,IAAI,EAAe,MAAM,kBAAkB,CAAA;AAC3F,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AACtF,OAAO,EACH,wBAAwB,EACxB,UAAU,EAEV,uBAAuB,EAC1B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAC,kBAAkB,EAAC,MAAM,mCAAmC,CAAA;AACpE,OAAO,EAAC,iBAAiB,EAAE,2BAA2B,EAAC,MAAM,sCAAsC,CAAA;AACnG,OAAO,EAAC,kBAAkB,EAAC,MAAM,6BAA6B,CAAA;AAE9D,OAAO,EAAC,qBAAqB,EAAC,MAAM,2CAA2C,CAAA;AAC/E,OAAO,EAAC,mBAAmB,EAAC,MAAM,yCAAyC,CAAA;AAC3E,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAA;AAM7D,qBAAa,kCAAmC,YAAW,UAAU,EAAE,iBAAiB;;IACpF,QAAQ,CAAC,KAAK,iBAAgB;IAU9B,QAAQ,CAAC,cAAc;;;;;MAAA;gBAEX,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,2BAA2B;IASzE,IAAI,GAAG,IAAI,2BAA2B,CAAmB;IACzD,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,cAAc,IAAI,YAAY,CAA6B;IAC/D,IAAI,KAAK,IAAI,MAAM,CAAoC;IAGvD,IAAI,YAAY,IAAI,MAAM,CAAC,2BAA2B,CAAC,wBAAwB,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,CAE1G;IACD,IAAI,WAAW,IAAI,MAAM,CAAC,2BAA2B,CAAC,uBAAuB,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAEvG;IACD,IAAI,iBAAiB,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAA6C;IAC7G,IAAI,gBAAgB,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAqB;IACnF,IAAI,YAAY,IAAI,MAAM,CAAC,qBAAqB,CAAC,CAAqB;IACtE,IAAI,eAAe,IAAI,OAAO,CAAe;IAC7C,IAAI,WAAW,IAAI,OAAO,CAAe;IAEzC,IAAI,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,GAAG,QAAQ,CAAC,WAAW,CAAC,CAEtE;IACD,IAAI,WAAW,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAA+C;IAGjG,eAAe,IAAI,qBAAqB;IAOxC,UAAU,IAAI,UAAU;IACxB,mBAAmB,IAAI,mBAAmB;IAExC,mBAAmB,IAAI,QAAQ,CAAC,kBAAkB,CAAC;IAOrD,SAAS,IAAI,IAAI;IAEjB,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;CAqBhC"}
1
+ {"version":3,"file":"AudioEffectCompositeCellBoxAdapter.d.ts","sourceRoot":"","sources":["../../../../src/devices/audio-effects/AudioEffectComposite/AudioEffectCompositeCellBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,2BAA2B,EAAC,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAiB,YAAY,EAAc,IAAI,EAAe,MAAM,kBAAkB,CAAA;AACpH,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAc,MAAM,kBAAkB,CAAA;AACtF,OAAO,EACH,wBAAwB,EACxB,aAAa,EACb,UAAU,EAEV,uBAAuB,EAC1B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAC,kBAAkB,EAAC,MAAM,mCAAmC,CAAA;AACpE,OAAO,EAAC,iBAAiB,EAAE,2BAA2B,EAAC,MAAM,sCAAsC,CAAA;AACnG,OAAO,EAAC,kBAAkB,EAAC,MAAM,6BAA6B,CAAA;AAE9D,OAAO,EAAC,qBAAqB,EAAC,MAAM,2CAA2C,CAAA;AAC/E,OAAO,EAAC,mBAAmB,EAAC,MAAM,yCAAyC,CAAA;AAC3E,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAA;AAM7D,qBAAa,kCAAmC,YAAW,aAAa,EAAE,iBAAiB;;IACvF,QAAQ,CAAC,KAAK,iBAAgB;IAC9B,QAAQ,CAAC,QAAQ,kBAAiB;IAUlC,QAAQ,CAAC,cAAc;;;;;MAAA;gBAEX,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,2BAA2B;IASzE,IAAI,GAAG,IAAI,2BAA2B,CAAmB;IACzD,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAgC;IACtD,IAAI,OAAO,IAAI,OAAO,CAA2B;IACjD,IAAI,UAAU,IAAI,UAAU,CAAyB;IACrD,IAAI,cAAc,IAAI,YAAY,CAA6B;IAC/D,IAAI,KAAK,IAAI,MAAM,CAAyE;IAG5F,IAAI,YAAY,IAAI,MAAM,CAAC,2BAA2B,CAAC,wBAAwB,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,CAE1G;IACD,IAAI,WAAW,IAAI,MAAM,CAAC,2BAA2B,CAAC,uBAAuB,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAEvG;IACD,IAAI,iBAAiB,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAA6C;IAC7G,IAAI,gBAAgB,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAqB;IACnF,IAAI,YAAY,IAAI,MAAM,CAAC,qBAAqB,CAAC,CAAqB;IACtE,IAAI,eAAe,IAAI,OAAO,CAAe;IAC7C,IAAI,WAAW,IAAI,OAAO,CAAe;IAEzC,IAAI,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,GAAG,QAAQ,CAAC,WAAW,CAAC,CAEtE;IACD,IAAI,WAAW,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAA+C;IAGjG,eAAe,IAAI,qBAAqB;IAOxC,UAAU,IAAI,UAAU;IACxB,eAAe,IAAI,MAAM,CAAC,aAAa,CAAC;IACxC,QAAQ,IAAI,aAAa,CAAC,aAAa,CAAC;IACxC,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,GAAG,YAAY;IAKlF,mBAAmB,IAAI,mBAAmB;IAExC,mBAAmB,IAAI,QAAQ,CAAC,kBAAkB,CAAC;IAOrD,SAAS,IAAI,IAAI;IAEjB,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;CAoBhC"}
@@ -25,6 +25,7 @@ export class AudioEffectCompositeCellBoxAdapter {
25
25
  constructor(context, box) {
26
26
  _AudioEffectCompositeCellBoxAdapter_instances.add(this);
27
27
  this.class = "device-host";
28
+ this.cellKind = "audio-effect";
28
29
  _AudioEffectCompositeCellBoxAdapter_terminator.set(this, new Terminator());
29
30
  _AudioEffectCompositeCellBoxAdapter_context.set(this, void 0);
30
31
  _AudioEffectCompositeCellBoxAdapter_box.set(this, void 0);
@@ -40,9 +41,8 @@ export class AudioEffectCompositeCellBoxAdapter {
40
41
  get uuid() { return __classPrivateFieldGet(this, _AudioEffectCompositeCellBoxAdapter_box, "f").address.uuid; }
41
42
  get address() { return __classPrivateFieldGet(this, _AudioEffectCompositeCellBoxAdapter_box, "f").address; }
42
43
  get indexField() { return __classPrivateFieldGet(this, _AudioEffectCompositeCellBoxAdapter_box, "f").index; }
43
- get labelField() { return __classPrivateFieldGet(this, _AudioEffectCompositeCellBoxAdapter_box, "f").label; }
44
44
  get minimizedField() { return __classPrivateFieldGet(this, _AudioEffectCompositeCellBoxAdapter_box, "f").minimized; }
45
- get label() { return __classPrivateFieldGet(this, _AudioEffectCompositeCellBoxAdapter_box, "f").label.getValue(); }
45
+ get label() { return this.compositeDevice().entryLabelAt(__classPrivateFieldGet(this, _AudioEffectCompositeCellBoxAdapter_box, "f").index.getValue()); }
46
46
  // An audio entry hosts an audio chain only: no midi chain, and no instrument to head it.
47
47
  get audioEffects() {
48
48
  return Option.wrap(__classPrivateFieldGet(this, _AudioEffectCompositeCellBoxAdapter_audioEffects, "f"));
@@ -67,6 +67,13 @@ export class AudioEffectCompositeCellBoxAdapter {
67
67
  // The host the OWNING COMPOSITE lives in — where the panel returns to when leaving this entry. NOT the
68
68
  // composite itself (see `compositeDevice`): an entry's host is where its composite sits in a chain.
69
69
  deviceHost() { return this.compositeDevice().deviceHost(); }
70
+ asCompositeCell() { return Option.wrap(this); }
71
+ siblings() { return this.compositeDevice().entries.adapters(); }
72
+ subscribeSiblings(observer) {
73
+ const { entries } = this.compositeDevice();
74
+ const notify = () => observer(entries.adapters());
75
+ return entries.subscribe({ onAdd: notify, onRemove: notify, onReorder: notify });
76
+ }
70
77
  audioUnitBoxAdapter() { return this.deviceHost().audioUnitBoxAdapter(); }
71
78
  *labeledAudioOutputs() {
72
79
  yield { address: this.address, label: this.label, children: () => Option.None };
@@ -79,7 +86,6 @@ export class AudioEffectCompositeCellBoxAdapter {
79
86
  AudioEffectCompositeCellBox.create(__classPrivateFieldGet(this, _AudioEffectCompositeCellBoxAdapter_box, "f").graph, UUID.generate(), box => {
80
87
  box.composite.refer(__classPrivateFieldGet(this, _AudioEffectCompositeCellBoxAdapter_box, "f").composite.targetVertex.unwrap("composite.target"));
81
88
  box.index.setValue(index);
82
- box.label.setValue(__classPrivateFieldGet(this, _AudioEffectCompositeCellBoxAdapter_box, "f").label.getValue());
83
89
  box.gain.setValue(__classPrivateFieldGet(this, _AudioEffectCompositeCellBoxAdapter_box, "f").gain.getValue());
84
90
  box.pan.setValue(__classPrivateFieldGet(this, _AudioEffectCompositeCellBoxAdapter_box, "f").pan.getValue());
85
91
  box.mute.setValue(__classPrivateFieldGet(this, _AudioEffectCompositeCellBoxAdapter_box, "f").mute.getValue());
@@ -1,9 +1,11 @@
1
+ import { int } from "@opendaw/lib-std";
1
2
  import { AudioEffectCompositeBox } from "@opendaw/studio-boxes";
2
3
  import { BoxAdaptersContext } from "../../BoxAdaptersContext";
3
4
  import { AudioCompositeAdapter } from "./AudioEffectComposite/AudioCompositeAdapter";
4
5
  export declare class AudioEffectCompositeBoxAdapter extends AudioCompositeAdapter {
5
6
  constructor(context: BoxAdaptersContext, box: AudioEffectCompositeBox);
6
7
  get entriesFixed(): boolean;
8
+ entryLabelAt(index: int): string;
7
9
  get manualUrl(): string;
8
10
  }
9
11
  //# sourceMappingURL=AudioEffectCompositeBoxAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AudioEffectCompositeBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/audio-effects/AudioEffectCompositeBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,uBAAuB,EAAC,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAE3D,OAAO,EAAC,qBAAqB,EAAC,MAAM,8CAA8C,CAAA;AAIlF,qBAAa,8BAA+B,SAAQ,qBAAqB;gBACzD,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,uBAAuB;IAIrE,IAAI,YAAY,IAAI,OAAO,CAAe;IAC1C,IAAI,SAAS,IAAI,MAAM,CAA+C;CACzE"}
1
+ {"version":3,"file":"AudioEffectCompositeBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/audio-effects/AudioEffectCompositeBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,kBAAkB,CAAA;AACpC,OAAO,EAAC,uBAAuB,EAAC,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAE3D,OAAO,EAAC,qBAAqB,EAAC,MAAM,8CAA8C,CAAA;AAIlF,qBAAa,8BAA+B,SAAQ,qBAAqB;gBACzD,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,uBAAuB;IAIrE,IAAI,YAAY,IAAI,OAAO,CAAe;IAC1C,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM;IAChC,IAAI,SAAS,IAAI,MAAM,CAA+C;CACzE"}
@@ -7,5 +7,6 @@ export class AudioEffectCompositeBoxAdapter extends AudioCompositeAdapter {
7
7
  super(context, box);
8
8
  }
9
9
  get entriesFixed() { return false; }
10
+ entryLabelAt(index) { return `Entry ${index + 1}`; }
10
11
  get manualUrl() { return DeviceManualUrls.AudioEffectComposite; }
11
12
  }
@@ -0,0 +1,33 @@
1
+ import { UUID } from "@opendaw/lib-std";
2
+ import { Address, BooleanField, Int32Field, PointerField, StringField } from "@opendaw/lib-box";
3
+ import { AudioSinkDeviceBox } from "@opendaw/studio-boxes";
4
+ import { Pointers } from "@opendaw/studio-enums";
5
+ import { AudioEffectDeviceAdapter, DeviceHost } from "../../DeviceAdapter";
6
+ import { LabeledAudioOutput } from "../../LabeledAudioOutputsOwner";
7
+ import { BoxAdaptersContext } from "../../BoxAdaptersContext";
8
+ import { AudioUnitBoxAdapter } from "../../audio-unit/AudioUnitBoxAdapter";
9
+ import { AudioUnitOutput } from "../../audio-unit/AudioUnitOutput";
10
+ export declare class AudioSinkDeviceBoxAdapter implements AudioEffectDeviceAdapter {
11
+ #private;
12
+ readonly type = "audio-effect";
13
+ readonly accepts = "audio";
14
+ readonly manualUrl = "manuals/devices/audio/sink";
15
+ readonly namedParameter: {
16
+ readonly pass: import("../..").AutomatableParameterFieldAdapter<number>;
17
+ };
18
+ constructor(context: BoxAdaptersContext, box: AudioSinkDeviceBox);
19
+ get box(): AudioSinkDeviceBox;
20
+ get uuid(): UUID.Bytes;
21
+ get address(): Address;
22
+ get indexField(): Int32Field;
23
+ get labelField(): StringField;
24
+ get enabledField(): BooleanField;
25
+ get minimizedField(): BooleanField;
26
+ get host(): PointerField<Pointers.AudioEffectHost>;
27
+ get targetBus(): AudioUnitOutput;
28
+ deviceHost(): DeviceHost;
29
+ audioUnitBoxAdapter(): AudioUnitBoxAdapter;
30
+ labeledAudioOutputs(): Iterable<LabeledAudioOutput>;
31
+ terminate(): void;
32
+ }
33
+ //# sourceMappingURL=AudioSinkDeviceBoxAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AudioSinkDeviceBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/audio-effects/AudioSinkDeviceBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,IAAI,EAAe,MAAM,kBAAkB,CAAA;AAC1E,OAAO,EAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAA;AAC7F,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAC,wBAAwB,EAAE,UAAU,EAAU,MAAM,qBAAqB,CAAA;AACjF,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAG3D,OAAO,EAAC,mBAAmB,EAAC,MAAM,sCAAsC,CAAA;AACxE,OAAO,EAAC,eAAe,EAAC,MAAM,kCAAkC,CAAA;AAEhE,qBAAa,yBAA0B,YAAW,wBAAwB;;IACtE,QAAQ,CAAC,IAAI,kBAAiB;IAC9B,QAAQ,CAAC,OAAO,WAAU;IAC1B,QAAQ,CAAC,SAAS,gCAAwB;IAO1C,QAAQ,CAAC,cAAc;;MAAA;gBAEX,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,kBAAkB;IAQhE,IAAI,GAAG,IAAI,kBAAkB,CAAmB;IAChD,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;IAC1E,IAAI,SAAS,IAAI,eAAe,CAAyB;IAEzD,UAAU,IAAI,UAAU;IAKxB,mBAAmB,IAAI,mBAAmB;IAEzC,mBAAmB,IAAI,QAAQ,CAAC,kBAAkB,CAAC;IAIpD,SAAS,IAAI,IAAI;CAWpB"}
@@ -0,0 +1,60 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _AudioSinkDeviceBoxAdapter_instances, _AudioSinkDeviceBoxAdapter_context, _AudioSinkDeviceBoxAdapter_box, _AudioSinkDeviceBoxAdapter_parametric, _AudioSinkDeviceBoxAdapter_targetBus, _AudioSinkDeviceBoxAdapter_wrapParameters;
13
+ import { Option, StringMapping, ValueMapping } from "@opendaw/lib-std";
14
+ import { Devices } from "../../DeviceAdapter";
15
+ import { DeviceManualUrls } from "../../DeviceManualUrls";
16
+ import { ParameterAdapterSet } from "../../ParameterAdapterSet";
17
+ import { AudioUnitOutput } from "../../audio-unit/AudioUnitOutput";
18
+ export class AudioSinkDeviceBoxAdapter {
19
+ constructor(context, box) {
20
+ _AudioSinkDeviceBoxAdapter_instances.add(this);
21
+ this.type = "audio-effect";
22
+ this.accepts = "audio";
23
+ this.manualUrl = DeviceManualUrls.Sink;
24
+ _AudioSinkDeviceBoxAdapter_context.set(this, void 0);
25
+ _AudioSinkDeviceBoxAdapter_box.set(this, void 0);
26
+ _AudioSinkDeviceBoxAdapter_parametric.set(this, void 0);
27
+ _AudioSinkDeviceBoxAdapter_targetBus.set(this, void 0);
28
+ __classPrivateFieldSet(this, _AudioSinkDeviceBoxAdapter_context, context, "f");
29
+ __classPrivateFieldSet(this, _AudioSinkDeviceBoxAdapter_box, box, "f");
30
+ __classPrivateFieldSet(this, _AudioSinkDeviceBoxAdapter_parametric, new ParameterAdapterSet(__classPrivateFieldGet(this, _AudioSinkDeviceBoxAdapter_context, "f")), "f");
31
+ __classPrivateFieldSet(this, _AudioSinkDeviceBoxAdapter_targetBus, new AudioUnitOutput(box.targetBus, __classPrivateFieldGet(this, _AudioSinkDeviceBoxAdapter_context, "f").boxAdapters), "f");
32
+ this.namedParameter = __classPrivateFieldGet(this, _AudioSinkDeviceBoxAdapter_instances, "m", _AudioSinkDeviceBoxAdapter_wrapParameters).call(this, box);
33
+ }
34
+ get box() { return __classPrivateFieldGet(this, _AudioSinkDeviceBoxAdapter_box, "f"); }
35
+ get uuid() { return __classPrivateFieldGet(this, _AudioSinkDeviceBoxAdapter_box, "f").address.uuid; }
36
+ get address() { return __classPrivateFieldGet(this, _AudioSinkDeviceBoxAdapter_box, "f").address; }
37
+ get indexField() { return __classPrivateFieldGet(this, _AudioSinkDeviceBoxAdapter_box, "f").index; }
38
+ get labelField() { return __classPrivateFieldGet(this, _AudioSinkDeviceBoxAdapter_box, "f").label; }
39
+ get enabledField() { return __classPrivateFieldGet(this, _AudioSinkDeviceBoxAdapter_box, "f").enabled; }
40
+ get minimizedField() { return __classPrivateFieldGet(this, _AudioSinkDeviceBoxAdapter_box, "f").minimized; }
41
+ get host() { return __classPrivateFieldGet(this, _AudioSinkDeviceBoxAdapter_box, "f").host; }
42
+ get targetBus() { return __classPrivateFieldGet(this, _AudioSinkDeviceBoxAdapter_targetBus, "f"); }
43
+ deviceHost() {
44
+ return __classPrivateFieldGet(this, _AudioSinkDeviceBoxAdapter_context, "f").boxAdapters
45
+ .adapterFor(__classPrivateFieldGet(this, _AudioSinkDeviceBoxAdapter_box, "f").host.targetVertex.unwrap("no device-host").box, Devices.isHost);
46
+ }
47
+ audioUnitBoxAdapter() { return this.deviceHost().audioUnitBoxAdapter(); }
48
+ *labeledAudioOutputs() {
49
+ yield { address: this.address, label: this.labelField.getValue(), children: () => Option.None };
50
+ }
51
+ terminate() {
52
+ __classPrivateFieldGet(this, _AudioSinkDeviceBoxAdapter_parametric, "f").terminate();
53
+ __classPrivateFieldGet(this, _AudioSinkDeviceBoxAdapter_targetBus, "f").terminate();
54
+ }
55
+ }
56
+ _AudioSinkDeviceBoxAdapter_context = new WeakMap(), _AudioSinkDeviceBoxAdapter_box = new WeakMap(), _AudioSinkDeviceBoxAdapter_parametric = new WeakMap(), _AudioSinkDeviceBoxAdapter_targetBus = new WeakMap(), _AudioSinkDeviceBoxAdapter_instances = new WeakSet(), _AudioSinkDeviceBoxAdapter_wrapParameters = function _AudioSinkDeviceBoxAdapter_wrapParameters(box) {
57
+ return {
58
+ pass: __classPrivateFieldGet(this, _AudioSinkDeviceBoxAdapter_parametric, "f").createParameter(box.pass, ValueMapping.DefaultDecibel, StringMapping.numeric({ unit: "dB", fractionDigits: 1 }), "Pass Through")
59
+ };
60
+ };
@@ -53,6 +53,6 @@ _CrusherDeviceBoxAdapter_context = new WeakMap(), _CrusherDeviceBoxAdapter_box =
53
53
  crush: __classPrivateFieldGet(this, _CrusherDeviceBoxAdapter_parametric, "f").createParameter(box.crush, ValueMapping.unipolar(), StringMapping.percent(), "Crush"),
54
54
  bits: __classPrivateFieldGet(this, _CrusherDeviceBoxAdapter_parametric, "f").createParameter(box.bits, ValueMapping.linearInteger(1, 16), StringMapping.numeric(), "Bits"),
55
55
  boost: __classPrivateFieldGet(this, _CrusherDeviceBoxAdapter_parametric, "f").createParameter(box.boost, ValueMapping.linear(0.0, 24.0), StringMapping.decible, "Boost"),
56
- mix: __classPrivateFieldGet(this, _CrusherDeviceBoxAdapter_parametric, "f").createParameter(box.mix, ValueMapping.exponential(0.001, 1.0), StringMapping.percent(), "Mix")
56
+ mix: __classPrivateFieldGet(this, _CrusherDeviceBoxAdapter_parametric, "f").createParameter(box.mix, ValueMapping.unipolar(), StringMapping.percent(), "Mix")
57
57
  };
58
58
  };
@@ -1,3 +1,4 @@
1
+ import { int } from "@opendaw/lib-std";
1
2
  import { Address } from "@opendaw/lib-box";
2
3
  import { FrequencySplitBox } from "@opendaw/studio-boxes";
3
4
  import { BoxAdaptersContext } from "../../BoxAdaptersContext";
@@ -6,11 +7,13 @@ import { AutomatableParameterFieldAdapter } from "../../AutomatableParameterFiel
6
7
  export declare class FrequencySplitBoxAdapter extends AudioCompositeAdapter {
7
8
  #private;
8
9
  static readonly MAX_BANDS = 4;
10
+ static readonly BAND_LABELS: Readonly<Record<number, ReadonlyArray<string>>>;
9
11
  readonly crossover: ReadonlyArray<AutomatableParameterFieldAdapter<number>>;
10
12
  constructor(context: BoxAdaptersContext, box: FrequencySplitBox);
11
13
  get crossoverCount(): number;
12
14
  get spectrum(): Address;
13
15
  get entriesFixed(): boolean;
16
+ entryLabelAt(index: int): string;
14
17
  get manualUrl(): string;
15
18
  }
16
19
  //# sourceMappingURL=FrequencySplitBoxAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FrequencySplitBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/audio-effects/FrequencySplitBoxAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAE3D,OAAO,EAAC,qBAAqB,EAAC,MAAM,8CAA8C,CAAA;AAElF,OAAO,EAAC,gCAAgC,EAAC,MAAM,wCAAwC,CAAA;AAKvF,qBAAa,wBAAyB,SAAQ,qBAAqB;;IAC/D,MAAM,CAAC,QAAQ,CAAC,SAAS,KAAI;IAG7B,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC,CAAA;gBAE/D,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,iBAAiB;IAU/D,IAAI,cAAc,IAAI,MAAM,CAAyD;IAErF,IAAI,QAAQ,IAAI,OAAO,CAAoC;IAE3D,IAAI,YAAY,IAAI,OAAO,CAAc;IACzC,IAAI,SAAS,IAAI,MAAM,CAAyC;CACnE"}
1
+ {"version":3,"file":"FrequencySplitBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/audio-effects/FrequencySplitBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAA8B,MAAM,kBAAkB,CAAA;AACjE,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAE3D,OAAO,EAAC,qBAAqB,EAAC,MAAM,8CAA8C,CAAA;AAElF,OAAO,EAAC,gCAAgC,EAAC,MAAM,wCAAwC,CAAA;AAKvF,qBAAa,wBAAyB,SAAQ,qBAAqB;;IAC/D,MAAM,CAAC,QAAQ,CAAC,SAAS,KAAI;IAC7B,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAI3E;IAGD,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC,CAAA;gBAE/D,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,iBAAiB;IAU/D,IAAI,cAAc,IAAI,MAAM,CAAyD;IAErF,IAAI,QAAQ,IAAI,OAAO,CAAoC;IAE3D,IAAI,YAAY,IAAI,OAAO,CAAc;IACzC,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM;IAGhC,IAAI,SAAS,IAAI,MAAM,CAAyC;CACnE"}
@@ -30,7 +30,15 @@ export class FrequencySplitBoxAdapter extends AudioCompositeAdapter {
30
30
  get crossoverCount() { return Math.max(0, this.entries.adapters().length - 1); }
31
31
  get spectrum() { return this.address.append(0xFFF); }
32
32
  get entriesFixed() { return true; }
33
+ entryLabelAt(index) {
34
+ return FrequencySplitBoxAdapter.BAND_LABELS[this.entries.adapters().length]?.at(index) ?? `Band ${index + 1}`;
35
+ }
33
36
  get manualUrl() { return DeviceManualUrls.FrequencySplit; }
34
37
  }
35
38
  _FrequencySplitBoxAdapter_crossoverParametric = new WeakMap();
36
39
  FrequencySplitBoxAdapter.MAX_BANDS = 4;
40
+ FrequencySplitBoxAdapter.BAND_LABELS = {
41
+ 2: ["Low", "High"],
42
+ 3: ["Low", "Mid", "High"],
43
+ 4: ["Low", "Low Mid", "High Mid", "High"]
44
+ };
@@ -1,9 +1,11 @@
1
+ import { int } from "@opendaw/lib-std";
1
2
  import { StereoCompositeBox } from "@opendaw/studio-boxes";
2
3
  import { BoxAdaptersContext } from "../../BoxAdaptersContext";
3
4
  import { AudioCompositeAdapter } from "./AudioEffectComposite/AudioCompositeAdapter";
4
5
  export declare class StereoCompositeBoxAdapter extends AudioCompositeAdapter {
5
6
  constructor(context: BoxAdaptersContext, box: StereoCompositeBox);
6
7
  get entriesFixed(): boolean;
8
+ entryLabelAt(index: int): string;
7
9
  get manualUrl(): string;
8
10
  }
9
11
  //# sourceMappingURL=StereoCompositeBoxAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StereoCompositeBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/audio-effects/StereoCompositeBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAE3D,OAAO,EAAC,qBAAqB,EAAC,MAAM,8CAA8C,CAAA;AAKlF,qBAAa,yBAA0B,SAAQ,qBAAqB;gBACpD,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,kBAAkB;IAIhE,IAAI,YAAY,IAAI,OAAO,CAAc;IACzC,IAAI,SAAS,IAAI,MAAM,CAA0C;CACpE"}
1
+ {"version":3,"file":"StereoCompositeBoxAdapter.d.ts","sourceRoot":"","sources":["../../../src/devices/audio-effects/StereoCompositeBoxAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,kBAAkB,CAAA;AACpC,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAE3D,OAAO,EAAC,qBAAqB,EAAC,MAAM,8CAA8C,CAAA;AAKlF,qBAAa,yBAA0B,SAAQ,qBAAqB;gBACpD,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,kBAAkB;IAIhE,IAAI,YAAY,IAAI,OAAO,CAAc;IACzC,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM;IAChC,IAAI,SAAS,IAAI,MAAM,CAA0C;CACpE"}
@@ -8,5 +8,6 @@ export class StereoCompositeBoxAdapter extends AudioCompositeAdapter {
8
8
  super(context, box);
9
9
  }
10
10
  get entriesFixed() { return true; }
11
+ entryLabelAt(index) { return index === 0 ? "L" : "R"; }
11
12
  get manualUrl() { return DeviceManualUrls.StereoComposite; }
12
13
  }