@opendaw/studio-core 0.0.18 → 0.0.20
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/AudioInputDevices.d.ts +8 -0
- package/dist/AudioInputDevices.d.ts.map +1 -0
- package/dist/AudioInputDevices.js +30 -0
- package/dist/AudioUnitOrdering.d.ts +3 -0
- package/dist/AudioUnitOrdering.d.ts.map +1 -0
- package/dist/AudioUnitOrdering.js +7 -0
- package/dist/EffectBox.d.ts +2 -2
- package/dist/EffectBox.d.ts.map +1 -1
- package/dist/Engine.d.ts +31 -10
- package/dist/Engine.d.ts.map +1 -1
- package/dist/EngineFacade.d.ts +22 -11
- package/dist/EngineFacade.d.ts.map +1 -1
- package/dist/EngineFacade.js +39 -22
- package/dist/EngineWorklet.d.ts +22 -13
- package/dist/EngineWorklet.d.ts.map +1 -1
- package/dist/EngineWorklet.js +47 -56
- package/dist/MeterWorklet.d.ts.map +1 -1
- package/dist/MeterWorklet.js +2 -2
- package/dist/Project.d.ts +7 -3
- package/dist/Project.d.ts.map +1 -1
- package/dist/Project.js +22 -4
- package/dist/ProjectApi.d.ts +0 -1
- package/dist/ProjectApi.d.ts.map +1 -1
- package/dist/ProjectApi.js +16 -11
- package/dist/ProjectEnv.d.ts +1 -0
- package/dist/ProjectEnv.d.ts.map +1 -1
- package/dist/ProjectMigration.d.ts.map +1 -1
- package/dist/ProjectMigration.js +20 -3
- package/dist/RecordingWorklet.d.ts +15 -3
- package/dist/RecordingWorklet.d.ts.map +1 -1
- package/dist/RecordingWorklet.js +111 -16
- package/dist/WorkerAgents.d.ts +2 -2
- package/dist/WorkerAgents.d.ts.map +1 -1
- package/dist/Worklets.d.ts +1 -1
- package/dist/Worklets.d.ts.map +1 -1
- package/dist/Worklets.js +2 -2
- package/dist/capture/Capture.d.ts +22 -0
- package/dist/capture/Capture.d.ts.map +1 -0
- package/dist/capture/Capture.js +32 -0
- package/dist/capture/CaptureAudio.d.ts +17 -0
- package/dist/capture/CaptureAudio.d.ts.map +1 -0
- package/dist/capture/CaptureAudio.js +106 -0
- package/dist/capture/CaptureManager.d.ts +12 -0
- package/dist/capture/CaptureManager.d.ts.map +1 -0
- package/dist/capture/CaptureManager.js +38 -0
- package/dist/capture/CaptureMidi.d.ts +13 -0
- package/dist/capture/CaptureMidi.d.ts.map +1 -0
- package/dist/capture/CaptureMidi.js +50 -0
- package/dist/capture/RecordAudio.d.ts +21 -0
- package/dist/capture/RecordAudio.d.ts.map +1 -0
- package/dist/capture/RecordAudio.js +66 -0
- package/dist/capture/RecordMidi.d.ts +15 -0
- package/dist/capture/RecordMidi.d.ts.map +1 -0
- package/dist/capture/RecordMidi.js +85 -0
- package/dist/capture/RecordTrack.d.ts +7 -0
- package/dist/capture/RecordTrack.d.ts.map +1 -0
- package/dist/capture/RecordTrack.js +23 -0
- package/dist/capture/Recording.d.ts +9 -0
- package/dist/capture/Recording.d.ts.map +1 -0
- package/dist/capture/Recording.js +65 -0
- package/dist/capture/RecordingContext.d.ts +14 -0
- package/dist/capture/RecordingContext.d.ts.map +1 -0
- package/dist/capture/RecordingContext.js +1 -0
- package/dist/dawproject/AudioUnitExportLayout.d.ts +10 -0
- package/dist/dawproject/AudioUnitExportLayout.d.ts.map +1 -0
- package/dist/dawproject/AudioUnitExportLayout.js +64 -0
- package/dist/dawproject/BuiltinDevices.d.ts +9 -0
- package/dist/dawproject/BuiltinDevices.d.ts.map +1 -0
- package/dist/dawproject/BuiltinDevices.js +70 -0
- package/dist/dawproject/DawProject.d.ts +22 -0
- package/dist/dawproject/DawProject.d.ts.map +1 -0
- package/dist/dawproject/DawProject.js +49 -0
- package/dist/dawproject/DawProjectExporter.d.ts +9 -0
- package/dist/dawproject/DawProjectExporter.d.ts.map +1 -0
- package/dist/dawproject/DawProjectExporter.js +252 -0
- package/dist/dawproject/DawProjectExporter.test.d.ts +2 -0
- package/dist/dawproject/DawProjectExporter.test.d.ts.map +1 -0
- package/dist/dawproject/DawProjectExporter.test.js +49 -0
- package/dist/dawproject/DawProjectImport.d.ts +12 -0
- package/dist/dawproject/DawProjectImport.d.ts.map +1 -0
- package/dist/dawproject/DawProjectImport.js +389 -0
- package/dist/dawproject/DawProjectImport.test.d.ts +2 -0
- package/dist/dawproject/DawProjectImport.test.d.ts.map +1 -0
- package/dist/dawproject/DawProjectImport.test.js +15 -0
- package/dist/dawproject/DeviceIO.d.ts +8 -0
- package/dist/dawproject/DeviceIO.d.ts.map +1 -0
- package/dist/dawproject/DeviceIO.js +63 -0
- package/dist/index.d.ts +12 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -2
- package/dist/processors.js +3 -3
- package/dist/processors.js.map +4 -4
- package/dist/samples/MainThreadSampleLoader.d.ts +1 -0
- package/dist/samples/MainThreadSampleLoader.d.ts.map +1 -1
- package/dist/samples/MainThreadSampleLoader.js +10 -6
- package/dist/samples/MainThreadSampleManager.d.ts +5 -5
- package/dist/samples/MainThreadSampleManager.d.ts.map +1 -1
- package/dist/samples/MainThreadSampleManager.js +1 -0
- package/dist/samples/SampleProvider.d.ts +2 -2
- package/dist/samples/SampleProvider.d.ts.map +1 -1
- package/dist/samples/SampleStorage.d.ts.map +1 -1
- package/dist/samples/SampleStorage.js +2 -3
- package/dist/workers.js +2 -2
- package/dist/workers.js.map +4 -4
- package/package.json +17 -17
- package/dist/DawProjectIO.d.ts +0 -7
- package/dist/DawProjectIO.d.ts.map +0 -1
- package/dist/DawProjectIO.js +0 -73
- package/dist/samples/SamplePeaks.d.ts +0 -6
- package/dist/samples/SamplePeaks.d.ts.map +0 -1
- package/dist/samples/SamplePeaks.js +0 -9
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@opendaw/studio-core",
|
3
|
-
"version": "0.0.
|
3
|
+
"version": "0.0.20",
|
4
4
|
"license": "LGPL-3.0-or-later",
|
5
5
|
"publishConfig": {
|
6
6
|
"access": "public"
|
@@ -23,26 +23,26 @@
|
|
23
23
|
"scripts": {
|
24
24
|
"build": "tsc",
|
25
25
|
"lint": "eslint \"**/*.ts\"",
|
26
|
-
"test": "
|
26
|
+
"test": "vitest run --config vitest.config.ts"
|
27
27
|
},
|
28
28
|
"dependencies": {
|
29
|
-
"@opendaw/lib-box": "^0.0.
|
30
|
-
"@opendaw/lib-dawproject": "^0.0.
|
31
|
-
"@opendaw/lib-dom": "^0.0.
|
32
|
-
"@opendaw/lib-dsp": "^0.0.
|
33
|
-
"@opendaw/lib-fusion": "^0.0.
|
34
|
-
"@opendaw/lib-runtime": "^0.0.
|
35
|
-
"@opendaw/lib-std": "^0.0.
|
36
|
-
"@opendaw/studio-adapters": "^0.0.
|
37
|
-
"@opendaw/studio-boxes": "^0.0.
|
38
|
-
"@opendaw/studio-enums": "^0.0.
|
29
|
+
"@opendaw/lib-box": "^0.0.20",
|
30
|
+
"@opendaw/lib-dawproject": "^0.0.6",
|
31
|
+
"@opendaw/lib-dom": "^0.0.20",
|
32
|
+
"@opendaw/lib-dsp": "^0.0.20",
|
33
|
+
"@opendaw/lib-fusion": "^0.0.20",
|
34
|
+
"@opendaw/lib-runtime": "^0.0.20",
|
35
|
+
"@opendaw/lib-std": "^0.0.20",
|
36
|
+
"@opendaw/studio-adapters": "^0.0.20",
|
37
|
+
"@opendaw/studio-boxes": "^0.0.20",
|
38
|
+
"@opendaw/studio-enums": "^0.0.20"
|
39
39
|
},
|
40
40
|
"devDependencies": {
|
41
41
|
"@opendaw/eslint-config": "^0.0.18",
|
42
|
-
"@opendaw/studio-core-processors": "^0.0.
|
43
|
-
"@opendaw/studio-core-workers": "^0.0.
|
44
|
-
"@opendaw/studio-forge-boxes": "^0.0.
|
45
|
-
"@opendaw/typescript-config": "^0.0.
|
42
|
+
"@opendaw/studio-core-processors": "^0.0.20",
|
43
|
+
"@opendaw/studio-core-workers": "^0.0.14",
|
44
|
+
"@opendaw/studio-forge-boxes": "^0.0.20",
|
45
|
+
"@opendaw/typescript-config": "^0.0.19"
|
46
46
|
},
|
47
|
-
"gitHead": "
|
47
|
+
"gitHead": "de891be4fc9e418776b3a6c433748e287abab912"
|
48
48
|
}
|
package/dist/DawProjectIO.d.ts
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
import { Project } from "./Project";
|
2
|
-
import { ProjectEnv } from "./ProjectEnv";
|
3
|
-
export declare namespace DawProjectIO {
|
4
|
-
const decode: (env: ProjectEnv, arrayBuffer: ArrayBuffer) => Promise<Project>;
|
5
|
-
const encode: ({ rootBox, timelineBox }: Project) => string;
|
6
|
-
}
|
7
|
-
//# sourceMappingURL=DawProjectIO.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"DawProjectIO.d.ts","sourceRoot":"","sources":["../src/DawProjectIO.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAejC,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AAIvC,yBAAiB,YAAY,CAAC;IACnB,MAAM,MAAM,GAAU,KAAK,UAAU,EAAE,aAAa,WAAW,KAAG,OAAO,CAAC,OAAO,CAevF,CAAA;IAEM,MAAM,MAAM,GAAI,0BAAwB,OAAO,KAAG,MAqCxD,CAAA;CAYJ"}
|
package/dist/DawProjectIO.js
DELETED
@@ -1,73 +0,0 @@
|
|
1
|
-
import { Project } from "./Project";
|
2
|
-
import { IndexedBox } from "@opendaw/lib-box";
|
3
|
-
import { AudioUnitBox, TrackBox } from "@opendaw/studio-boxes";
|
4
|
-
import { Xml } from "@opendaw/lib-xml";
|
5
|
-
import { ApplicationSchema, BooleanParameterSchema, ChannelSchema, ProjectSchema, RealParameterSchema, TimeSignatureParameterSchema, TrackSchema, TransportSchema, Unit } from "@opendaw/lib-dawproject";
|
6
|
-
import { asDefined } from "@opendaw/lib-std";
|
7
|
-
import JSZip from "jszip";
|
8
|
-
export var DawProjectIO;
|
9
|
-
(function (DawProjectIO) {
|
10
|
-
DawProjectIO.decode = async (env, arrayBuffer) => {
|
11
|
-
const zip = await JSZip.loadAsync(arrayBuffer);
|
12
|
-
const { transport, arrangement } = Xml.parse(asDefined(await zip.file("project.xml")
|
13
|
-
?.async("string"), "No project.xml found"), ProjectSchema);
|
14
|
-
const project = Project.new(env);
|
15
|
-
const { timelineBox, boxGraph } = project;
|
16
|
-
boxGraph.beginTransaction();
|
17
|
-
{
|
18
|
-
timelineBox.bpm.setValue(transport?.tempo?.value ?? 120.0);
|
19
|
-
timelineBox.signature.nominator.setValue(transport?.timeSignature?.numerator ?? 4);
|
20
|
-
timelineBox.signature.denominator.setValue(transport?.timeSignature?.denominator ?? 4);
|
21
|
-
// TODO :-)
|
22
|
-
}
|
23
|
-
boxGraph.endTransaction();
|
24
|
-
return project;
|
25
|
-
};
|
26
|
-
DawProjectIO.encode = ({ rootBox, timelineBox }) => {
|
27
|
-
const trackBoxes = IndexedBox.collectIndexedBoxes(rootBox.audioUnits, AudioUnitBox)
|
28
|
-
.flatMap(audioUnitBox => IndexedBox.collectIndexedBoxes(audioUnitBox.tracks, TrackBox));
|
29
|
-
const rootNode = Xml.element({
|
30
|
-
version: "1.0",
|
31
|
-
application: Xml.element({
|
32
|
-
name: "openDAW",
|
33
|
-
version: "0.1"
|
34
|
-
}, ApplicationSchema),
|
35
|
-
transport: createTransport(timelineBox),
|
36
|
-
structure: [
|
37
|
-
Xml.element({
|
38
|
-
id: "0",
|
39
|
-
contentType: "notes",
|
40
|
-
channel: Xml.element({
|
41
|
-
audioChannels: 2,
|
42
|
-
mute: Xml.element({ value: true }, BooleanParameterSchema)
|
43
|
-
}, ChannelSchema),
|
44
|
-
tracks: [
|
45
|
-
Xml.element({
|
46
|
-
id: "01",
|
47
|
-
contentType: "audio"
|
48
|
-
}, TrackSchema),
|
49
|
-
Xml.element({
|
50
|
-
id: "02",
|
51
|
-
contentType: "audio"
|
52
|
-
}, TrackSchema)
|
53
|
-
]
|
54
|
-
}, TrackSchema),
|
55
|
-
Xml.element({
|
56
|
-
id: "1",
|
57
|
-
contentType: "audio"
|
58
|
-
}, TrackSchema)
|
59
|
-
]
|
60
|
-
}, ProjectSchema);
|
61
|
-
return Xml.pretty(Xml.toElement("Project", rootNode));
|
62
|
-
};
|
63
|
-
const createTransport = (timelineBox) => Xml.element({
|
64
|
-
tempo: Xml.element({
|
65
|
-
unit: Unit.BPM,
|
66
|
-
value: timelineBox.bpm.getValue()
|
67
|
-
}, RealParameterSchema),
|
68
|
-
timeSignature: Xml.element({
|
69
|
-
numerator: timelineBox.signature.nominator.getValue(),
|
70
|
-
denominator: timelineBox.signature.denominator.getValue()
|
71
|
-
}, TimeSignatureParameterSchema)
|
72
|
-
}, TransportSchema);
|
73
|
-
})(DawProjectIO || (DawProjectIO = {}));
|
@@ -1,6 +0,0 @@
|
|
1
|
-
import { ProgressHandler } from "@opendaw/lib-std";
|
2
|
-
import { AudioData } from "@opendaw/studio-adapters";
|
3
|
-
export declare namespace SamplePeaks {
|
4
|
-
const generate: (audio: AudioData, progress: ProgressHandler) => Promise<ArrayBuffer>;
|
5
|
-
}
|
6
|
-
//# sourceMappingURL=SamplePeaks.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"SamplePeaks.d.ts","sourceRoot":"","sources":["../../src/samples/SamplePeaks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAA;AAEhD,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAA;AAGlD,yBAAiB,WAAW,CAAC;IAClB,MAAM,QAAQ,GAAU,OAAO,SAAS,EAAE,UAAU,eAAe,KAAG,OAAO,CAAC,WAAW,CAQ/F,CAAA;CACJ"}
|
@@ -1,9 +0,0 @@
|
|
1
|
-
import { Peaks } from "@opendaw/lib-fusion";
|
2
|
-
import { WorkerAgents } from "../WorkerAgents";
|
3
|
-
export var SamplePeaks;
|
4
|
-
(function (SamplePeaks) {
|
5
|
-
SamplePeaks.generate = async (audio, progress) => {
|
6
|
-
const shifts = Peaks.findBestFit(audio.numberOfFrames);
|
7
|
-
return await WorkerAgents.Peak.generateAsync(progress, shifts, audio.frames, audio.numberOfFrames, audio.numberOfChannels);
|
8
|
-
};
|
9
|
-
})(SamplePeaks || (SamplePeaks = {}));
|