@opendaw/studio-core 0.0.20 → 0.0.21
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/AudioDevices.d.ts +8 -0
- package/dist/AudioDevices.d.ts.map +1 -0
- package/dist/AudioDevices.js +34 -0
- package/dist/MidiDevices.d.ts +12 -0
- package/dist/MidiDevices.d.ts.map +1 -0
- package/dist/MidiDevices.js +92 -0
- package/dist/Project.d.ts +10 -1
- package/dist/Project.d.ts.map +1 -1
- package/dist/Project.js +21 -1
- package/dist/ProjectEnv.d.ts +0 -1
- package/dist/ProjectEnv.d.ts.map +1 -1
- package/dist/capture/Capture.d.ts +1 -1
- package/dist/capture/Capture.d.ts.map +1 -1
- package/dist/capture/CaptureAudio.d.ts +5 -5
- package/dist/capture/CaptureAudio.d.ts.map +1 -1
- package/dist/capture/CaptureAudio.js +14 -14
- package/dist/capture/CaptureMidi.d.ts +2 -2
- package/dist/capture/CaptureMidi.d.ts.map +1 -1
- package/dist/capture/CaptureMidi.js +86 -30
- package/dist/capture/RecordAudio.d.ts +1 -3
- package/dist/capture/RecordAudio.d.ts.map +1 -1
- package/dist/capture/RecordAudio.js +2 -2
- package/dist/capture/RecordMidi.d.ts +1 -3
- package/dist/capture/RecordMidi.d.ts.map +1 -1
- package/dist/capture/RecordMidi.js +4 -4
- package/dist/capture/Recording.js +2 -2
- package/dist/capture/RecordingContext.d.ts +0 -4
- package/dist/capture/RecordingContext.d.ts.map +1 -1
- package/dist/dawproject/DawProject.d.ts.map +1 -1
- package/dist/dawproject/DawProject.js +4 -5
- package/dist/dawproject/DawProjectExporter.test.js +1 -2
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/processors.js +2 -2
- package/dist/processors.js.map +4 -4
- package/dist/workers.js +2 -2
- package/dist/workers.js.map +4 -4
- package/package.json +14 -14
- package/dist/AudioInputDevices.d.ts +0 -8
- package/dist/AudioInputDevices.d.ts.map +0 -1
- package/dist/AudioInputDevices.js +0 -30
@@ -7,7 +7,7 @@ import { RecordTrack } from "./RecordTrack";
|
|
7
7
|
import { ColorCodes } from "../ColorCodes";
|
8
8
|
export var RecordMidi;
|
9
9
|
(function (RecordMidi) {
|
10
|
-
RecordMidi.start = ({ notifier,
|
10
|
+
RecordMidi.start = ({ notifier, project, capture }) => {
|
11
11
|
console.debug("RecordMidi.start");
|
12
12
|
const beats = PPQN.fromSignature(1, project.timelineBox.signature.denominator.getValue());
|
13
13
|
const { editing, boxGraph } = project;
|
@@ -15,7 +15,7 @@ export var RecordMidi;
|
|
15
15
|
const terminator = new Terminator();
|
16
16
|
const activeNotes = new Map();
|
17
17
|
let writing = Option.None;
|
18
|
-
terminator.own(engine.position.catchupAndSubscribe(owner => {
|
18
|
+
terminator.own(project.engine.position.catchupAndSubscribe(owner => {
|
19
19
|
if (writing.isEmpty()) {
|
20
20
|
return;
|
21
21
|
}
|
@@ -42,14 +42,14 @@ export var RecordMidi;
|
|
42
42
|
}, false);
|
43
43
|
}));
|
44
44
|
terminator.ownAll(notifier.subscribe((event) => {
|
45
|
-
if (!engine.isRecording.getValue()) {
|
45
|
+
if (!project.engine.isRecording.getValue()) {
|
46
46
|
return;
|
47
47
|
}
|
48
48
|
const data = event.data;
|
49
49
|
if (isUndefined(data)) {
|
50
50
|
return;
|
51
51
|
}
|
52
|
-
const position = engine.position.getValue();
|
52
|
+
const position = project.engine.position.getValue();
|
53
53
|
if (MidiData.isNoteOn(data)) {
|
54
54
|
const pitch = MidiData.readParam1(data);
|
55
55
|
if (writing.isEmpty()) {
|
@@ -11,9 +11,9 @@ export class Recording {
|
|
11
11
|
}
|
12
12
|
this.#isRecording = true;
|
13
13
|
assert(this.#instance.isEmpty(), "Recording already in progress");
|
14
|
-
const {
|
14
|
+
const { project } = context;
|
15
15
|
this.#prepare(project);
|
16
|
-
const { captureManager, editing } = project;
|
16
|
+
const { captureManager, engine, editing } = project;
|
17
17
|
const terminator = new Terminator();
|
18
18
|
const captures = captureManager.filterArmed();
|
19
19
|
if (captures.length === 0) {
|
@@ -1,14 +1,10 @@
|
|
1
|
-
import { Provider } from "@opendaw/lib-std";
|
2
1
|
import { SampleManager } from "@opendaw/studio-adapters";
|
3
2
|
import { Project } from "../Project";
|
4
|
-
import { Engine } from "../Engine";
|
5
3
|
import { Worklets } from "../Worklets";
|
6
4
|
export interface RecordingContext {
|
7
5
|
project: Project;
|
8
6
|
worklets: Worklets;
|
9
|
-
engine: Engine;
|
10
7
|
audioContext: AudioContext;
|
11
8
|
sampleManager: SampleManager;
|
12
|
-
requestMIDIAccess: Provider<Promise<MIDIAccess>>;
|
13
9
|
}
|
14
10
|
//# sourceMappingURL=RecordingContext.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"RecordingContext.d.ts","sourceRoot":"","sources":["../../src/capture/RecordingContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,
|
1
|
+
{"version":3,"file":"RecordingContext.d.ts","sourceRoot":"","sources":["../../src/capture/RecordingContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAC,OAAO,EAAC,MAAM,YAAY,CAAA;AAClC,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAA;AAEpC,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,QAAQ,CAAA;IAClB,YAAY,EAAE,YAAY,CAAA;IAC1B,aAAa,EAAE,aAAa,CAAA;CAC/B"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DawProject.d.ts","sourceRoot":"","sources":["../../src/dawproject/DawProject.ts"],"names":[],"mappings":"AAEA,OAAO,
|
1
|
+
{"version":3,"file":"DawProject.d.ts","sourceRoot":"","sources":["../../src/dawproject/DawProject.ts"],"names":[],"mappings":"AAEA,OAAO,EAA8B,IAAI,EAAC,MAAM,kBAAkB,CAAA;AAClE,OAAO,EAAsB,cAAc,EAAE,aAAa,EAAC,MAAM,yBAAyB,CAAA;AAC1F,OAAO,EAAC,OAAO,EAAC,MAAM,YAAY,CAAA;AAGlC,yBAAiB,UAAU,CAAC;IACxB,KAAY,QAAQ,GAAG;QAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAE,CAAA;IAE7F,UAAiB,gBAAgB;QAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAA;QAChC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAA;KACxC;IAEM,MAAM,MAAM,GAAU,QAAQ,WAAW,GAAG,eAAe,KAAG,OAAO,CAAC;QACzE,QAAQ,EAAE,cAAc,CAAC;QACzB,OAAO,EAAE,aAAa,CAAC;QACvB,SAAS,EAAE,gBAAgB,CAAA;KAC9B,CAwBA,CAAA;IAEM,MAAM,MAAM,GAAI,SAAS,OAAO,EAAE,UAAU,cAAc,KAAG,OAAO,CAAC,WAAW,CAgBtF,CAAA;CACJ"}
|
@@ -1,16 +1,15 @@
|
|
1
1
|
import JSZip from "jszip";
|
2
2
|
import { Xml } from "@opendaw/lib-xml";
|
3
|
-
import { asDefined, panic, UUID } from "@opendaw/lib-std";
|
3
|
+
import { asDefined, isDefined, panic, UUID } from "@opendaw/lib-std";
|
4
4
|
import { FileReferenceSchema, MetaDataSchema, ProjectSchema } from "@opendaw/lib-dawproject";
|
5
5
|
import { DawProjectExporter } from "./DawProjectExporter";
|
6
6
|
export var DawProject;
|
7
7
|
(function (DawProject) {
|
8
8
|
DawProject.decode = async (buffer) => {
|
9
9
|
const zip = await JSZip.loadAsync(buffer);
|
10
|
-
const
|
11
|
-
|
12
|
-
const projectXml = asDefined(await zip.file("project.xml")
|
13
|
-
?.async("string"), "No project.xml found");
|
10
|
+
const metaDataXml = await zip.file("metadata.xml")?.async("string");
|
11
|
+
const metaData = isDefined(metaDataXml) ? Xml.parse(metaDataXml, MetaDataSchema) : Xml.element({}, MetaDataSchema);
|
12
|
+
const projectXml = asDefined(await zip.file("project.xml")?.async("string"), "No project.xml found");
|
14
13
|
console.debug(projectXml);
|
15
14
|
const project = Xml.parse(projectXml, ProjectSchema);
|
16
15
|
const resourceFiles = Object.entries(zip.files).filter(([_, file]) => !file.dir && !file.name.endsWith(".xml"));
|
@@ -14,9 +14,8 @@ describe("DawProjectExport", () => {
|
|
14
14
|
const buffer = fs.readFileSync(path.join(__dirname, projectPath));
|
15
15
|
const arrayBuffer = buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
|
16
16
|
const project = Project.load({
|
17
|
-
sampleRate: 44100,
|
18
17
|
sampleManager: new class {
|
19
|
-
record(
|
18
|
+
record(_loader) {
|
20
19
|
throw new Error("Method not implemented.");
|
21
20
|
}
|
22
21
|
getOrCreate(format) {
|
package/dist/index.d.ts
CHANGED
@@ -15,7 +15,7 @@ export * from "./dawproject/DawProject";
|
|
15
15
|
export * from "./dawproject/DawProjectExporter";
|
16
16
|
export * from "./dawproject/DawProjectImport";
|
17
17
|
export * from "./dawproject/DawProjectImport";
|
18
|
-
export * from "./
|
18
|
+
export * from "./AudioDevices";
|
19
19
|
export * from "./AudioUnitOrdering";
|
20
20
|
export * from "./ColorCodes";
|
21
21
|
export * from "./Colors";
|
@@ -30,6 +30,8 @@ export * from "./InstrumentFactories";
|
|
30
30
|
export * from "./InstrumentFactory";
|
31
31
|
export * from "./InstrumentOptions";
|
32
32
|
export * from "./InstrumentProduct";
|
33
|
+
export * from "./MeterWorklet";
|
34
|
+
export * from "./MidiDevices";
|
33
35
|
export * from "./Mixer";
|
34
36
|
export * from "./Project";
|
35
37
|
export * from "./ProjectApi";
|
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,yBAAyB,CAAA;AACvC,cAAc,kCAAkC,CAAA;AAChD,cAAc,mCAAmC,CAAA;AACjD,cAAc,0BAA0B,CAAA;AAExC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAE1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,+BAA+B,CAAA;AAE7C,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,yBAAyB,CAAA;AACvC,cAAc,kCAAkC,CAAA;AAChD,cAAc,mCAAmC,CAAA;AACjD,cAAc,0BAA0B,CAAA;AAExC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAE1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,+BAA+B,CAAA;AAE7C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,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,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,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
@@ -15,7 +15,7 @@ export * from "./dawproject/DawProject";
|
|
15
15
|
export * from "./dawproject/DawProjectExporter";
|
16
16
|
export * from "./dawproject/DawProjectImport";
|
17
17
|
export * from "./dawproject/DawProjectImport";
|
18
|
-
export * from "./
|
18
|
+
export * from "./AudioDevices";
|
19
19
|
export * from "./AudioUnitOrdering";
|
20
20
|
export * from "./ColorCodes";
|
21
21
|
export * from "./Colors";
|
@@ -30,6 +30,8 @@ export * from "./InstrumentFactories";
|
|
30
30
|
export * from "./InstrumentFactory";
|
31
31
|
export * from "./InstrumentOptions";
|
32
32
|
export * from "./InstrumentProduct";
|
33
|
+
export * from "./MeterWorklet";
|
34
|
+
export * from "./MidiDevices";
|
33
35
|
export * from "./Mixer";
|
34
36
|
export * from "./Project";
|
35
37
|
export * from "./ProjectApi";
|