@opendaw/studio-core 0.0.34 → 0.0.36

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 => {
@@ -33,7 +28,7 @@ export class Workers {
33
28
  static messenger = Option.None;
34
29
  static get Peak() {
35
30
  return Communicator
36
- .sender(this.messenger.unwrap("WorkerAgents are not installed").channel("peaks"), router => new class {
31
+ .sender(this.messenger.unwrap("Workers are not installed").channel("peaks"), router => new class {
37
32
  async generateAsync(progress, shifts, frames, numFrames, numChannels) {
38
33
  return router.dispatchAndReturn(this.generateAsync, progress, shifts, frames, numFrames, numChannels);
39
34
  }
@@ -41,7 +36,7 @@ export class Workers {
41
36
  }
42
37
  static get Opfs() {
43
38
  return Communicator
44
- .sender(this.messenger.unwrap("WorkerAgents are not installed").channel("opfs"), router => new class {
39
+ .sender(this.messenger.unwrap("Workers are not installed").channel("opfs"), router => new class {
45
40
  write(path, data) { return router.dispatchAndReturn(this.write, path, data); }
46
41
  read(path) { return router.dispatchAndReturn(this.read, path); }
47
42
  delete(path) { return router.dispatchAndReturn(this.delete, path); }
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.36",
4
4
  "license": "LGPL-3.0-or-later",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -16,9 +16,7 @@
16
16
  "./processors.js": "./dist/processors.js"
17
17
  },
18
18
  "files": [
19
- "dist/**"
20
- ],
21
- "sideEffects": [
19
+ "dist/**",
22
20
  "dist/workers-main.js",
23
21
  "dist/processors.js"
24
22
  ],
@@ -35,17 +33,17 @@
35
33
  "@opendaw/lib-fusion": "^0.0.27",
36
34
  "@opendaw/lib-runtime": "^0.0.27",
37
35
  "@opendaw/lib-std": "^0.0.27",
38
- "@opendaw/studio-adapters": "^0.0.27",
36
+ "@opendaw/studio-adapters": "^0.0.28",
39
37
  "@opendaw/studio-boxes": "^0.0.27",
40
38
  "@opendaw/studio-enums": "^0.0.21",
41
39
  "dropbox": "^10.34.0"
42
40
  },
43
41
  "devDependencies": {
44
42
  "@opendaw/eslint-config": "^0.0.19",
45
- "@opendaw/studio-core-processors": "^0.0.27",
46
- "@opendaw/studio-core-workers": "^0.0.22",
43
+ "@opendaw/studio-core-processors": "^0.0.28",
44
+ "@opendaw/studio-core-workers": "^0.0.23",
47
45
  "@opendaw/studio-forge-boxes": "^0.0.27",
48
46
  "@opendaw/typescript-config": "^0.0.20"
49
47
  },
50
- "gitHead": "f0f4807c339d0a8a1376e21a06557e7f7e014e61"
48
+ "gitHead": "c6fb8e19e2be39d6ae0f533b649b25e29c1716c0"
51
49
  }