@opendaw/studio-core 0.0.34 → 0.0.35

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.
@@ -19,7 +19,7 @@ export var AudioOfflineRenderer;
19
19
  const numSamples = PPQN.pulsesToSamples(durationInPulses, project.bpm, sampleRate);
20
20
  const context = new OfflineAudioContext(numStems * 2, numSamples, sampleRate);
21
21
  const durationInSeconds = numSamples / sampleRate;
22
- const worklets = await AudioWorklets.install(context);
22
+ const worklets = await AudioWorklets.createFor(context);
23
23
  const engineWorklet = worklets.createEngine(project, optExportConfiguration.unwrapOrUndefined());
24
24
  engineWorklet.play();
25
25
  engineWorklet.connect(context.destination);
@@ -6,8 +6,8 @@ import { MeterWorklet } from "./MeterWorklet";
6
6
  import { RecordingWorklet } from "./RecordingWorklet";
7
7
  export declare class AudioWorklets {
8
8
  #private;
9
- static setWorkletUrl(url: string): void;
10
- static install(context: BaseAudioContext): Promise<AudioWorklets>;
9
+ static install(url: string): void;
10
+ static createFor(context: BaseAudioContext): Promise<AudioWorklets>;
11
11
  static get(context: BaseAudioContext): AudioWorklets;
12
12
  constructor(context: BaseAudioContext);
13
13
  get context(): BaseAudioContext;
@@ -1 +1 @@
1
- {"version":3,"file":"AudioWorklets.d.ts","sourceRoot":"","sources":["../src/AudioWorklets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,GAAG,EAAS,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAC,wBAAwB,EAAa,MAAM,0BAA0B,CAAA;AAC7E,OAAO,EAAC,OAAO,EAAC,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAA;AAGnD,qBAAa,aAAa;;IACtB,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;WAO1B,OAAO,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC;IAQvE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,GAAG,aAAa;gBAMxC,OAAO,EAAE,gBAAgB;IAErC,IAAI,OAAO,IAAI,gBAAgB,CAAuB;IAEtD,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,EAAE,aAAa,EAAE,MAAM,GAAG,gBAAgB;CAOlG"}
1
+ {"version":3,"file":"AudioWorklets.d.ts","sourceRoot":"","sources":["../src/AudioWorklets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,GAAG,EAAS,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAC,wBAAwB,EAAa,MAAM,0BAA0B,CAAA;AAC7E,OAAO,EAAC,OAAO,EAAC,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAA;AAGnD,qBAAa,aAAa;;IACtB,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;WAOpB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC;IAQzE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,GAAG,aAAa;gBAMxC,OAAO,EAAE,gBAAgB;IAErC,IAAI,OAAO,IAAI,gBAAgB,CAAuB;IAEtD,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,EAAE,aAAa,EAAE,MAAM,GAAG,gBAAgB;CAOlG"}
@@ -4,13 +4,13 @@ import { MeterWorklet } from "./MeterWorklet";
4
4
  import { RecordingWorklet } from "./RecordingWorklet";
5
5
  import { RenderQuantum } from "./RenderQuantum";
6
6
  export class AudioWorklets {
7
- static setWorkletUrl(url) {
8
- console.debug(`setWorkletUrl: '${url}'`);
7
+ static install(url) {
8
+ console.debug(`WorkletUrl: '${url}'`);
9
9
  this.#workletUrl = Option.wrap(url);
10
10
  }
11
11
  static #workletUrl = Option.None;
12
- static async install(context) {
13
- return context.audioWorklet.addModule(this.#workletUrl.unwrap("WorkletUrl is missing")).then(() => {
12
+ static async createFor(context) {
13
+ return context.audioWorklet.addModule(this.#workletUrl.unwrap("WorkletUrl is missing (call 'install' first)")).then(() => {
14
14
  const worklets = new AudioWorklets(context);
15
15
  this.#map.set(context, worklets);
16
16
  return worklets;
package/dist/Workers.d.ts CHANGED
@@ -2,9 +2,7 @@ import { Option } from "@opendaw/lib-std";
2
2
  import { Messenger } from "@opendaw/lib-runtime";
3
3
  import type { OpfsProtocol, SamplePeakProtocol } from "@opendaw/lib-fusion";
4
4
  export declare class Workers {
5
- #private;
6
- static setWorkerUrl(url: string): void;
7
- static install(): Promise<void>;
5
+ static install(url: string): Promise<void>;
8
6
  static messenger: Option<Messenger>;
9
7
  static get Peak(): SamplePeakProtocol;
10
8
  static get Opfs(): OpfsProtocol;
@@ -1 +1 @@
1
- {"version":3,"file":"Workers.d.ts","sourceRoot":"","sources":["../src/Workers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,MAAM,EAAY,MAAM,kBAAkB,CAAA;AACjF,OAAO,EAAe,SAAS,EAAC,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EAAC,YAAY,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAA;AAEzE,qBAAa,OAAO;;IAChB,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;WAOzB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBrC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAc;IAGjD,MAAM,KAAK,IAAI,IAAI,kBAAkB,CAapC;IAGD,MAAM,KAAK,IAAI,IAAI,YAAY,CAS9B;CACJ"}
1
+ {"version":3,"file":"Workers.d.ts","sourceRoot":"","sources":["../src/Workers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,MAAM,EAAY,MAAM,kBAAkB,CAAA;AACjF,OAAO,EAAe,SAAS,EAAC,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EAAC,YAAY,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAA;AAEzE,qBAAa,OAAO;WACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBhD,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAc;IAGjD,MAAM,KAAK,IAAI,IAAI,kBAAkB,CAapC;IAGD,MAAM,KAAK,IAAI,IAAI,YAAY,CAS9B;CACJ"}
package/dist/Workers.js CHANGED
@@ -10,15 +10,10 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  import { assert, Lazy, Option } from "@opendaw/lib-std";
11
11
  import { Communicator, Messenger } from "@opendaw/lib-runtime";
12
12
  export class Workers {
13
- static setWorkerUrl(url) {
14
- console.debug(`setWorkerUrl: '${url}'`);
15
- this.#workerUrl = Option.wrap(url);
16
- }
17
- static #workerUrl = Option.None;
18
- static async install() {
13
+ static async install(url) {
19
14
  console.debug("install Workers");
20
15
  assert(this.messenger.isEmpty(), "Workers are already installed");
21
- const message = Messenger.for(new Worker(this.#workerUrl.unwrap("workerUrl is missing"), { type: "module" }));
16
+ const message = Messenger.for(new Worker(url, { type: "module" }));
22
17
  this.messenger = Option.wrap(message);
23
18
  const { resolve, promise } = Promise.withResolvers();
24
19
  const subscription = message.channel("initialize").subscribe(data => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opendaw/studio-core",
3
- "version": "0.0.34",
3
+ "version": "0.0.35",
4
4
  "license": "LGPL-3.0-or-later",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -47,5 +47,5 @@
47
47
  "@opendaw/studio-forge-boxes": "^0.0.27",
48
48
  "@opendaw/typescript-config": "^0.0.20"
49
49
  },
50
- "gitHead": "f0f4807c339d0a8a1376e21a06557e7f7e014e61"
50
+ "gitHead": "7a27ff488be7d4bb68642319d8281362a96c8bb2"
51
51
  }