@opendaw/studio-adapters 0.0.47 → 0.0.49

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 (175) hide show
  1. package/dist/AutomatableParameterFieldAdapter.js +86 -73
  2. package/dist/BoxAdapterCollection.js +30 -17
  3. package/dist/BoxAdapters.d.ts.map +1 -1
  4. package/dist/BoxAdapters.js +87 -72
  5. package/dist/BoxAdaptersContext.d.ts +2 -2
  6. package/dist/BoxAdaptersContext.d.ts.map +1 -1
  7. package/dist/EngineProcessorAttachment.d.ts +2 -1
  8. package/dist/EngineProcessorAttachment.d.ts.map +1 -1
  9. package/dist/FieldAdapter.js +45 -32
  10. package/dist/IndexedBoxAdapterCollection.js +45 -32
  11. package/dist/NoteBroadcaster.js +25 -12
  12. package/dist/NoteStreamReceiver.js +29 -16
  13. package/dist/ParameterAdapterSet.js +24 -11
  14. package/dist/ParameterFieldAdapters.js +19 -6
  15. package/dist/Parsing.d.ts +5 -0
  16. package/dist/Parsing.d.ts.map +1 -0
  17. package/dist/Parsing.js +10 -0
  18. package/dist/PianoModeAdapter.js +32 -19
  19. package/dist/RootBoxAdapter.d.ts +2 -1
  20. package/dist/RootBoxAdapter.d.ts.map +1 -1
  21. package/dist/RootBoxAdapter.js +41 -23
  22. package/dist/Validator.d.ts +10 -0
  23. package/dist/Validator.d.ts.map +1 -0
  24. package/dist/Validator.js +35 -0
  25. package/dist/audio/AudioFileBoxAdapter.js +23 -10
  26. package/dist/audio-unit/AudioBusBoxAdapter.d.ts +1 -1
  27. package/dist/audio-unit/AudioBusBoxAdapter.d.ts.map +1 -1
  28. package/dist/audio-unit/AudioBusBoxAdapter.js +31 -18
  29. package/dist/audio-unit/AudioUnitBoxAdapter.js +74 -63
  30. package/dist/audio-unit/AudioUnitInput.d.ts +1 -1
  31. package/dist/audio-unit/AudioUnitInput.d.ts.map +1 -1
  32. package/dist/audio-unit/AudioUnitInput.js +43 -30
  33. package/dist/audio-unit/AudioUnitOutput.js +33 -20
  34. package/dist/audio-unit/AudioUnitTracks.js +39 -26
  35. package/dist/audio-unit/AuxSendBoxAdapter.js +47 -34
  36. package/dist/devices/audio-effects/CompressorDeviceBoxAdapter.js +49 -37
  37. package/dist/devices/audio-effects/CrusherDeviceBoxAdapter.js +41 -29
  38. package/dist/devices/audio-effects/DelayDeviceBoxAdapter.js +51 -39
  39. package/dist/devices/audio-effects/FoldDeviceBoxAdapter.js +39 -27
  40. package/dist/devices/audio-effects/ModularDeviceBoxAdapter.js +33 -20
  41. package/dist/devices/audio-effects/RevampDeviceBoxAdapter.js +46 -34
  42. package/dist/devices/audio-effects/ReverbDeviceBoxAdapter.js +45 -33
  43. package/dist/devices/audio-effects/StereoToolDeviceBoxAdapter.js +43 -31
  44. package/dist/devices/audio-effects/TidalDeviceBoxAdapter.d.ts +36 -0
  45. package/dist/devices/audio-effects/TidalDeviceBoxAdapter.d.ts.map +1 -0
  46. package/dist/devices/audio-effects/TidalDeviceBoxAdapter.js +63 -0
  47. package/dist/devices/audio-effects/UnknownAudioEffectDeviceBoxAdapter.js +30 -17
  48. package/dist/devices/instruments/MIDIOutputDeviceBoxAdapter.d.ts +3 -2
  49. package/dist/devices/instruments/MIDIOutputDeviceBoxAdapter.d.ts.map +1 -1
  50. package/dist/devices/instruments/MIDIOutputDeviceBoxAdapter.js +45 -26
  51. package/dist/devices/instruments/NanoDeviceBoxAdapter.js +38 -26
  52. package/dist/devices/instruments/Playfield/PlayfieldSampleBoxAdapter.js +101 -89
  53. package/dist/devices/instruments/PlayfieldDeviceBoxAdapter.d.ts +0 -1
  54. package/dist/devices/instruments/PlayfieldDeviceBoxAdapter.d.ts.map +1 -1
  55. package/dist/devices/instruments/PlayfieldDeviceBoxAdapter.js +36 -24
  56. package/dist/devices/instruments/SoundfontDeviceBoxAdapter.js +84 -72
  57. package/dist/devices/instruments/TapeDeviceBoxAdapter.js +40 -28
  58. package/dist/devices/instruments/VaporisateurDeviceBoxAdapter.d.ts +26 -4
  59. package/dist/devices/instruments/VaporisateurDeviceBoxAdapter.d.ts.map +1 -1
  60. package/dist/devices/instruments/VaporisateurDeviceBoxAdapter.js +70 -33
  61. package/dist/devices/instruments/VaporisateurSettings.d.ts +17 -0
  62. package/dist/devices/instruments/VaporisateurSettings.d.ts.map +1 -0
  63. package/dist/devices/instruments/VaporisateurSettings.js +24 -0
  64. package/dist/devices/midi-effects/ArpeggioDeviceBoxAdapter.js +51 -39
  65. package/dist/devices/midi-effects/PitchDeviceBoxAdapter.js +40 -28
  66. package/dist/devices/midi-effects/UnknownMidiEffectDeviceBoxAdapter.js +30 -17
  67. package/dist/devices/midi-effects/VelocityDeviceBoxAdapter.js +47 -35
  68. package/dist/devices/midi-effects/ZeitgeistDeviceBoxAdapter.js +32 -19
  69. package/dist/editing/UserEditing.js +33 -20
  70. package/dist/editing/UserEditingManager.js +28 -15
  71. package/dist/factories/AudioBusFactory.d.ts +7 -0
  72. package/dist/factories/AudioBusFactory.d.ts.map +1 -0
  73. package/dist/factories/AudioBusFactory.js +29 -0
  74. package/dist/factories/AudioUnitFactory.d.ts +13 -0
  75. package/dist/factories/AudioUnitFactory.d.ts.map +1 -0
  76. package/dist/factories/AudioUnitFactory.js +44 -0
  77. package/dist/factories/AudioUnitOrdering.d.ts +3 -0
  78. package/dist/factories/AudioUnitOrdering.d.ts.map +1 -0
  79. package/dist/factories/AudioUnitOrdering.js +7 -0
  80. package/dist/factories/ColorCodes.d.ts +7 -0
  81. package/dist/factories/ColorCodes.d.ts.map +1 -0
  82. package/dist/factories/ColorCodes.js +32 -0
  83. package/dist/factories/Colors.d.ts +15 -0
  84. package/dist/factories/Colors.d.ts.map +1 -0
  85. package/dist/factories/Colors.js +23 -0
  86. package/dist/factories/InstrumentBox.d.ts +3 -0
  87. package/dist/factories/InstrumentBox.d.ts.map +1 -0
  88. package/dist/factories/InstrumentBox.js +1 -0
  89. package/dist/factories/InstrumentFactories.d.ts +34 -0
  90. package/dist/factories/InstrumentFactories.d.ts.map +1 -0
  91. package/dist/factories/InstrumentFactories.js +137 -0
  92. package/dist/factories/InstrumentFactory.d.ts +13 -0
  93. package/dist/factories/InstrumentFactory.d.ts.map +1 -0
  94. package/dist/factories/InstrumentFactory.js +1 -0
  95. package/dist/factories/InstrumentOptions.d.ts +9 -0
  96. package/dist/factories/InstrumentOptions.d.ts.map +1 -0
  97. package/dist/factories/InstrumentOptions.js +1 -0
  98. package/dist/factories/InstrumentProduct.d.ts +8 -0
  99. package/dist/factories/InstrumentProduct.d.ts.map +1 -0
  100. package/dist/factories/InstrumentProduct.js +1 -0
  101. package/dist/grooves/GrooveShuffleBoxAdapter.js +47 -35
  102. package/dist/index.d.ts +20 -3
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/index.js +20 -3
  105. package/dist/modular/abstract.js +37 -24
  106. package/dist/modular/connection.js +20 -7
  107. package/dist/modular/connector.js +29 -16
  108. package/dist/modular/modular.js +49 -36
  109. package/dist/modular/modules/audio-input.js +17 -4
  110. package/dist/modular/modules/audio-output.js +17 -4
  111. package/dist/modular/modules/delay.js +24 -11
  112. package/dist/modular/modules/gain.js +24 -11
  113. package/dist/modular/modules/multiplier.js +21 -8
  114. package/dist/modular/user-interface.js +25 -12
  115. package/dist/preset/PresetDecoder.d.ts +11 -0
  116. package/dist/preset/PresetDecoder.d.ts.map +1 -0
  117. package/dist/preset/PresetDecoder.js +154 -0
  118. package/dist/preset/PresetEncoder.d.ts +5 -0
  119. package/dist/preset/PresetEncoder.d.ts.map +1 -0
  120. package/dist/preset/PresetEncoder.js +19 -0
  121. package/dist/preset/PresetHeader.d.ts +5 -0
  122. package/dist/preset/PresetHeader.d.ts.map +1 -0
  123. package/dist/preset/PresetHeader.js +5 -0
  124. package/dist/project/ProjectQueries.d.ts +5 -0
  125. package/dist/project/ProjectQueries.d.ts.map +1 -0
  126. package/dist/project/ProjectQueries.js +10 -0
  127. package/dist/project/ProjectSkeleton.d.ts +10 -1
  128. package/dist/project/ProjectSkeleton.d.ts.map +1 -1
  129. package/dist/project/ProjectSkeleton.js +100 -1
  130. package/dist/project/ProjectUtils.d.ts +13 -0
  131. package/dist/project/ProjectUtils.d.ts.map +1 -0
  132. package/dist/project/ProjectUtils.js +142 -0
  133. package/dist/protocols.d.ts.map +1 -1
  134. package/dist/selection/FilteredSelection.js +47 -34
  135. package/dist/selection/VertexSelection.js +66 -55
  136. package/dist/soundfont/SoundfontFileBoxAdapter.js +21 -8
  137. package/dist/timeline/MarkerBoxAdapter.js +33 -20
  138. package/dist/timeline/MarkerTrackAdapter.js +34 -22
  139. package/dist/timeline/TimelineBoxAdapter.js +24 -11
  140. package/dist/timeline/TrackBoxAdapter.d.ts.map +1 -1
  141. package/dist/timeline/TrackBoxAdapter.js +97 -85
  142. package/dist/timeline/TrackClips.js +27 -14
  143. package/dist/timeline/TrackRegions.js +40 -27
  144. package/dist/timeline/TrackType.d.ts +1 -1
  145. package/dist/timeline/TrackType.d.ts.map +1 -1
  146. package/dist/timeline/TrackType.js +1 -1
  147. package/dist/timeline/clip/AudioClipBoxAdapter.js +66 -53
  148. package/dist/timeline/clip/NoteClipBoxAdapter.js +66 -53
  149. package/dist/timeline/clip/ValueClipBoxAdapter.js +67 -54
  150. package/dist/timeline/collection/NoteEventCollectionBoxAdapter.js +85 -73
  151. package/dist/timeline/collection/ValueEventCollectionBoxAdapter.js +53 -40
  152. package/dist/timeline/event/NoteEventBoxAdapter.js +43 -30
  153. package/dist/timeline/event/ValueEventBoxAdapter.js +67 -54
  154. package/dist/timeline/region/AudioRegionBoxAdapter.d.ts +17 -9
  155. package/dist/timeline/region/AudioRegionBoxAdapter.d.ts.map +1 -1
  156. package/dist/timeline/region/AudioRegionBoxAdapter.js +149 -83
  157. package/dist/timeline/region/MutableRegion.d.ts +8 -0
  158. package/dist/timeline/region/MutableRegion.d.ts.map +1 -0
  159. package/dist/timeline/region/MutableRegion.js +1 -0
  160. package/dist/timeline/region/NoteRegionBoxAdapter.d.ts +6 -1
  161. package/dist/timeline/region/NoteRegionBoxAdapter.d.ts.map +1 -1
  162. package/dist/timeline/region/NoteRegionBoxAdapter.js +78 -61
  163. package/dist/timeline/region/ValueRegionBoxAdapter.d.ts +6 -1
  164. package/dist/timeline/region/ValueRegionBoxAdapter.d.ts.map +1 -1
  165. package/dist/timeline/region/ValueRegionBoxAdapter.js +79 -62
  166. package/package.json +8 -8
  167. package/dist/IconSymbol.d.ts +0 -126
  168. package/dist/IconSymbol.d.ts.map +0 -1
  169. package/dist/IconSymbol.js +0 -126
  170. package/dist/UpdateClockRate.d.ts +0 -2
  171. package/dist/UpdateClockRate.d.ts.map +0 -1
  172. package/dist/UpdateClockRate.js +0 -2
  173. package/dist/project/ProjectDecoder.d.ts +0 -10
  174. package/dist/project/ProjectDecoder.d.ts.map +0 -1
  175. package/dist/project/ProjectDecoder.js +0 -36
@@ -0,0 +1,15 @@
1
+ export declare const Colors: {
2
+ blue: string;
3
+ green: string;
4
+ yellow: string;
5
+ cream: string;
6
+ orange: string;
7
+ red: string;
8
+ purple: string;
9
+ bright: string;
10
+ gray: string;
11
+ dark: string;
12
+ shadow: string;
13
+ black: string;
14
+ };
15
+ //# sourceMappingURL=Colors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Colors.d.ts","sourceRoot":"","sources":["../../src/factories/Colors.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,MAAM;;;;;;;;;;;;;CAalB,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { InaccessibleProperty } from "@opendaw/lib-std";
2
+ const getPropertyValue = (() => {
3
+ if (typeof document === "undefined") {
4
+ // This will compile in React but fails at runtime when no document is available
5
+ return (_property) => InaccessibleProperty;
6
+ }
7
+ const computedStyle = getComputedStyle(document.documentElement);
8
+ return (property) => computedStyle.getPropertyValue(property);
9
+ })();
10
+ export const Colors = {
11
+ blue: getPropertyValue("--color-blue"),
12
+ green: getPropertyValue("--color-green"),
13
+ yellow: getPropertyValue("--color-yellow"),
14
+ cream: getPropertyValue("--color-cream"),
15
+ orange: getPropertyValue("--color-orange"),
16
+ red: getPropertyValue("--color-red"),
17
+ purple: getPropertyValue("--color-purple"),
18
+ bright: getPropertyValue("--color-bright"),
19
+ gray: getPropertyValue("--color-gray"),
20
+ dark: getPropertyValue("--color-dark"),
21
+ shadow: getPropertyValue("--color-shadow"),
22
+ black: getPropertyValue("--color-black")
23
+ };
@@ -0,0 +1,3 @@
1
+ import { MIDIOutputDeviceBox, NanoDeviceBox, PlayfieldDeviceBox, SoundfontDeviceBox, TapeDeviceBox, VaporisateurDeviceBox } from "@opendaw/studio-boxes";
2
+ export type InstrumentBox = TapeDeviceBox | VaporisateurDeviceBox | NanoDeviceBox | PlayfieldDeviceBox | SoundfontDeviceBox | MIDIOutputDeviceBox;
3
+ //# sourceMappingURL=InstrumentBox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstrumentBox.d.ts","sourceRoot":"","sources":["../../src/factories/InstrumentBox.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,qBAAqB,EACxB,MAAM,uBAAuB,CAAA;AAE9B,MAAM,MAAM,aAAa,GACrB,aAAa,GACX,qBAAqB,GACrB,aAAa,GACb,kBAAkB,GAClB,kBAAkB,GAClB,mBAAmB,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,34 @@
1
+ import { AudioFileBox, MIDIOutputDeviceBox, NanoDeviceBox, PlayfieldDeviceBox, SoundfontDeviceBox, TapeDeviceBox, VaporisateurDeviceBox } from "@opendaw/studio-boxes";
2
+ import { byte, UUID } from "@opendaw/lib-std";
3
+ import { InstrumentFactory } from "./InstrumentFactory";
4
+ export declare namespace InstrumentFactories {
5
+ const Tape: InstrumentFactory<void, TapeDeviceBox>;
6
+ const Nano: InstrumentFactory<AudioFileBox, NanoDeviceBox>;
7
+ type PlayfieldAttachment = ReadonlyArray<{
8
+ note: byte;
9
+ uuid: UUID.Bytes;
10
+ name: string;
11
+ durationInSeconds: number;
12
+ exclude: boolean;
13
+ }>;
14
+ const Playfield: InstrumentFactory<PlayfieldAttachment, PlayfieldDeviceBox>;
15
+ const Vaporisateur: InstrumentFactory<void, VaporisateurDeviceBox>;
16
+ const MIDIOutput: InstrumentFactory<void, MIDIOutputDeviceBox>;
17
+ const Soundfont: InstrumentFactory<{
18
+ uuid: UUID.String;
19
+ name: string;
20
+ }, SoundfontDeviceBox>;
21
+ const Named: {
22
+ Vaporisateur: InstrumentFactory<void, VaporisateurDeviceBox>;
23
+ Playfield: InstrumentFactory<PlayfieldAttachment, PlayfieldDeviceBox>;
24
+ Nano: InstrumentFactory<AudioFileBox, NanoDeviceBox>;
25
+ Tape: InstrumentFactory<void, TapeDeviceBox>;
26
+ Soundfont: InstrumentFactory<{
27
+ uuid: UUID.String;
28
+ name: string;
29
+ }, SoundfontDeviceBox>;
30
+ MIDIOutput: InstrumentFactory<void, MIDIOutputDeviceBox>;
31
+ };
32
+ type Keys = keyof typeof Named;
33
+ }
34
+ //# sourceMappingURL=InstrumentFactories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstrumentFactories.d.ts","sourceRoot":"","sources":["../../src/factories/InstrumentFactories.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EAEZ,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAElB,kBAAkB,EAElB,aAAa,EACb,qBAAqB,EACxB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAC,IAAI,EAAa,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAItD,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAA;AAGrD,yBAAiB,mBAAmB,CAAC;IAC1B,MAAM,IAAI,EAAE,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAmBvD,CAAA;IAEM,MAAM,IAAI,EAAE,iBAAiB,CAAC,YAAY,EAAE,aAAa,CA6B/D,CAAA;IAED,KAAY,mBAAmB,GAAG,aAAa,CAAC;QAC5C,IAAI,EAAE,IAAI,CAAA;QACV,IAAI,EAAE,IAAI,CAAC,KAAK,CAAA;QAChB,IAAI,EAAE,MAAM,CAAA;QACZ,iBAAiB,EAAE,MAAM,CAAA;QACzB,OAAO,EAAE,OAAO,CAAA;KACnB,CAAC,CAAA;IAEK,MAAM,SAAS,EAAE,iBAAiB,CAAC,mBAAmB,EAAE,kBAAkB,CA4BhF,CAAA;IAEM,MAAM,YAAY,EAAE,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,CA6BvE,CAAA;IAEM,MAAM,UAAU,EAAE,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,CAenE,CAAA;IAEM,MAAM,SAAS,EAAE,iBAAiB,CAAC;QAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,kBAAkB,CAqBhG,CAAA;IAEM,MAAM,KAAK;;;;;;kBAvBgC,IAAI,CAAC,MAAM;kBAAQ,MAAM;;;KAuBM,CAAA;IACjF,KAAY,IAAI,GAAG,MAAM,OAAO,KAAK,CAAA;CAYxC"}
@@ -0,0 +1,137 @@
1
+ import { AudioFileBox, MIDIOutputDeviceBox, NanoDeviceBox, PlayfieldDeviceBox, PlayfieldSampleBox, SoundfontDeviceBox, SoundfontFileBox, TapeDeviceBox, VaporisateurDeviceBox } from "@opendaw/studio-boxes";
2
+ import { isDefined, UUID } from "@opendaw/lib-std";
3
+ import { ClassicWaveform } from "@opendaw/lib-dsp";
4
+ import { IconSymbol, VoicingMode } from "@opendaw/studio-enums";
5
+ import { TrackType } from "../timeline/TrackType";
6
+ export var InstrumentFactories;
7
+ (function (InstrumentFactories) {
8
+ InstrumentFactories.Tape = {
9
+ defaultName: "Tape",
10
+ defaultIcon: IconSymbol.Tape,
11
+ description: "Plays audio regions & clips",
12
+ trackType: TrackType.Audio,
13
+ create: (boxGraph, host, name, icon, _attachment) => TapeDeviceBox.create(boxGraph, UUID.generate(), box => {
14
+ box.label.setValue(name);
15
+ box.icon.setValue(IconSymbol.toName(icon));
16
+ box.flutter.setValue(0.2);
17
+ box.wow.setValue(0.05);
18
+ box.noise.setValue(0.02);
19
+ box.saturation.setValue(0.5);
20
+ box.host.refer(host);
21
+ })
22
+ };
23
+ InstrumentFactories.Nano = {
24
+ defaultName: "Nano",
25
+ defaultIcon: IconSymbol.NanoWave,
26
+ description: "Simple sampler",
27
+ trackType: TrackType.Notes,
28
+ create: (boxGraph, host, name, icon, attachment) => {
29
+ let audioFileBox;
30
+ if (isDefined(attachment)) {
31
+ audioFileBox = attachment;
32
+ }
33
+ else {
34
+ const fileUUID = UUID.parse("c1678daa-4a47-4cba-b88f-4f4e384663c3");
35
+ const fileDuration = 5.340;
36
+ audioFileBox = boxGraph.findBox(fileUUID)
37
+ .unwrapOrElse(() => AudioFileBox.create(boxGraph, fileUUID, box => {
38
+ box.fileName.setValue("Rhode");
39
+ box.endInSeconds.setValue(fileDuration);
40
+ }));
41
+ }
42
+ return NanoDeviceBox.create(boxGraph, UUID.generate(), box => {
43
+ box.label.setValue(name);
44
+ box.icon.setValue(IconSymbol.toName(icon));
45
+ box.file.refer(audioFileBox);
46
+ box.host.refer(host);
47
+ });
48
+ }
49
+ };
50
+ InstrumentFactories.Playfield = {
51
+ defaultName: "Playfield",
52
+ defaultIcon: IconSymbol.Playfield,
53
+ description: "Drum computer",
54
+ trackType: TrackType.Notes,
55
+ create: (boxGraph, host, name, icon, attachment) => {
56
+ const deviceBox = PlayfieldDeviceBox.create(boxGraph, UUID.generate(), box => {
57
+ box.label.setValue(name);
58
+ box.icon.setValue(IconSymbol.toName(icon));
59
+ box.host.refer(host);
60
+ });
61
+ if (isDefined(attachment)) {
62
+ attachment.filter(({ note, uuid, name, durationInSeconds, exclude }) => {
63
+ const fileBox = useAudioFile(boxGraph, uuid, name, durationInSeconds);
64
+ PlayfieldSampleBox.create(boxGraph, UUID.generate(), box => {
65
+ box.device.refer(deviceBox.samples);
66
+ box.file.refer(fileBox);
67
+ box.index.setValue(note);
68
+ box.exclude.setValue(exclude);
69
+ });
70
+ });
71
+ }
72
+ return deviceBox;
73
+ }
74
+ };
75
+ InstrumentFactories.Vaporisateur = {
76
+ defaultName: "Vaporisateur",
77
+ defaultIcon: IconSymbol.Piano,
78
+ description: "Classic subtractive synthesizer",
79
+ trackType: TrackType.Notes,
80
+ create: (boxGraph, host, name, icon, _attachment) => VaporisateurDeviceBox.create(boxGraph, UUID.generate(), box => {
81
+ box.label.setValue(name);
82
+ box.icon.setValue(IconSymbol.toName(icon));
83
+ box.tune.setInitValue(0.0);
84
+ box.cutoff.setInitValue(8000.0);
85
+ box.resonance.setInitValue(0.1);
86
+ box.attack.setInitValue(0.005);
87
+ box.decay.setInitValue(0.100);
88
+ box.sustain.setInitValue(0.5);
89
+ box.release.setInitValue(0.5);
90
+ box.voicingMode.setInitValue(VoicingMode.Polyphonic);
91
+ box.lfo.rate.setInitValue(1.0);
92
+ box.oscillators.fields()[0].waveform.setInitValue(ClassicWaveform.saw);
93
+ box.oscillators.fields()[0].volume.setInitValue(-6.0);
94
+ box.oscillators.fields()[1].volume.setInitValue(Number.NEGATIVE_INFINITY);
95
+ box.oscillators.fields()[1].waveform.setInitValue(ClassicWaveform.square);
96
+ box.host.refer(host);
97
+ box.version.setValue(2); // for removing the -15db in voice and extended osc
98
+ })
99
+ };
100
+ InstrumentFactories.MIDIOutput = {
101
+ defaultName: "MIDIOutput",
102
+ defaultIcon: IconSymbol.Midi,
103
+ description: "MIDI Output",
104
+ trackType: TrackType.Notes,
105
+ create: (boxGraph, host, name, icon, _attachment) => MIDIOutputDeviceBox.create(boxGraph, UUID.generate(), box => {
106
+ box.label.setValue(name);
107
+ box.icon.setValue(IconSymbol.toName(icon));
108
+ box.host.refer(host);
109
+ })
110
+ };
111
+ InstrumentFactories.Soundfont = {
112
+ defaultName: "Soundfont",
113
+ defaultIcon: IconSymbol.SoundFont,
114
+ description: "Soundfont Player",
115
+ trackType: TrackType.Notes,
116
+ create: (boxGraph, host, name, icon, attachment) => {
117
+ attachment ?? (attachment = { uuid: "d9f51577-2096-4671-9067-27ca2e12b329", name: "Upright Piano KW" });
118
+ const soundFontUUIDAsString = attachment.uuid;
119
+ const soundfontUUID = UUID.parse(soundFontUUIDAsString);
120
+ const soundfontBox = useSoundfontFile(boxGraph, soundfontUUID, attachment.name);
121
+ return SoundfontDeviceBox.create(boxGraph, UUID.generate(), box => {
122
+ box.label.setValue(name);
123
+ box.icon.setValue(IconSymbol.toName(icon));
124
+ box.host.refer(host);
125
+ box.file.refer(soundfontBox);
126
+ });
127
+ }
128
+ };
129
+ InstrumentFactories.Named = { Vaporisateur: InstrumentFactories.Vaporisateur, Playfield: InstrumentFactories.Playfield, Nano: InstrumentFactories.Nano, Tape: InstrumentFactories.Tape, Soundfont: InstrumentFactories.Soundfont, MIDIOutput: InstrumentFactories.MIDIOutput };
130
+ const useAudioFile = (boxGraph, fileUUID, name, duration) => boxGraph.findBox(fileUUID)
131
+ .unwrapOrElse(() => AudioFileBox.create(boxGraph, fileUUID, box => {
132
+ box.fileName.setValue(name);
133
+ box.endInSeconds.setValue(duration);
134
+ }));
135
+ const useSoundfontFile = (boxGraph, fileUUID, name) => boxGraph.findBox(fileUUID)
136
+ .unwrapOrElse(() => SoundfontFileBox.create(boxGraph, fileUUID, box => box.fileName.setValue(name)));
137
+ })(InstrumentFactories || (InstrumentFactories = {}));
@@ -0,0 +1,13 @@
1
+ import { BoxGraph, Field } from "@opendaw/lib-box";
2
+ import { IconSymbol, Pointers } from "@opendaw/studio-enums";
3
+ import { BoxIO } from "@opendaw/studio-boxes";
4
+ import { InstrumentBox } from "./InstrumentBox";
5
+ import { TrackType } from "../timeline/TrackType";
6
+ export interface InstrumentFactory<A = any, INST extends InstrumentBox = InstrumentBox> {
7
+ defaultName: string;
8
+ defaultIcon: IconSymbol;
9
+ description: string;
10
+ trackType: TrackType;
11
+ create: (boxGraph: BoxGraph<BoxIO.TypeMap>, host: Field<Pointers.InstrumentHost | Pointers.AudioOutput>, name: string, icon: IconSymbol, attachment?: A) => INST;
12
+ }
13
+ //# sourceMappingURL=InstrumentFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstrumentFactory.d.ts","sourceRoot":"","sources":["../../src/factories/InstrumentFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAC,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAC,UAAU,EAAE,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAC,KAAK,EAAC,MAAM,uBAAuB,CAAA;AAC3C,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAA;AAE/C,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,SAAS,aAAa,GAAG,aAAa;IAClF,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,UAAU,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EACjC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,cAAc,GAAG,QAAQ,CAAC,WAAW,CAAC,EAC3D,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU,EAChB,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,CAAA;CACnC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ import { IconSymbol } from "@opendaw/studio-enums";
2
+ import { int } from "@opendaw/lib-std";
3
+ export type InstrumentOptions<T = never> = {
4
+ name?: string;
5
+ icon?: IconSymbol;
6
+ index?: int;
7
+ attachment?: T;
8
+ };
9
+ //# sourceMappingURL=InstrumentOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstrumentOptions.d.ts","sourceRoot":"","sources":["../../src/factories/InstrumentOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAC,GAAG,EAAC,MAAM,kBAAkB,CAAA;AAEpC,MAAM,MAAM,iBAAiB,CAAC,CAAC,GAAG,KAAK,IAAI;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAAC,KAAK,CAAC,EAAE,GAAG,CAAC;IAAC,UAAU,CAAC,EAAE,CAAC,CAAA;CAAE,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ import { AudioUnitBox, TrackBox } from "@opendaw/studio-boxes";
2
+ import { InstrumentBox } from "./InstrumentBox";
3
+ export type InstrumentProduct<INST_BOX extends InstrumentBox> = {
4
+ audioUnitBox: AudioUnitBox;
5
+ instrumentBox: INST_BOX;
6
+ trackBox: TrackBox;
7
+ };
8
+ //# sourceMappingURL=InstrumentProduct.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstrumentProduct.d.ts","sourceRoot":"","sources":["../../src/factories/InstrumentProduct.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAE7C,MAAM,MAAM,iBAAiB,CAAC,QAAQ,SAAS,aAAa,IAAI;IAC5D,YAAY,EAAE,YAAY,CAAA;IAC1B,aAAa,EAAE,QAAQ,CAAA;IACvB,QAAQ,EAAE,QAAQ,CAAA;CACrB,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -1,42 +1,54 @@
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 _GrooveShuffleBoxAdapter_instances, _a, _GrooveShuffleBoxAdapter_terminator, _GrooveShuffleBoxAdapter_context, _GrooveShuffleBoxAdapter_box, _GrooveShuffleBoxAdapter_parametric, _GrooveShuffleBoxAdapter_groove, _GrooveShuffleBoxAdapter_amount, _GrooveShuffleBoxAdapter_duration, _GrooveShuffleBoxAdapter_wrapParameters;
1
13
  import { moebiusEase, squashUnit, StringMapping, Terminator, ValueMapping } from "@opendaw/lib-std";
2
14
  import { GroovePattern, PPQN } from "@opendaw/lib-dsp";
3
15
  import { ParameterAdapterSet } from "../ParameterAdapterSet";
4
16
  export class GrooveShuffleBoxAdapter {
5
- static Durations = [
6
- [1, 8], [1, 4], [1, 4], [1, 2], [1, 1], [2, 1], [4, 1], [8, 1], [16, 1]
7
- ];
8
- static DurationPPQNs = GrooveShuffleBoxAdapter.Durations.map(([n, d]) => PPQN.fromSignature(n, d));
9
- static DurationStrings = GrooveShuffleBoxAdapter.Durations.map(([n, d]) => (`${n}/${d}`));
10
- type = "groove-adapter";
11
- #terminator = new Terminator();
12
- #context;
13
- #box;
14
- #parametric;
15
- namedParameter; // let typescript infer the type
16
- #groove = new GroovePattern({
17
- duration: () => this.#duration,
18
- fx: x => moebiusEase(x, this.#amount),
19
- fy: y => moebiusEase(y, 1.0 - this.#amount)
20
- });
21
- #amount = 0.0;
22
- #duration = PPQN.SemiQuaver * 2;
23
17
  constructor(context, box) {
24
- this.#context = context;
25
- this.#box = box;
26
- this.#parametric = this.#terminator.own(new ParameterAdapterSet(this.#context));
27
- this.namedParameter = this.#wrapParameters(box);
28
- this.#terminator.ownAll(this.namedParameter.duration.catchupAndSubscribe(owner => this.#duration = owner.getValue()), this.namedParameter.amount.catchupAndSubscribe(owner => this.#amount = squashUnit(owner.getValue(), 0.01)));
29
- }
30
- unwarp(position) { return this.#groove.unwarp(position); }
31
- warp(position) { return this.#groove.warp(position); }
32
- get box() { return this.#box; }
33
- get uuid() { return this.#box.address.uuid; }
34
- get address() { return this.#box.address; }
35
- terminate() { this.#terminator.terminate(); }
36
- #wrapParameters(box) {
37
- return {
38
- duration: this.#parametric.createParameter(box.duration, ValueMapping.values(GrooveShuffleBoxAdapter.DurationPPQNs), StringMapping.values("", GrooveShuffleBoxAdapter.DurationPPQNs, GrooveShuffleBoxAdapter.DurationStrings), "duration"),
39
- amount: this.#parametric.createParameter(box.amount, ValueMapping.unipolar(), StringMapping.percent({ fractionDigits: 0 }), "amount")
40
- };
18
+ _GrooveShuffleBoxAdapter_instances.add(this);
19
+ this.type = "groove-adapter";
20
+ _GrooveShuffleBoxAdapter_terminator.set(this, new Terminator());
21
+ _GrooveShuffleBoxAdapter_context.set(this, void 0);
22
+ _GrooveShuffleBoxAdapter_box.set(this, void 0);
23
+ _GrooveShuffleBoxAdapter_parametric.set(this, void 0);
24
+ _GrooveShuffleBoxAdapter_groove.set(this, new GroovePattern({
25
+ duration: () => __classPrivateFieldGet(this, _GrooveShuffleBoxAdapter_duration, "f"),
26
+ fx: x => moebiusEase(x, __classPrivateFieldGet(this, _GrooveShuffleBoxAdapter_amount, "f")),
27
+ fy: y => moebiusEase(y, 1.0 - __classPrivateFieldGet(this, _GrooveShuffleBoxAdapter_amount, "f"))
28
+ }));
29
+ _GrooveShuffleBoxAdapter_amount.set(this, 0.0);
30
+ _GrooveShuffleBoxAdapter_duration.set(this, PPQN.SemiQuaver * 2);
31
+ __classPrivateFieldSet(this, _GrooveShuffleBoxAdapter_context, context, "f");
32
+ __classPrivateFieldSet(this, _GrooveShuffleBoxAdapter_box, box, "f");
33
+ __classPrivateFieldSet(this, _GrooveShuffleBoxAdapter_parametric, __classPrivateFieldGet(this, _GrooveShuffleBoxAdapter_terminator, "f").own(new ParameterAdapterSet(__classPrivateFieldGet(this, _GrooveShuffleBoxAdapter_context, "f"))), "f");
34
+ this.namedParameter = __classPrivateFieldGet(this, _GrooveShuffleBoxAdapter_instances, "m", _GrooveShuffleBoxAdapter_wrapParameters).call(this, box);
35
+ __classPrivateFieldGet(this, _GrooveShuffleBoxAdapter_terminator, "f").ownAll(this.namedParameter.duration.catchupAndSubscribe(owner => __classPrivateFieldSet(this, _GrooveShuffleBoxAdapter_duration, owner.getValue(), "f")), this.namedParameter.amount.catchupAndSubscribe(owner => __classPrivateFieldSet(this, _GrooveShuffleBoxAdapter_amount, squashUnit(owner.getValue(), 0.01), "f")));
41
36
  }
37
+ unwarp(position) { return __classPrivateFieldGet(this, _GrooveShuffleBoxAdapter_groove, "f").unwarp(position); }
38
+ warp(position) { return __classPrivateFieldGet(this, _GrooveShuffleBoxAdapter_groove, "f").warp(position); }
39
+ get box() { return __classPrivateFieldGet(this, _GrooveShuffleBoxAdapter_box, "f"); }
40
+ get uuid() { return __classPrivateFieldGet(this, _GrooveShuffleBoxAdapter_box, "f").address.uuid; }
41
+ get address() { return __classPrivateFieldGet(this, _GrooveShuffleBoxAdapter_box, "f").address; }
42
+ terminate() { __classPrivateFieldGet(this, _GrooveShuffleBoxAdapter_terminator, "f").terminate(); }
42
43
  }
44
+ _a = GrooveShuffleBoxAdapter, _GrooveShuffleBoxAdapter_terminator = new WeakMap(), _GrooveShuffleBoxAdapter_context = new WeakMap(), _GrooveShuffleBoxAdapter_box = new WeakMap(), _GrooveShuffleBoxAdapter_parametric = new WeakMap(), _GrooveShuffleBoxAdapter_groove = new WeakMap(), _GrooveShuffleBoxAdapter_amount = new WeakMap(), _GrooveShuffleBoxAdapter_duration = new WeakMap(), _GrooveShuffleBoxAdapter_instances = new WeakSet(), _GrooveShuffleBoxAdapter_wrapParameters = function _GrooveShuffleBoxAdapter_wrapParameters(box) {
45
+ return {
46
+ duration: __classPrivateFieldGet(this, _GrooveShuffleBoxAdapter_parametric, "f").createParameter(box.duration, ValueMapping.values(_a.DurationPPQNs), StringMapping.values("", _a.DurationPPQNs, _a.DurationStrings), "duration"),
47
+ amount: __classPrivateFieldGet(this, _GrooveShuffleBoxAdapter_parametric, "f").createParameter(box.amount, ValueMapping.unipolar(), StringMapping.percent({ fractionDigits: 0 }), "amount")
48
+ };
49
+ };
50
+ GrooveShuffleBoxAdapter.Durations = [
51
+ [1, 8], [1, 4], [1, 4], [1, 2], [1, 1], [2, 1], [4, 1], [8, 1], [16, 1]
52
+ ];
53
+ GrooveShuffleBoxAdapter.DurationPPQNs = _a.Durations.map(([n, d]) => PPQN.fromSignature(n, d));
54
+ GrooveShuffleBoxAdapter.DurationStrings = _a.Durations.map(([n, d]) => (`${n}/${d}`));
package/dist/index.d.ts CHANGED
@@ -11,7 +11,6 @@ export * from "./DeviceBox";
11
11
  export * from "./EngineProcessorAttachment";
12
12
  export * from "./EngineStateSchema";
13
13
  export * from "./FieldAdapter";
14
- export * from "./IconSymbol";
15
14
  export * from "./IndexComparator";
16
15
  export * from "./IndexedBoxAdapterCollection";
17
16
  export * from "./NoteBroadcaster";
@@ -20,13 +19,14 @@ export * from "./NoteSignal";
20
19
  export * from "./NoteStreamReceiver";
21
20
  export * from "./ParameterAdapterSet";
22
21
  export * from "./ParameterFieldAdapters";
22
+ export * from "./Parsing";
23
23
  export * from "./PeakMeterProcessorOptions";
24
24
  export * from "./PianoModeAdapter";
25
25
  export * from "./RecordingProcessorOptions";
26
26
  export * from "./RingBuffer";
27
27
  export * from "./RootBoxAdapter";
28
28
  export * from "./UnionAdapterTypes";
29
- export * from "./UpdateClockRate";
29
+ export * from "./Validator";
30
30
  export * from "./audio-unit/AudioBusBoxAdapter";
31
31
  export * from "./audio-unit/AudioUnitBoxAdapter";
32
32
  export * from "./audio-unit/AudioUnitInput";
@@ -44,6 +44,7 @@ export * from "./devices/audio-effects/ModularDeviceBoxAdapter";
44
44
  export * from "./devices/audio-effects/RevampDeviceBoxAdapter";
45
45
  export * from "./devices/audio-effects/ReverbDeviceBoxAdapter";
46
46
  export * from "./devices/audio-effects/StereoToolDeviceBoxAdapter";
47
+ export * from "./devices/audio-effects/TidalDeviceBoxAdapter";
47
48
  export * from "./devices/audio-effects/UnknownAudioEffectDeviceBoxAdapter";
48
49
  export * from "./devices/instruments/MIDIOutputDeviceBoxAdapter";
49
50
  export * from "./devices/instruments/NanoDeviceBoxAdapter";
@@ -53,6 +54,7 @@ export * from "./devices/instruments/PlayfieldDeviceBoxAdapter";
53
54
  export * from "./devices/instruments/SoundfontDeviceBoxAdapter";
54
55
  export * from "./devices/instruments/TapeDeviceBoxAdapter";
55
56
  export * from "./devices/instruments/VaporisateurDeviceBoxAdapter";
57
+ export * from "./devices/instruments/VaporisateurSettings";
56
58
  export * from "./devices/midi-effects/ArpeggioDeviceBoxAdapter";
57
59
  export * from "./devices/midi-effects/PitchDeviceBoxAdapter";
58
60
  export * from "./devices/midi-effects/UnknownMidiEffectDeviceBoxAdapter";
@@ -60,6 +62,16 @@ export * from "./devices/midi-effects/VelocityDeviceBoxAdapter";
60
62
  export * from "./devices/midi-effects/ZeitgeistDeviceBoxAdapter";
61
63
  export * from "./editing/UserEditing";
62
64
  export * from "./editing/UserEditingManager";
65
+ export * from "./factories/AudioBusFactory";
66
+ export * from "./factories/AudioUnitFactory";
67
+ export * from "./factories/AudioUnitOrdering";
68
+ export * from "./factories/ColorCodes";
69
+ export * from "./factories/Colors";
70
+ export * from "./factories/InstrumentBox";
71
+ export * from "./factories/InstrumentFactories";
72
+ export * from "./factories/InstrumentFactory";
73
+ export * from "./factories/InstrumentOptions";
74
+ export * from "./factories/InstrumentProduct";
63
75
  export * from "./grooves/GrooveBoxAdapter";
64
76
  export * from "./grooves/GrooveShuffleBoxAdapter";
65
77
  export * from "./modular/abstract";
@@ -73,9 +85,13 @@ export * from "./modular/modules/delay";
73
85
  export * from "./modular/modules/gain";
74
86
  export * from "./modular/modules/multiplier";
75
87
  export * from "./modular/user-interface";
76
- export * from "./project/ProjectDecoder";
88
+ export * from "./preset/PresetDecoder";
89
+ export * from "./preset/PresetEncoder";
90
+ export * from "./preset/PresetHeader";
77
91
  export * from "./project/ProjectMandatoryBoxes";
92
+ export * from "./project/ProjectQueries";
78
93
  export * from "./project/ProjectSkeleton";
94
+ export * from "./project/ProjectUtils";
79
95
  export * from "./protocols";
80
96
  export * from "./sample/Sample";
81
97
  export * from "./sample/SampleLoader";
@@ -112,6 +128,7 @@ export * from "./timeline/event/InterpolationFieldAdapter";
112
128
  export * from "./timeline/event/NoteEventBoxAdapter";
113
129
  export * from "./timeline/event/ValueEventBoxAdapter";
114
130
  export * from "./timeline/region/AudioRegionBoxAdapter";
131
+ export * from "./timeline/region/MutableRegion";
115
132
  export * from "./timeline/region/NoteRegionBoxAdapter";
116
133
  export * from "./timeline/region/ValueRegionBoxAdapter";
117
134
  export * from "./unions";
@@ -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
@@ -13,7 +13,6 @@ export * from "./DeviceBox";
13
13
  export * from "./EngineProcessorAttachment";
14
14
  export * from "./EngineStateSchema";
15
15
  export * from "./FieldAdapter";
16
- export * from "./IconSymbol";
17
16
  export * from "./IndexComparator";
18
17
  export * from "./IndexedBoxAdapterCollection";
19
18
  export * from "./NoteBroadcaster";
@@ -22,13 +21,14 @@ export * from "./NoteSignal";
22
21
  export * from "./NoteStreamReceiver";
23
22
  export * from "./ParameterAdapterSet";
24
23
  export * from "./ParameterFieldAdapters";
24
+ export * from "./Parsing";
25
25
  export * from "./PeakMeterProcessorOptions";
26
26
  export * from "./PianoModeAdapter";
27
27
  export * from "./RecordingProcessorOptions";
28
28
  export * from "./RingBuffer";
29
29
  export * from "./RootBoxAdapter";
30
30
  export * from "./UnionAdapterTypes";
31
- export * from "./UpdateClockRate";
31
+ export * from "./Validator";
32
32
  export * from "./audio-unit/AudioBusBoxAdapter";
33
33
  export * from "./audio-unit/AudioUnitBoxAdapter";
34
34
  export * from "./audio-unit/AudioUnitInput";
@@ -46,6 +46,7 @@ export * from "./devices/audio-effects/ModularDeviceBoxAdapter";
46
46
  export * from "./devices/audio-effects/RevampDeviceBoxAdapter";
47
47
  export * from "./devices/audio-effects/ReverbDeviceBoxAdapter";
48
48
  export * from "./devices/audio-effects/StereoToolDeviceBoxAdapter";
49
+ export * from "./devices/audio-effects/TidalDeviceBoxAdapter";
49
50
  export * from "./devices/audio-effects/UnknownAudioEffectDeviceBoxAdapter";
50
51
  export * from "./devices/instruments/MIDIOutputDeviceBoxAdapter";
51
52
  export * from "./devices/instruments/NanoDeviceBoxAdapter";
@@ -55,6 +56,7 @@ export * from "./devices/instruments/PlayfieldDeviceBoxAdapter";
55
56
  export * from "./devices/instruments/SoundfontDeviceBoxAdapter";
56
57
  export * from "./devices/instruments/TapeDeviceBoxAdapter";
57
58
  export * from "./devices/instruments/VaporisateurDeviceBoxAdapter";
59
+ export * from "./devices/instruments/VaporisateurSettings";
58
60
  export * from "./devices/midi-effects/ArpeggioDeviceBoxAdapter";
59
61
  export * from "./devices/midi-effects/PitchDeviceBoxAdapter";
60
62
  export * from "./devices/midi-effects/UnknownMidiEffectDeviceBoxAdapter";
@@ -62,6 +64,16 @@ export * from "./devices/midi-effects/VelocityDeviceBoxAdapter";
62
64
  export * from "./devices/midi-effects/ZeitgeistDeviceBoxAdapter";
63
65
  export * from "./editing/UserEditing";
64
66
  export * from "./editing/UserEditingManager";
67
+ export * from "./factories/AudioBusFactory";
68
+ export * from "./factories/AudioUnitFactory";
69
+ export * from "./factories/AudioUnitOrdering";
70
+ export * from "./factories/ColorCodes";
71
+ export * from "./factories/Colors";
72
+ export * from "./factories/InstrumentBox";
73
+ export * from "./factories/InstrumentFactories";
74
+ export * from "./factories/InstrumentFactory";
75
+ export * from "./factories/InstrumentOptions";
76
+ export * from "./factories/InstrumentProduct";
65
77
  export * from "./grooves/GrooveBoxAdapter";
66
78
  export * from "./grooves/GrooveShuffleBoxAdapter";
67
79
  export * from "./modular/abstract";
@@ -75,9 +87,13 @@ export * from "./modular/modules/delay";
75
87
  export * from "./modular/modules/gain";
76
88
  export * from "./modular/modules/multiplier";
77
89
  export * from "./modular/user-interface";
78
- export * from "./project/ProjectDecoder";
90
+ export * from "./preset/PresetDecoder";
91
+ export * from "./preset/PresetEncoder";
92
+ export * from "./preset/PresetHeader";
79
93
  export * from "./project/ProjectMandatoryBoxes";
94
+ export * from "./project/ProjectQueries";
80
95
  export * from "./project/ProjectSkeleton";
96
+ export * from "./project/ProjectUtils";
81
97
  export * from "./protocols";
82
98
  export * from "./sample/Sample";
83
99
  export * from "./sample/SampleLoader";
@@ -114,6 +130,7 @@ export * from "./timeline/event/InterpolationFieldAdapter";
114
130
  export * from "./timeline/event/NoteEventBoxAdapter";
115
131
  export * from "./timeline/event/ValueEventBoxAdapter";
116
132
  export * from "./timeline/region/AudioRegionBoxAdapter";
133
+ export * from "./timeline/region/MutableRegion";
117
134
  export * from "./timeline/region/NoteRegionBoxAdapter";
118
135
  export * from "./timeline/region/ValueRegionBoxAdapter";
119
136
  export * from "./unions";