@opendaw/studio-core 0.0.9 → 0.0.11

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 (43) hide show
  1. package/dist/EffectFactories.d.ts +38 -0
  2. package/dist/EffectFactories.d.ts.map +1 -0
  3. package/dist/EffectFactories.js +163 -0
  4. package/dist/EffectFactory.d.ts +13 -0
  5. package/dist/EffectFactory.d.ts.map +1 -0
  6. package/dist/EffectFactory.js +1 -0
  7. package/dist/InstrumentBox.d.ts +3 -0
  8. package/dist/InstrumentBox.d.ts.map +1 -0
  9. package/dist/InstrumentBox.js +1 -0
  10. package/dist/InstrumentFactories.d.ts +15 -0
  11. package/dist/InstrumentFactories.d.ts.map +1 -0
  12. package/dist/InstrumentFactories.js +97 -0
  13. package/dist/InstrumentFactory.d.ts +11 -0
  14. package/dist/InstrumentFactory.d.ts.map +1 -0
  15. package/dist/InstrumentFactory.js +1 -0
  16. package/dist/InstrumentOptions.d.ts +8 -0
  17. package/dist/InstrumentOptions.d.ts.map +1 -0
  18. package/dist/InstrumentOptions.js +1 -0
  19. package/dist/InstrumentProduct.d.ts +8 -0
  20. package/dist/InstrumentProduct.d.ts.map +1 -0
  21. package/dist/InstrumentProduct.js +1 -0
  22. package/dist/Project.d.ts +3 -1
  23. package/dist/Project.d.ts.map +1 -1
  24. package/dist/Project.js +7 -59
  25. package/dist/ProjectApi.d.ts +32 -0
  26. package/dist/ProjectApi.d.ts.map +1 -0
  27. package/dist/{Modifier.js → ProjectApi.js} +130 -100
  28. package/dist/ProjectMigration.d.ts +5 -0
  29. package/dist/ProjectMigration.d.ts.map +1 -0
  30. package/dist/ProjectMigration.js +60 -0
  31. package/dist/index.d.ts +8 -2
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +8 -2
  34. package/dist/processors.js +1 -1
  35. package/dist/processors.js.map +3 -3
  36. package/dist/workers.js +2 -2
  37. package/dist/workers.js.map +4 -4
  38. package/package.json +16 -16
  39. package/dist/Effects.d.ts +0 -154
  40. package/dist/Effects.d.ts.map +0 -1
  41. package/dist/Effects.js +0 -166
  42. package/dist/Modifier.d.ts +0 -21
  43. package/dist/Modifier.d.ts.map +0 -1
@@ -1,144 +1,109 @@
1
- import { assert, Option, panic, UUID } from "@opendaw/lib-std";
2
- import { PPQN } from "@opendaw/lib-dsp";
1
+ import { assert, Option, panic, Strings, UUID } from "@opendaw/lib-std";
3
2
  import { AudioUnitType } from "@opendaw/studio-enums";
4
3
  import { AudioBusBox, AudioUnitBox, NoteClipBox, NoteEventCollectionBox, NoteRegionBox, TrackBox, ValueClipBox, ValueEventCollectionBox, ValueRegionBox } from "@opendaw/studio-boxes";
5
- import { IconSymbol, TrackType } from "@opendaw/studio-adapters";
4
+ import { AudioUnitBoxAdapter, IconSymbol, TrackType } from "@opendaw/studio-adapters";
6
5
  import { ColorCodes } from "./ColorCodes";
7
- export var Modifier;
8
- (function (Modifier) {
9
- const AudioUnitOrdering = {
6
+ import { PPQN } from "@opendaw/lib-dsp";
7
+ export class ProjectApi {
8
+ static AudioUnitOrdering = {
10
9
  [AudioUnitType.Instrument]: 0,
11
10
  [AudioUnitType.Aux]: 1,
12
11
  [AudioUnitType.Bus]: 2,
13
12
  [AudioUnitType.Output]: 3
14
13
  };
15
- Modifier.createAudioUnit = ({ boxGraph, rootBox, rootBoxAdapter, masterBusBox }, type, index) => {
16
- const insertIndex = index ?? Modifier.pushAudioUnitsIndices(rootBoxAdapter, type, 1);
17
- console.debug(`createAudioUnit type: ${type}, insertIndex: ${insertIndex}`);
18
- return AudioUnitBox.create(boxGraph, UUID.generate(), box => {
19
- box.collection.refer(rootBox.audioUnits);
20
- box.output.refer(masterBusBox.input);
21
- box.index.setValue(insertIndex);
22
- box.type.setValue(type);
23
- });
24
- };
25
- Modifier.pushAudioUnitsIndices = (rootBoxAdapter, type, count = 1) => {
26
- const adapters = rootBoxAdapter.audioUnits.adapters();
27
- const order = AudioUnitOrdering[type];
28
- let index = 0 | 0;
29
- for (; index < adapters.length; index++) {
30
- if (AudioUnitOrdering[adapters[index].type] > order) {
31
- break;
32
- }
33
- }
34
- const insertIndex = index;
35
- while (index < adapters.length) {
36
- adapters[index].indexField.setValue(count + index++);
37
- }
38
- return insertIndex;
39
- };
40
- Modifier.deleteAudioUnit = ({ rootBoxAdapter }, adapter) => {
41
- const adapters = rootBoxAdapter.audioUnits.adapters();
42
- const boxIndex = adapter.indexField.getValue();
43
- const deleteIndex = adapters.indexOf(adapter);
44
- console.debug(`deleteAudioUnit adapter: ${adapter.toString()}, deleteIndex: ${deleteIndex}, indexField: ${boxIndex}`);
45
- if (deleteIndex === -1) {
46
- return panic(`Cannot delete ${adapter}. Does not exist.`);
47
- }
48
- if (deleteIndex !== boxIndex) {
49
- console.debug("indices", adapters.map(x => x.box.index.getValue()).join(", "));
50
- return panic(`Cannot delete ${adapter}. Wrong index.`);
51
- }
52
- for (let index = deleteIndex + 1; index < adapters.length; index++) {
53
- adapters[index].indexField.setValue(index - 1);
54
- }
55
- adapter.box.delete();
56
- };
57
- Modifier.createAudioBus = (project, name, icon, type, color) => {
58
- console.debug(`createAudioBus '${name}', type: ${type}, color: ${color}`);
59
- const { rootBox, boxGraph } = project;
60
- assert(rootBox.audioBusses.isAttached(), "rootBox not attached");
61
- const uuid = UUID.generate();
62
- const audioBusBox = AudioBusBox.create(boxGraph, uuid, box => {
63
- box.collection.refer(rootBox.audioBusses);
64
- box.label.setValue(name);
65
- box.icon.setValue(IconSymbol.toName(icon));
66
- box.color.setValue(color);
67
- });
68
- const audioUnitBox = Modifier.createAudioUnit(project, type);
69
- TrackBox.create(boxGraph, UUID.generate(), box => {
70
- box.tracks.refer(audioUnitBox.tracks);
71
- box.target.refer(audioUnitBox);
14
+ #project;
15
+ constructor(project) { this.#project = project; }
16
+ createInstrument({ create, defaultIcon, defaultName, trackType }, { name, icon, index } = {}) {
17
+ const { boxGraph, boxAdapters, rootBoxAdapter, userEditingManager } = this.#project;
18
+ const existingNames = rootBoxAdapter.audioUnits.adapters()
19
+ .map(adapter => adapter.input.getValue().match({
20
+ none: () => "Untitled",
21
+ some: adapter => adapter.labelField.getValue()
22
+ }));
23
+ const audioUnitBox = this.#createAudioUnit(AudioUnitType.Instrument, index);
24
+ const audioUnitBoxAdapter = boxAdapters.adapterFor(audioUnitBox, AudioUnitBoxAdapter);
25
+ const uniqueName = Strings.getUniqueName(existingNames, name ?? defaultName);
26
+ const iconSymbol = icon ?? defaultIcon;
27
+ const instrumentBox = create(boxGraph, audioUnitBoxAdapter, uniqueName, iconSymbol);
28
+ const trackBox = TrackBox.create(boxGraph, UUID.generate(), box => {
72
29
  box.index.setValue(0);
73
- box.type.setValue(TrackType.Undefined);
30
+ box.type.setValue(trackType);
31
+ box.tracks.refer(audioUnitBoxAdapter.tracksField);
32
+ box.target.refer(audioUnitBoxAdapter.audioUnitBoxAdapter().box);
74
33
  });
75
- audioBusBox.output.refer(audioUnitBox.input);
76
- return audioBusBox;
77
- };
78
- Modifier.createEffect = (project, host, entry, newIndex) => {
34
+ userEditingManager.audioUnit.edit(audioUnitBox.editing);
35
+ return { audioUnitBox, instrumentBox, trackBox };
36
+ }
37
+ createEffect(host, factory, newIndex) {
79
38
  let chain;
80
39
  let field;
81
- if (entry.type === "audio") {
40
+ if (factory.type === "audio") {
82
41
  chain = host.audioEffects.adapters();
83
42
  field = host.audioEffects.field();
84
43
  }
85
- else if (entry.type === "midi") {
44
+ else if (factory.type === "midi") {
86
45
  chain = host.midiEffects.adapters();
87
46
  field = host.midiEffects.field();
88
47
  }
89
48
  else {
90
- return panic(`Unknown factory type: ${entry.type}`);
49
+ return panic(`Unknown factory type: ${factory.type}`);
91
50
  }
92
- return project.editing.modify(() => {
93
- const box = entry.create(project, field, newIndex);
94
- for (let index = newIndex; index < chain.length; index++) {
95
- chain[index].indexField.setValue(index + 1);
96
- }
97
- return box;
51
+ const box = factory.create(this.#project, field, newIndex);
52
+ for (let index = newIndex; index < chain.length; index++) {
53
+ chain[index].indexField.setValue(index + 1);
54
+ }
55
+ return box;
56
+ }
57
+ createTrack(adapter, trackType, index = 0) {
58
+ return TrackBox.create(this.#project.boxGraph, UUID.generate(), box => {
59
+ box.index.setValue(index);
60
+ box.type.setValue(trackType);
61
+ box.tracks.refer(adapter.tracksField);
62
+ box.target.refer(adapter.audioUnitBoxAdapter().box);
98
63
  });
99
- };
100
- Modifier.createClip = (clips, clipIndex, { name } = {}) => {
101
- if (clips.collection.getAdapterByIndex(clipIndex).nonEmpty()) {
64
+ }
65
+ createClip({ collection, trackBoxAdapter }, clipIndex, { name } = {}) {
66
+ if (collection.getAdapterByIndex(clipIndex).nonEmpty()) {
102
67
  console.warn("Cannot create Clip on occupied cell.");
103
68
  return Option.None;
104
69
  }
105
- const graph = clips.trackBoxAdapter.box.graph;
106
- const type = clips.trackBoxAdapter.type;
70
+ const { boxGraph } = this.#project;
71
+ const type = trackBoxAdapter.type;
107
72
  switch (type) {
108
73
  case TrackType.Notes: {
109
- const events = NoteEventCollectionBox.create(graph, UUID.generate());
110
- return Option.wrap(NoteClipBox.create(graph, UUID.generate(), box => {
74
+ const events = NoteEventCollectionBox.create(boxGraph, UUID.generate());
75
+ return Option.wrap(NoteClipBox.create(boxGraph, UUID.generate(), box => {
111
76
  box.index.setValue(clipIndex);
112
77
  box.label.setValue(name ?? "Notes");
113
78
  box.hue.setValue(ColorCodes.forTrackType(type));
114
79
  box.mute.setValue(false);
115
80
  box.duration.setValue(PPQN.Bar);
116
- box.clips.refer(clips.trackBoxAdapter.box.clips);
81
+ box.clips.refer(trackBoxAdapter.box.clips);
117
82
  box.events.refer(events.owners);
118
83
  }));
119
84
  }
120
85
  case TrackType.Value: {
121
- const events = ValueEventCollectionBox.create(graph, UUID.generate());
122
- return Option.wrap(ValueClipBox.create(graph, UUID.generate(), box => {
86
+ const events = ValueEventCollectionBox.create(boxGraph, UUID.generate());
87
+ return Option.wrap(ValueClipBox.create(boxGraph, UUID.generate(), box => {
123
88
  box.index.setValue(clipIndex);
124
89
  box.label.setValue(name ?? "CV");
125
90
  box.hue.setValue(ColorCodes.forTrackType(type));
126
91
  box.mute.setValue(false);
127
92
  box.duration.setValue(PPQN.Bar);
128
93
  box.events.refer(events.owners);
129
- box.clips.refer(clips.trackBoxAdapter.box.clips);
94
+ box.clips.refer(trackBoxAdapter.box.clips);
130
95
  }));
131
96
  }
132
97
  }
133
98
  return Option.None;
134
- };
135
- Modifier.createRegion = (regions, position, duration, { name } = {}) => {
136
- const graph = regions.trackBoxAdapter.box.graph;
137
- const type = regions.trackBoxAdapter.type;
99
+ }
100
+ createRegion({ trackBoxAdapter }, position, duration, { name } = {}) {
101
+ const { boxGraph } = this.#project;
102
+ const type = trackBoxAdapter.type;
138
103
  switch (type) {
139
104
  case TrackType.Notes: {
140
- const events = NoteEventCollectionBox.create(graph, UUID.generate());
141
- return Option.wrap(NoteRegionBox.create(graph, UUID.generate(), box => {
105
+ const events = NoteEventCollectionBox.create(boxGraph, UUID.generate());
106
+ return Option.wrap(NoteRegionBox.create(boxGraph, UUID.generate(), box => {
142
107
  box.position.setValue(Math.max(position, 0));
143
108
  box.label.setValue(name ?? "Notes");
144
109
  box.hue.setValue(ColorCodes.forTrackType(type));
@@ -146,12 +111,12 @@ export var Modifier;
146
111
  box.duration.setValue(duration);
147
112
  box.loopDuration.setValue(PPQN.Bar);
148
113
  box.events.refer(events.owners);
149
- box.regions.refer(regions.trackBoxAdapter.box.regions);
114
+ box.regions.refer(trackBoxAdapter.box.regions);
150
115
  }));
151
116
  }
152
117
  case TrackType.Value: {
153
- const events = ValueEventCollectionBox.create(graph, UUID.generate());
154
- return Option.wrap(ValueRegionBox.create(graph, UUID.generate(), box => {
118
+ const events = ValueEventCollectionBox.create(boxGraph, UUID.generate());
119
+ return Option.wrap(ValueRegionBox.create(boxGraph, UUID.generate(), box => {
155
120
  box.position.setValue(Math.max(position, 0));
156
121
  box.label.setValue(name ?? "Automation");
157
122
  box.hue.setValue(ColorCodes.forTrackType(type));
@@ -159,10 +124,75 @@ export var Modifier;
159
124
  box.duration.setValue(duration);
160
125
  box.loopDuration.setValue(PPQN.Bar);
161
126
  box.events.refer(events.owners);
162
- box.regions.refer(regions.trackBoxAdapter.box.regions);
127
+ box.regions.refer(trackBoxAdapter.box.regions);
163
128
  }));
164
129
  }
165
130
  }
166
131
  return Option.None;
167
- };
168
- })(Modifier || (Modifier = {}));
132
+ }
133
+ createAudioBus(name, icon, type, color) {
134
+ console.debug(`createAudioBus '${name}', type: ${type}, color: ${color}`);
135
+ const { rootBox, boxGraph } = this.#project;
136
+ assert(rootBox.audioBusses.isAttached(), "rootBox not attached");
137
+ const uuid = UUID.generate();
138
+ const audioBusBox = AudioBusBox.create(boxGraph, uuid, box => {
139
+ box.collection.refer(rootBox.audioBusses);
140
+ box.label.setValue(name);
141
+ box.icon.setValue(IconSymbol.toName(icon));
142
+ box.color.setValue(color);
143
+ });
144
+ const audioUnitBox = this.#createAudioUnit(type);
145
+ TrackBox.create(boxGraph, UUID.generate(), box => {
146
+ box.tracks.refer(audioUnitBox.tracks);
147
+ box.target.refer(audioUnitBox);
148
+ box.index.setValue(0);
149
+ box.type.setValue(TrackType.Undefined);
150
+ });
151
+ audioBusBox.output.refer(audioUnitBox.input);
152
+ return audioBusBox;
153
+ }
154
+ deleteAudioUnit(adapter) {
155
+ const { rootBoxAdapter } = this.#project;
156
+ const adapters = rootBoxAdapter.audioUnits.adapters();
157
+ const boxIndex = adapter.indexField.getValue();
158
+ const deleteIndex = adapters.indexOf(adapter);
159
+ console.debug(`deleteAudioUnit adapter: ${adapter.toString()}, deleteIndex: ${deleteIndex}, indexField: ${boxIndex}`);
160
+ if (deleteIndex === -1) {
161
+ return panic(`Cannot delete ${adapter}. Does not exist.`);
162
+ }
163
+ if (deleteIndex !== boxIndex) {
164
+ console.debug("indices", adapters.map(x => x.box.index.getValue()).join(", "));
165
+ return panic(`Cannot delete ${adapter}. Wrong index.`);
166
+ }
167
+ for (let index = deleteIndex + 1; index < adapters.length; index++) {
168
+ adapters[index].indexField.setValue(index - 1);
169
+ }
170
+ adapter.box.delete();
171
+ }
172
+ #createAudioUnit(type, index) {
173
+ const { boxGraph, rootBox, rootBoxAdapter, masterBusBox } = this.#project;
174
+ const insertIndex = index ?? this.#pushAudioUnitsIndices(rootBoxAdapter, type, 1);
175
+ console.debug(`createAudioUnit type: ${type}, insertIndex: ${insertIndex}`);
176
+ return AudioUnitBox.create(boxGraph, UUID.generate(), box => {
177
+ box.collection.refer(rootBox.audioUnits);
178
+ box.output.refer(masterBusBox.input);
179
+ box.index.setValue(insertIndex);
180
+ box.type.setValue(type);
181
+ });
182
+ }
183
+ #pushAudioUnitsIndices(rootBoxAdapter, type, count = 1) {
184
+ const adapters = rootBoxAdapter.audioUnits.adapters();
185
+ const order = ProjectApi.AudioUnitOrdering[type];
186
+ let index = 0 | 0;
187
+ for (; index < adapters.length; index++) {
188
+ if (ProjectApi.AudioUnitOrdering[adapters[index].type] > order) {
189
+ break;
190
+ }
191
+ }
192
+ const insertIndex = index;
193
+ while (index < adapters.length) {
194
+ adapters[index].indexField.setValue(count + index++);
195
+ }
196
+ return insertIndex;
197
+ }
198
+ }
@@ -0,0 +1,5 @@
1
+ import { ProjectDecoder } from "@opendaw/studio-adapters";
2
+ export declare class ProjectMigration {
3
+ static migrate({ boxGraph, mandatoryBoxes }: ProjectDecoder.Skeleton): void;
4
+ }
5
+ //# sourceMappingURL=ProjectMigration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectMigration.d.ts","sourceRoot":"","sources":["../src/ProjectMigration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,0BAA0B,CAAA;AAUvD,qBAAa,gBAAgB;IACzB,MAAM,CAAC,OAAO,CAAC,EAAC,QAAQ,EAAE,cAAc,EAAC,EAAE,cAAc,CAAC,QAAQ,GAAG,IAAI;CAoD5E"}
@@ -0,0 +1,60 @@
1
+ import { GrooveShuffleBox, ValueEventCurveBox } from "@opendaw/studio-boxes";
2
+ import { asInstanceOf, UUID } from "@opendaw/lib-std";
3
+ export class ProjectMigration {
4
+ static migrate({ boxGraph, mandatoryBoxes }) {
5
+ const { rootBox } = mandatoryBoxes;
6
+ if (rootBox.groove.targetAddress.isEmpty()) {
7
+ console.debug("Migrate to global GrooveShuffleBox");
8
+ boxGraph.beginTransaction();
9
+ rootBox.groove.refer(GrooveShuffleBox.create(boxGraph, UUID.generate()));
10
+ boxGraph.endTransaction();
11
+ }
12
+ const globalShuffle = asInstanceOf(rootBox.groove.targetVertex.unwrap(), GrooveShuffleBox).label;
13
+ if (globalShuffle.getValue() !== "Groove Shuffle") {
14
+ boxGraph.beginTransaction();
15
+ globalShuffle.setValue("Groove Shuffle");
16
+ boxGraph.endTransaction();
17
+ }
18
+ // TODO We can remove this when we delete all not-migrated, local(!) project files from my machine
19
+ boxGraph.boxes().forEach(box => box.accept({
20
+ visitZeitgeistDeviceBox: (box) => {
21
+ if (box.groove.targetAddress.isEmpty()) {
22
+ console.debug("Migrate 'ZeitgeistDeviceBox' to GrooveShuffleBox");
23
+ boxGraph.beginTransaction();
24
+ box.groove.refer(rootBox.groove.targetVertex.unwrap());
25
+ boxGraph.endTransaction();
26
+ }
27
+ },
28
+ visitValueEventBox: (eventBox) => {
29
+ const slope = eventBox.slope.getValue();
30
+ if (isNaN(slope)) {
31
+ return;
32
+ } // already migrated, nothing to do
33
+ if (slope === 0.0) { // never set
34
+ console.debug("Migrate 'ValueEventBox'");
35
+ boxGraph.beginTransaction();
36
+ eventBox.slope.setValue(NaN);
37
+ boxGraph.endTransaction();
38
+ }
39
+ else if (eventBox.interpolation.getValue() === 1) { // linear
40
+ if (slope === 0.5) {
41
+ console.debug("Migrate 'ValueEventBox' to linear");
42
+ boxGraph.beginTransaction();
43
+ eventBox.slope.setValue(NaN);
44
+ boxGraph.endTransaction();
45
+ }
46
+ else {
47
+ console.debug("Migrate 'ValueEventBox' to new ValueEventCurveBox");
48
+ boxGraph.beginTransaction();
49
+ ValueEventCurveBox.create(boxGraph, UUID.generate(), box => {
50
+ box.event.refer(eventBox.interpolation);
51
+ box.slope.setValue(slope);
52
+ });
53
+ eventBox.slope.setValue(NaN);
54
+ boxGraph.endTransaction();
55
+ }
56
+ }
57
+ }
58
+ }));
59
+ }
60
+ }
package/dist/index.d.ts CHANGED
@@ -8,13 +8,19 @@ export * from "./samples/MainThreadSampleManager";
8
8
  export * from "./samples/SampleProvider";
9
9
  export * from "./ColorCodes";
10
10
  export * from "./Colors";
11
- export * from "./Effects";
11
+ export * from "./EffectFactory";
12
+ export * from "./EffectFactories";
12
13
  export * from "./Engine";
13
14
  export * from "./EngineFacade";
14
15
  export * from "./EngineWorklet";
16
+ export * from "./InstrumentBox";
17
+ export * from "./InstrumentFactories";
18
+ export * from "./InstrumentFactory";
19
+ export * from "./InstrumentOptions";
20
+ export * from "./InstrumentProduct";
15
21
  export * from "./Mixer";
16
- export * from "./Modifier";
17
22
  export * from "./Project";
23
+ export * from "./ProjectApi";
18
24
  export * from "./ProjectEnv";
19
25
  export * from "./Wav";
20
26
  export * from "./WorkerAgents";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AAExC,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,kCAAkC,CAAA;AAChD,cAAc,mCAAmC,CAAA;AACjD,cAAc,0BAA0B,CAAA;AAExC,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,OAAO,CAAA;AACrB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AAExC,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,kCAAkC,CAAA;AAChD,cAAc,mCAAmC,CAAA;AACjD,cAAc,0BAA0B,CAAA;AAExC,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,OAAO,CAAA;AACrB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA"}
package/dist/index.js CHANGED
@@ -8,13 +8,19 @@ export * from "./samples/MainThreadSampleManager";
8
8
  export * from "./samples/SampleProvider";
9
9
  export * from "./ColorCodes";
10
10
  export * from "./Colors";
11
- export * from "./Effects";
11
+ export * from "./EffectFactory";
12
+ export * from "./EffectFactories";
12
13
  export * from "./Engine";
13
14
  export * from "./EngineFacade";
14
15
  export * from "./EngineWorklet";
16
+ export * from "./InstrumentBox";
17
+ export * from "./InstrumentFactories";
18
+ export * from "./InstrumentFactory";
19
+ export * from "./InstrumentOptions";
20
+ export * from "./InstrumentProduct";
15
21
  export * from "./Mixer";
16
- export * from "./Modifier";
17
22
  export * from "./Project";
23
+ export * from "./ProjectApi";
18
24
  export * from "./ProjectEnv";
19
25
  export * from "./Wav";
20
26
  export * from "./WorkerAgents";