@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.
Files changed (42) hide show
  1. package/dist/AudioDevices.d.ts +8 -0
  2. package/dist/AudioDevices.d.ts.map +1 -0
  3. package/dist/AudioDevices.js +34 -0
  4. package/dist/MidiDevices.d.ts +12 -0
  5. package/dist/MidiDevices.d.ts.map +1 -0
  6. package/dist/MidiDevices.js +92 -0
  7. package/dist/Project.d.ts +10 -1
  8. package/dist/Project.d.ts.map +1 -1
  9. package/dist/Project.js +21 -1
  10. package/dist/ProjectEnv.d.ts +0 -1
  11. package/dist/ProjectEnv.d.ts.map +1 -1
  12. package/dist/capture/Capture.d.ts +1 -1
  13. package/dist/capture/Capture.d.ts.map +1 -1
  14. package/dist/capture/CaptureAudio.d.ts +5 -5
  15. package/dist/capture/CaptureAudio.d.ts.map +1 -1
  16. package/dist/capture/CaptureAudio.js +14 -14
  17. package/dist/capture/CaptureMidi.d.ts +2 -2
  18. package/dist/capture/CaptureMidi.d.ts.map +1 -1
  19. package/dist/capture/CaptureMidi.js +86 -30
  20. package/dist/capture/RecordAudio.d.ts +1 -3
  21. package/dist/capture/RecordAudio.d.ts.map +1 -1
  22. package/dist/capture/RecordAudio.js +2 -2
  23. package/dist/capture/RecordMidi.d.ts +1 -3
  24. package/dist/capture/RecordMidi.d.ts.map +1 -1
  25. package/dist/capture/RecordMidi.js +4 -4
  26. package/dist/capture/Recording.js +2 -2
  27. package/dist/capture/RecordingContext.d.ts +0 -4
  28. package/dist/capture/RecordingContext.d.ts.map +1 -1
  29. package/dist/dawproject/DawProject.d.ts.map +1 -1
  30. package/dist/dawproject/DawProject.js +4 -5
  31. package/dist/dawproject/DawProjectExporter.test.js +1 -2
  32. package/dist/index.d.ts +3 -1
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +3 -1
  35. package/dist/processors.js +2 -2
  36. package/dist/processors.js.map +4 -4
  37. package/dist/workers.js +2 -2
  38. package/dist/workers.js.map +4 -4
  39. package/package.json +14 -14
  40. package/dist/AudioInputDevices.d.ts +0 -8
  41. package/dist/AudioInputDevices.d.ts.map +0 -1
  42. 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, engine, project, capture }) => {
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 { engine, project } = context;
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,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAC,OAAO,EAAC,MAAM,YAAY,CAAA;AAClC,OAAO,EAAC,MAAM,EAAC,MAAM,WAAW,CAAA;AAChC,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAA;AAEpC,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,YAAY,CAAA;IAC1B,aAAa,EAAE,aAAa,CAAA;IAC5B,iBAAiB,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;CACnD"}
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,EAAmB,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACvD,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,CAyBA,CAAA;IAEM,MAAM,MAAM,GAAI,SAAS,OAAO,EAAE,UAAU,cAAc,KAAG,OAAO,CAAC,WAAW,CAgBtF,CAAA;CACJ"}
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 metaData = Xml.parse(asDefined(await zip.file("metadata.xml")
11
- ?.async("string"), "No metadata.xml found"), MetaDataSchema);
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(loader) {
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 "./AudioInputDevices";
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";
@@ -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,qBAAqB,CAAA;AACnC,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,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"}
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 "./AudioInputDevices";
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";