@opendaw/studio-core 0.0.7 → 0.0.9
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.
- package/dist/ColorCodes.d.ts +7 -0
- package/dist/ColorCodes.d.ts.map +1 -0
- package/dist/ColorCodes.js +32 -0
- package/dist/Colors.d.ts +15 -0
- package/dist/Colors.d.ts.map +1 -0
- package/dist/Colors.js +15 -0
- package/dist/Effects.d.ts +154 -0
- package/dist/Effects.d.ts.map +1 -0
- package/dist/Effects.js +166 -0
- package/dist/EngineWorklet.d.ts +0 -2
- package/dist/EngineWorklet.d.ts.map +1 -1
- package/dist/EngineWorklet.js +0 -4
- package/dist/MeterWorklet.d.ts +1 -4
- package/dist/MeterWorklet.d.ts.map +1 -1
- package/dist/MeterWorklet.js +1 -8
- package/dist/Modifier.d.ts +21 -0
- package/dist/Modifier.d.ts.map +1 -0
- package/dist/Modifier.js +168 -0
- package/dist/RecordingWorklet.d.ts +2 -5
- package/dist/RecordingWorklet.d.ts.map +1 -1
- package/dist/RecordingWorklet.js +2 -13
- package/dist/RenderQuantum.d.ts +2 -0
- package/dist/RenderQuantum.d.ts.map +1 -0
- package/dist/RenderQuantum.js +1 -0
- package/dist/Worklets.d.ts +3 -9
- package/dist/Worklets.d.ts.map +1 -1
- package/dist/Worklets.js +13 -18
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/processors.js +6 -0
- package/dist/processors.js.map +7 -0
- package/package.json +20 -24
- package/dist/WorkletFactory.d.ts +0 -8
- package/dist/WorkletFactory.d.ts.map +0 -1
- package/dist/WorkletFactory.js +0 -9
- package/dist/engine-processor.js +0 -6
- package/dist/engine-processor.js.map +0 -7
- package/dist/meter-processor.js +0 -2
- package/dist/meter-processor.js.map +0 -7
- package/dist/recording-processor.js +0 -4
- package/dist/recording-processor.js.map +0 -7
package/dist/Modifier.js
ADDED
@@ -0,0 +1,168 @@
|
|
1
|
+
import { assert, Option, panic, UUID } from "@opendaw/lib-std";
|
2
|
+
import { PPQN } from "@opendaw/lib-dsp";
|
3
|
+
import { AudioUnitType } from "@opendaw/studio-enums";
|
4
|
+
import { AudioBusBox, AudioUnitBox, NoteClipBox, NoteEventCollectionBox, NoteRegionBox, TrackBox, ValueClipBox, ValueEventCollectionBox, ValueRegionBox } from "@opendaw/studio-boxes";
|
5
|
+
import { IconSymbol, TrackType } from "@opendaw/studio-adapters";
|
6
|
+
import { ColorCodes } from "./ColorCodes";
|
7
|
+
export var Modifier;
|
8
|
+
(function (Modifier) {
|
9
|
+
const AudioUnitOrdering = {
|
10
|
+
[AudioUnitType.Instrument]: 0,
|
11
|
+
[AudioUnitType.Aux]: 1,
|
12
|
+
[AudioUnitType.Bus]: 2,
|
13
|
+
[AudioUnitType.Output]: 3
|
14
|
+
};
|
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);
|
72
|
+
box.index.setValue(0);
|
73
|
+
box.type.setValue(TrackType.Undefined);
|
74
|
+
});
|
75
|
+
audioBusBox.output.refer(audioUnitBox.input);
|
76
|
+
return audioBusBox;
|
77
|
+
};
|
78
|
+
Modifier.createEffect = (project, host, entry, newIndex) => {
|
79
|
+
let chain;
|
80
|
+
let field;
|
81
|
+
if (entry.type === "audio") {
|
82
|
+
chain = host.audioEffects.adapters();
|
83
|
+
field = host.audioEffects.field();
|
84
|
+
}
|
85
|
+
else if (entry.type === "midi") {
|
86
|
+
chain = host.midiEffects.adapters();
|
87
|
+
field = host.midiEffects.field();
|
88
|
+
}
|
89
|
+
else {
|
90
|
+
return panic(`Unknown factory type: ${entry.type}`);
|
91
|
+
}
|
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;
|
98
|
+
});
|
99
|
+
};
|
100
|
+
Modifier.createClip = (clips, clipIndex, { name } = {}) => {
|
101
|
+
if (clips.collection.getAdapterByIndex(clipIndex).nonEmpty()) {
|
102
|
+
console.warn("Cannot create Clip on occupied cell.");
|
103
|
+
return Option.None;
|
104
|
+
}
|
105
|
+
const graph = clips.trackBoxAdapter.box.graph;
|
106
|
+
const type = clips.trackBoxAdapter.type;
|
107
|
+
switch (type) {
|
108
|
+
case TrackType.Notes: {
|
109
|
+
const events = NoteEventCollectionBox.create(graph, UUID.generate());
|
110
|
+
return Option.wrap(NoteClipBox.create(graph, UUID.generate(), box => {
|
111
|
+
box.index.setValue(clipIndex);
|
112
|
+
box.label.setValue(name ?? "Notes");
|
113
|
+
box.hue.setValue(ColorCodes.forTrackType(type));
|
114
|
+
box.mute.setValue(false);
|
115
|
+
box.duration.setValue(PPQN.Bar);
|
116
|
+
box.clips.refer(clips.trackBoxAdapter.box.clips);
|
117
|
+
box.events.refer(events.owners);
|
118
|
+
}));
|
119
|
+
}
|
120
|
+
case TrackType.Value: {
|
121
|
+
const events = ValueEventCollectionBox.create(graph, UUID.generate());
|
122
|
+
return Option.wrap(ValueClipBox.create(graph, UUID.generate(), box => {
|
123
|
+
box.index.setValue(clipIndex);
|
124
|
+
box.label.setValue(name ?? "CV");
|
125
|
+
box.hue.setValue(ColorCodes.forTrackType(type));
|
126
|
+
box.mute.setValue(false);
|
127
|
+
box.duration.setValue(PPQN.Bar);
|
128
|
+
box.events.refer(events.owners);
|
129
|
+
box.clips.refer(clips.trackBoxAdapter.box.clips);
|
130
|
+
}));
|
131
|
+
}
|
132
|
+
}
|
133
|
+
return Option.None;
|
134
|
+
};
|
135
|
+
Modifier.createRegion = (regions, position, duration, { name } = {}) => {
|
136
|
+
const graph = regions.trackBoxAdapter.box.graph;
|
137
|
+
const type = regions.trackBoxAdapter.type;
|
138
|
+
switch (type) {
|
139
|
+
case TrackType.Notes: {
|
140
|
+
const events = NoteEventCollectionBox.create(graph, UUID.generate());
|
141
|
+
return Option.wrap(NoteRegionBox.create(graph, UUID.generate(), box => {
|
142
|
+
box.position.setValue(Math.max(position, 0));
|
143
|
+
box.label.setValue(name ?? "Notes");
|
144
|
+
box.hue.setValue(ColorCodes.forTrackType(type));
|
145
|
+
box.mute.setValue(false);
|
146
|
+
box.duration.setValue(duration);
|
147
|
+
box.loopDuration.setValue(PPQN.Bar);
|
148
|
+
box.events.refer(events.owners);
|
149
|
+
box.regions.refer(regions.trackBoxAdapter.box.regions);
|
150
|
+
}));
|
151
|
+
}
|
152
|
+
case TrackType.Value: {
|
153
|
+
const events = ValueEventCollectionBox.create(graph, UUID.generate());
|
154
|
+
return Option.wrap(ValueRegionBox.create(graph, UUID.generate(), box => {
|
155
|
+
box.position.setValue(Math.max(position, 0));
|
156
|
+
box.label.setValue(name ?? "Automation");
|
157
|
+
box.hue.setValue(ColorCodes.forTrackType(type));
|
158
|
+
box.mute.setValue(false);
|
159
|
+
box.duration.setValue(duration);
|
160
|
+
box.loopDuration.setValue(PPQN.Bar);
|
161
|
+
box.events.refer(events.owners);
|
162
|
+
box.regions.refer(regions.trackBoxAdapter.box.regions);
|
163
|
+
}));
|
164
|
+
}
|
165
|
+
}
|
166
|
+
return Option.None;
|
167
|
+
};
|
168
|
+
})(Modifier || (Modifier = {}));
|
@@ -1,9 +1,6 @@
|
|
1
|
-
import {
|
2
|
-
import { WorkletFactory } from "./WorkletFactory";
|
1
|
+
import { RingBuffer } from "@opendaw/studio-adapters";
|
3
2
|
export declare class RecordingWorklet extends AudioWorkletNode {
|
4
3
|
#private;
|
5
|
-
|
6
|
-
static create(factory: WorkletFactory<RecordingWorklet>, numChannels: int, numChunks?: int): RecordingWorklet;
|
7
|
-
private constructor();
|
4
|
+
constructor(context: BaseAudioContext, config: RingBuffer.Config);
|
8
5
|
}
|
9
6
|
//# sourceMappingURL=RecordingWorklet.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"RecordingWorklet.d.ts","sourceRoot":"","sources":["../src/RecordingWorklet.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"RecordingWorklet.d.ts","sourceRoot":"","sources":["../src/RecordingWorklet.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,UAAU,EAAC,MAAM,0BAA0B,CAAA;AAIrE,qBAAa,gBAAiB,SAAQ,gBAAgB;;gBAGtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM;CAuBnE"}
|
package/dist/RecordingWorklet.js
CHANGED
@@ -1,25 +1,14 @@
|
|
1
1
|
import { EmptyExec } from "@opendaw/lib-std";
|
2
2
|
import { Files } from "@opendaw/lib-dom";
|
3
3
|
import { mergeChunkPlanes, RingBuffer } from "@opendaw/studio-adapters";
|
4
|
-
import { WorkletFactory } from "./WorkletFactory";
|
5
4
|
import { encodeWavFloat } from "./Wav";
|
6
|
-
|
5
|
+
import { RenderQuantum } from "./RenderQuantum";
|
7
6
|
export class RecordingWorklet extends AudioWorkletNode {
|
8
|
-
static async bootFactory(context, url) {
|
9
|
-
return WorkletFactory.boot(context, url);
|
10
|
-
}
|
11
|
-
static create(factory, numChannels, numChunks = 64) {
|
12
|
-
const audioBytes = numChannels * numChunks * RenderQuantum * Float32Array.BYTES_PER_ELEMENT;
|
13
|
-
const pointerBytes = Int32Array.BYTES_PER_ELEMENT * 2;
|
14
|
-
const sab = new SharedArrayBuffer(audioBytes + pointerBytes);
|
15
|
-
const buffer = { sab, numChunks, numChannels, bufferSize: RenderQuantum };
|
16
|
-
return factory.create(context => new RecordingWorklet(context, buffer));
|
17
|
-
}
|
18
7
|
#reader;
|
19
8
|
constructor(context, config) {
|
20
9
|
super(context, "recording-processor", {
|
21
10
|
numberOfInputs: 1,
|
22
|
-
channelCount: config.
|
11
|
+
channelCount: config.numberOfChannels,
|
23
12
|
channelCountMode: "explicit",
|
24
13
|
processorOptions: config
|
25
14
|
});
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"RenderQuantum.d.ts","sourceRoot":"","sources":["../src/RenderQuantum.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,MAAM,CAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export const RenderQuantum = 128;
|
package/dist/Worklets.d.ts
CHANGED
@@ -1,20 +1,14 @@
|
|
1
1
|
import { int } from "@opendaw/lib-std";
|
2
2
|
import { ExportStemsConfiguration } from "@opendaw/studio-adapters";
|
3
|
-
import { WorkletFactory } from "./WorkletFactory";
|
4
3
|
import { EngineWorklet } from "./EngineWorklet";
|
5
4
|
import { MeterWorklet } from "./MeterWorklet";
|
6
5
|
import { RecordingWorklet } from "./RecordingWorklet";
|
7
6
|
import { Project } from "./Project";
|
8
|
-
export type WorkletUrls = {
|
9
|
-
meter: string;
|
10
|
-
engine: string;
|
11
|
-
recording: string;
|
12
|
-
};
|
13
7
|
export declare class Worklets {
|
14
8
|
#private;
|
15
|
-
static install(context:
|
16
|
-
static get(context:
|
17
|
-
constructor(
|
9
|
+
static install(context: BaseAudioContext, workletURL: string): Promise<Worklets>;
|
10
|
+
static get(context: BaseAudioContext): Worklets;
|
11
|
+
constructor(context: BaseAudioContext);
|
18
12
|
createMeter(numberOfChannels: int): MeterWorklet;
|
19
13
|
createEngine(project: Project, exportConfiguration?: ExportStemsConfiguration): EngineWorklet;
|
20
14
|
createRecording(numberOfChannels: int, numChunks: int): RecordingWorklet;
|
package/dist/Worklets.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Worklets.d.ts","sourceRoot":"","sources":["../src/Worklets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,GAAG,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,wBAAwB,
|
1
|
+
{"version":3,"file":"Worklets.d.ts","sourceRoot":"","sources":["../src/Worklets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,GAAG,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,wBAAwB,EAAa,MAAM,0BAA0B,CAAA;AAC7E,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAGjC,qBAAa,QAAQ;;WACJ,OAAO,CAAC,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAQtF,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,GAAG,QAAQ;gBAMnC,OAAO,EAAE,gBAAgB;IAErC,WAAW,CAAC,gBAAgB,EAAE,GAAG,GAAG,YAAY;IAIhD,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,mBAAmB,CAAC,EAAE,wBAAwB,GAAG,aAAa;IAI7F,eAAe,CAAC,gBAAgB,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,GAAG,gBAAgB;CAO3E"}
|
package/dist/Worklets.js
CHANGED
@@ -2,35 +2,30 @@ import { asDefined } from "@opendaw/lib-std";
|
|
2
2
|
import { EngineWorklet } from "./EngineWorklet";
|
3
3
|
import { MeterWorklet } from "./MeterWorklet";
|
4
4
|
import { RecordingWorklet } from "./RecordingWorklet";
|
5
|
+
import { RenderQuantum } from "./RenderQuantum";
|
5
6
|
export class Worklets {
|
6
|
-
static async install(context,
|
7
|
-
return
|
8
|
-
|
9
|
-
MeterWorklet.bootFactory(context, meter),
|
10
|
-
RecordingWorklet.bootFactory(context, recording)
|
11
|
-
]).then(([engine, meter, recording]) => {
|
12
|
-
const worklets = new Worklets(engine, meter, recording);
|
7
|
+
static async install(context, workletURL) {
|
8
|
+
return context.audioWorklet.addModule(workletURL).then(() => {
|
9
|
+
const worklets = new Worklets(context);
|
13
10
|
this.#map.set(context, worklets);
|
14
11
|
return worklets;
|
15
12
|
});
|
16
13
|
}
|
17
14
|
static get(context) { return asDefined(this.#map.get(context), "Worklets not installed"); }
|
18
15
|
static #map = new WeakMap();
|
19
|
-
#
|
20
|
-
|
21
|
-
#recording;
|
22
|
-
constructor(engine, meter, recording) {
|
23
|
-
this.#meter = meter;
|
24
|
-
this.#engine = engine;
|
25
|
-
this.#recording = recording;
|
26
|
-
}
|
16
|
+
#context;
|
17
|
+
constructor(context) { this.#context = context; }
|
27
18
|
createMeter(numberOfChannels) {
|
28
|
-
return MeterWorklet
|
19
|
+
return new MeterWorklet(this.#context, numberOfChannels);
|
29
20
|
}
|
30
21
|
createEngine(project, exportConfiguration) {
|
31
|
-
return
|
22
|
+
return new EngineWorklet(this.#context, project, exportConfiguration);
|
32
23
|
}
|
33
24
|
createRecording(numberOfChannels, numChunks) {
|
34
|
-
|
25
|
+
const audioBytes = numberOfChannels * numChunks * RenderQuantum * Float32Array.BYTES_PER_ELEMENT;
|
26
|
+
const pointerBytes = Int32Array.BYTES_PER_ELEMENT * 2;
|
27
|
+
const sab = new SharedArrayBuffer(audioBytes + pointerBytes);
|
28
|
+
const buffer = { sab, numChunks, numberOfChannels, bufferSize: RenderQuantum };
|
29
|
+
return new RecordingWorklet(this.#context, buffer);
|
35
30
|
}
|
36
31
|
}
|
package/dist/index.d.ts
CHANGED
@@ -6,14 +6,17 @@ export * from "./samples/SampleStorage";
|
|
6
6
|
export * from "./samples/MainThreadSampleLoader";
|
7
7
|
export * from "./samples/MainThreadSampleManager";
|
8
8
|
export * from "./samples/SampleProvider";
|
9
|
+
export * from "./ColorCodes";
|
10
|
+
export * from "./Colors";
|
11
|
+
export * from "./Effects";
|
9
12
|
export * from "./Engine";
|
10
13
|
export * from "./EngineFacade";
|
11
14
|
export * from "./EngineWorklet";
|
12
15
|
export * from "./Mixer";
|
16
|
+
export * from "./Modifier";
|
13
17
|
export * from "./Project";
|
14
18
|
export * from "./ProjectEnv";
|
15
19
|
export * from "./Wav";
|
16
20
|
export * from "./WorkerAgents";
|
17
|
-
export * from "./WorkletFactory";
|
18
21
|
export * from "./Worklets";
|
19
22
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
@@ -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,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,OAAO,CAAA;AACrB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,
|
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"}
|
package/dist/index.js
CHANGED
@@ -6,13 +6,16 @@ export * from "./samples/SampleStorage";
|
|
6
6
|
export * from "./samples/MainThreadSampleLoader";
|
7
7
|
export * from "./samples/MainThreadSampleManager";
|
8
8
|
export * from "./samples/SampleProvider";
|
9
|
+
export * from "./ColorCodes";
|
10
|
+
export * from "./Colors";
|
11
|
+
export * from "./Effects";
|
9
12
|
export * from "./Engine";
|
10
13
|
export * from "./EngineFacade";
|
11
14
|
export * from "./EngineWorklet";
|
12
15
|
export * from "./Mixer";
|
16
|
+
export * from "./Modifier";
|
13
17
|
export * from "./Project";
|
14
18
|
export * from "./ProjectEnv";
|
15
19
|
export * from "./Wav";
|
16
20
|
export * from "./WorkerAgents";
|
17
|
-
export * from "./WorkletFactory";
|
18
21
|
export * from "./Worklets";
|