@opendaw/studio-core 0.0.24 → 0.0.25
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/AudioOfflineRenderer.d.ts +8 -0
- package/dist/AudioOfflineRenderer.d.ts.map +1 -0
- package/dist/AudioOfflineRenderer.js +88 -0
- package/dist/AudioWorklets.d.ts +1 -1
- package/dist/AudioWorklets.d.ts.map +1 -1
- package/dist/AudioWorklets.js +3 -2
- package/dist/FilePickerAcceptTypes.d.ts +8 -0
- package/dist/FilePickerAcceptTypes.d.ts.map +1 -0
- package/dist/FilePickerAcceptTypes.js +27 -0
- package/dist/MidiDevices.d.ts +2 -1
- package/dist/MidiDevices.d.ts.map +1 -1
- package/dist/MidiDevices.js +12 -1
- package/dist/WorkerAgents.d.ts +1 -1
- package/dist/WorkerAgents.d.ts.map +1 -1
- package/dist/WorkerAgents.js +3 -3
- package/dist/capture/CaptureAudio.d.ts.map +1 -1
- package/dist/capture/CaptureAudio.js +7 -2
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/processors.js +2 -2
- package/dist/processors.js.map +4 -4
- package/dist/project/Project.d.ts +1 -1
- package/dist/project/Project.d.ts.map +1 -1
- package/dist/project/Project.js +3 -3
- package/dist/project/ProjectEnv.d.ts +0 -7
- package/dist/project/ProjectEnv.d.ts.map +1 -1
- package/dist/samples/OpenSampleAPI.d.ts +14 -0
- package/dist/samples/OpenSampleAPI.d.ts.map +1 -0
- package/dist/samples/OpenSampleAPI.js +109 -0
- package/dist/samples/SampleAPI.d.ts +10 -0
- package/dist/samples/SampleAPI.d.ts.map +1 -0
- package/dist/samples/SampleAPI.js +1 -0
- package/dist/samples/SampleImporter.d.ts +11 -0
- package/dist/samples/SampleImporter.d.ts.map +1 -0
- package/dist/samples/SampleImporter.js +1 -0
- package/dist/workers.js +2 -2
- package/dist/workers.js.map +4 -4
- package/package.json +14 -14
@@ -36,7 +36,7 @@ export declare class Project implements BoxAdaptersContext, Terminable, Terminab
|
|
36
36
|
readonly mixer: Mixer;
|
37
37
|
readonly engine: EngineFacade;
|
38
38
|
private constructor();
|
39
|
-
startAudioWorklet(worklets: AudioWorklets, restart
|
39
|
+
startAudioWorklet(worklets: AudioWorklets, restart?: RestartWorklet): EngineWorklet;
|
40
40
|
startRecording(countIn?: boolean): void;
|
41
41
|
own<T extends Terminable>(terminable: T): T;
|
42
42
|
ownAll<T extends Terminable>(...terminables: Array<T>): void;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Project.d.ts","sourceRoot":"","sources":["../../src/project/Project.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,SAAS,
|
1
|
+
{"version":3,"file":"Project.d.ts","sourceRoot":"","sources":["../../src/project/Project.ts"],"names":[],"mappings":"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"}
|
package/dist/project/Project.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { ByteArrayOutput, Option, panic, Terminator, UUID } from "@opendaw/lib-std";
|
1
|
+
import { ByteArrayOutput, Option, panic, safeExecute, Terminator, UUID } from "@opendaw/lib-std";
|
2
2
|
import { BoxGraph, Editing } from "@opendaw/lib-box";
|
3
3
|
import { AudioBusBox, AudioUnitBox, BoxIO, GrooveShuffleBox, RootBox, TimelineBox, UserInterfaceBox } from "@opendaw/studio-boxes";
|
4
4
|
import { BoxAdapters, IconSymbol, ParameterFieldAdapters, ProjectDecoder, RootBoxAdapter, TimelineBoxAdapter, UserEditingManager, VertexSelection } from "@opendaw/studio-adapters";
|
@@ -107,9 +107,9 @@ export class Project {
|
|
107
107
|
// we will only accept the first error
|
108
108
|
engine.removeEventListener("error", handler);
|
109
109
|
engine.removeEventListener("processorerror", handler);
|
110
|
-
restart
|
110
|
+
safeExecute(restart?.unload, event);
|
111
111
|
lifecycle.terminate();
|
112
|
-
restart
|
112
|
+
safeExecute(restart?.load, this.startAudioWorklet(worklets, restart));
|
113
113
|
};
|
114
114
|
engine.addEventListener("error", handler);
|
115
115
|
engine.addEventListener("processorerror", handler);
|
@@ -1,15 +1,8 @@
|
|
1
1
|
import { SampleManager } from "@opendaw/studio-adapters";
|
2
2
|
import { AudioWorklets } from "../AudioWorklets";
|
3
3
|
export interface ProjectEnv {
|
4
|
-
dialogs?: ProjectEnv.Dialogs;
|
5
4
|
audioContext: AudioContext;
|
6
5
|
audioWorklets: AudioWorklets;
|
7
6
|
sampleManager: SampleManager;
|
8
7
|
}
|
9
|
-
export declare namespace ProjectEnv {
|
10
|
-
interface Dialogs {
|
11
|
-
info(headline: string, message: string, okText: string): Promise<void>;
|
12
|
-
approve(headline: string, message: string, approveText: string, cancelText: string): Promise<boolean>;
|
13
|
-
}
|
14
|
-
}
|
15
8
|
//# sourceMappingURL=ProjectEnv.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ProjectEnv.d.ts","sourceRoot":"","sources":["../../src/project/ProjectEnv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAA;AAE9C,MAAM,WAAW,UAAU;IACvB,
|
1
|
+
{"version":3,"file":"ProjectEnv.d.ts","sourceRoot":"","sources":["../../src/project/ProjectEnv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAA;AAE9C,MAAM,WAAW,UAAU;IACvB,YAAY,EAAE,YAAY,CAAA;IAC1B,aAAa,EAAE,aAAa,CAAA;IAC5B,aAAa,EAAE,aAAa,CAAA;CAC/B"}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { Procedure, unitValue, UUID } from "@opendaw/lib-std";
|
2
|
+
import { AudioData, Sample, SampleMetaData } from "@opendaw/studio-adapters";
|
3
|
+
import { SampleAPI } from "@opendaw/studio-core";
|
4
|
+
export declare class OpenSampleAPI implements SampleAPI {
|
5
|
+
static readonly ApiRoot = "https://api.opendaw.studio/samples";
|
6
|
+
static readonly FileRoot = "https://assets.opendaw.studio/samples";
|
7
|
+
static fromAudioBuffer(buffer: AudioBuffer): AudioData;
|
8
|
+
all(): Promise<ReadonlyArray<Sample>>;
|
9
|
+
get(uuid: UUID.Format): Promise<Sample>;
|
10
|
+
load(context: AudioContext, uuid: UUID.Format, progress: Procedure<unitValue>): Promise<[AudioData, Sample]>;
|
11
|
+
upload(arrayBuffer: ArrayBuffer, metaData: SampleMetaData): Promise<void>;
|
12
|
+
allowsUpload(): boolean;
|
13
|
+
}
|
14
|
+
//# sourceMappingURL=OpenSampleAPI.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"OpenSampleAPI.d.ts","sourceRoot":"","sources":["../../src/samples/OpenSampleAPI.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,SAAS,EAGT,SAAS,EACT,IAAI,EACP,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAC,MAAM,0BAA0B,CAAA;AAC1E,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAA;AAY9C,qBAAa,aAAc,YAAW,SAAS;IAC3C,MAAM,CAAC,QAAQ,CAAC,OAAO,wCAAuC;IAC9D,MAAM,CAAC,QAAQ,CAAC,QAAQ,2CAA0C;IAElE,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS;IAShD,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAKrC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQvC,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAkC5G,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAsC/E,YAAY,IAAI,OAAO;CAC1B"}
|
@@ -0,0 +1,109 @@
|
|
1
|
+
import { Arrays, asDefined, DefaultObservableValue, panic, RuntimeNotifier, tryCatch, UUID } from "@opendaw/lib-std";
|
2
|
+
import { network, Promises } from "@opendaw/lib-runtime";
|
3
|
+
const username = "openDAW";
|
4
|
+
const password = "prototype";
|
5
|
+
const base64Credentials = btoa(`${username}:${password}`);
|
6
|
+
const headers = {
|
7
|
+
method: "GET",
|
8
|
+
headers: { "Authorization": `Basic ${base64Credentials}` },
|
9
|
+
credentials: "include"
|
10
|
+
};
|
11
|
+
// Standard openDAW samples
|
12
|
+
export class OpenSampleAPI {
|
13
|
+
static ApiRoot = "https://api.opendaw.studio/samples";
|
14
|
+
static FileRoot = "https://assets.opendaw.studio/samples";
|
15
|
+
static fromAudioBuffer(buffer) {
|
16
|
+
return {
|
17
|
+
frames: Arrays.create(channel => buffer.getChannelData(channel), buffer.numberOfChannels),
|
18
|
+
sampleRate: buffer.sampleRate,
|
19
|
+
numberOfFrames: buffer.length,
|
20
|
+
numberOfChannels: buffer.numberOfChannels
|
21
|
+
};
|
22
|
+
}
|
23
|
+
async all() {
|
24
|
+
return Promises.retry(() => fetch(`${OpenSampleAPI.ApiRoot}/list.php`, headers)
|
25
|
+
.then(x => x.json(), () => []));
|
26
|
+
}
|
27
|
+
async get(uuid) {
|
28
|
+
const url = `${OpenSampleAPI.ApiRoot}/get.php?uuid=${UUID.toString(uuid)}`;
|
29
|
+
const sample = await Promises.retry(() => network.limitFetch(url, headers)
|
30
|
+
.then(x => x.json()))
|
31
|
+
.then(x => { if ("error" in x) {
|
32
|
+
return panic(x.error);
|
33
|
+
}
|
34
|
+
else {
|
35
|
+
return x;
|
36
|
+
} });
|
37
|
+
return Object.freeze({ ...sample, cloud: "cloud:openDAW" });
|
38
|
+
}
|
39
|
+
async load(context, uuid, progress) {
|
40
|
+
console.debug(`load ${UUID.toString(uuid)}`);
|
41
|
+
return this.get(uuid)
|
42
|
+
.then(({ uuid, name, bpm }) => Promises.retry(() => network
|
43
|
+
.limitFetch(`${OpenSampleAPI.FileRoot}/${uuid}`, headers))
|
44
|
+
.then(response => {
|
45
|
+
const total = parseInt(response.headers.get("Content-Length") ?? "0");
|
46
|
+
let loaded = 0;
|
47
|
+
return new Promise((resolve, reject) => {
|
48
|
+
const reader = asDefined(response.body, "No body in response").getReader();
|
49
|
+
const chunks = [];
|
50
|
+
const nextChunk = ({ done, value }) => {
|
51
|
+
if (done) {
|
52
|
+
resolve(new Blob(chunks).arrayBuffer());
|
53
|
+
}
|
54
|
+
else {
|
55
|
+
chunks.push(value);
|
56
|
+
loaded += value.length;
|
57
|
+
progress(loaded / total);
|
58
|
+
reader.read().then(nextChunk, reject);
|
59
|
+
}
|
60
|
+
};
|
61
|
+
reader.read().then(nextChunk, reject);
|
62
|
+
});
|
63
|
+
})
|
64
|
+
.then(arrayBuffer => context.decodeAudioData(arrayBuffer))
|
65
|
+
.then(audioBuffer => ([OpenSampleAPI.fromAudioBuffer(audioBuffer), {
|
66
|
+
uuid,
|
67
|
+
bpm,
|
68
|
+
name,
|
69
|
+
duration: audioBuffer.duration,
|
70
|
+
sample_rate: audioBuffer.sampleRate
|
71
|
+
}])));
|
72
|
+
}
|
73
|
+
async upload(arrayBuffer, metaData) {
|
74
|
+
const progress = new DefaultObservableValue(0.0);
|
75
|
+
const dialog = RuntimeNotifier.progress({ headline: "Uploading", progress });
|
76
|
+
const formData = new FormData();
|
77
|
+
Object.entries(metaData).forEach(([key, value]) => formData.set(key, String(value)));
|
78
|
+
const params = new URLSearchParams(location.search);
|
79
|
+
const accessKey = asDefined(params.get("access-key"), "Cannot upload without access-key.");
|
80
|
+
formData.set("key", accessKey);
|
81
|
+
formData.append("file", new Blob([arrayBuffer]));
|
82
|
+
console.log("upload data", Array.from(formData.entries()), arrayBuffer.byteLength);
|
83
|
+
const xhr = new XMLHttpRequest();
|
84
|
+
xhr.upload.addEventListener("progress", (event) => {
|
85
|
+
if (event.lengthComputable) {
|
86
|
+
progress.setValue(event.loaded / event.total);
|
87
|
+
}
|
88
|
+
});
|
89
|
+
xhr.onreadystatechange = () => {
|
90
|
+
if (xhr.readyState === 4) {
|
91
|
+
dialog.terminate();
|
92
|
+
if (xhr.status === 200) {
|
93
|
+
RuntimeNotifier.info({ message: xhr.responseText });
|
94
|
+
}
|
95
|
+
else {
|
96
|
+
const { status, value } = tryCatch(() => JSON.parse(xhr.responseText).message ?? "Unknown error message");
|
97
|
+
RuntimeNotifier.info({
|
98
|
+
headline: "Upload Failure",
|
99
|
+
message: status === "success" ? value : "Unknown error"
|
100
|
+
});
|
101
|
+
}
|
102
|
+
}
|
103
|
+
};
|
104
|
+
xhr.open("POST", `${OpenSampleAPI.ApiRoot}/upload.php`, true);
|
105
|
+
xhr.setRequestHeader("Authorization", `Basic ${base64Credentials}`);
|
106
|
+
xhr.send(formData);
|
107
|
+
}
|
108
|
+
allowsUpload() { return false; }
|
109
|
+
}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { AudioData, Sample, SampleMetaData } from "@opendaw/studio-adapters";
|
2
|
+
import { Procedure, unitValue, UUID } from "@opendaw/lib-std";
|
3
|
+
export interface SampleAPI {
|
4
|
+
all(): Promise<ReadonlyArray<Sample>>;
|
5
|
+
get(uuid: UUID.Format): Promise<Sample>;
|
6
|
+
load(context: AudioContext, uuid: UUID.Format, progress: Procedure<unitValue>): Promise<[AudioData, Sample]>;
|
7
|
+
upload(arrayBuffer: ArrayBuffer, metaData: SampleMetaData): Promise<void>;
|
8
|
+
allowsUpload(): boolean;
|
9
|
+
}
|
10
|
+
//# sourceMappingURL=SampleAPI.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"SampleAPI.d.ts","sourceRoot":"","sources":["../../src/samples/SampleAPI.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAC,MAAM,0BAA0B,CAAA;AAC1E,OAAO,EAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAE3D,MAAM,WAAW,SAAS;IACtB,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;IACrC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACvC,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAA;IAC5G,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzE,YAAY,IAAI,OAAO,CAAA;CAC1B"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { Progress, UUID } from "@opendaw/lib-std";
|
2
|
+
import { Sample } from "@opendaw/studio-adapters";
|
3
|
+
export type SampleImporter = {
|
4
|
+
importSample(sample: {
|
5
|
+
uuid: UUID.Format;
|
6
|
+
name: string;
|
7
|
+
arrayBuffer: ArrayBuffer;
|
8
|
+
progressHandler?: Progress.Handler;
|
9
|
+
}): Promise<Sample>;
|
10
|
+
};
|
11
|
+
//# sourceMappingURL=SampleImporter.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"SampleImporter.d.ts","sourceRoot":"","sources":["../../src/samples/SampleImporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAA;AAE/C,MAAM,MAAM,cAAc,GAAG;IACzB,YAAY,CAAC,MAAM,EAAE;QACjB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,WAAW,CAAC;QACzB,eAAe,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAA;KACrC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CACtB,CAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|