@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.
|
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);
|
package/dist/AudioWorklets.d.ts
CHANGED
@@ -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
|
10
|
-
static
|
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,
|
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"}
|
package/dist/AudioWorklets.js
CHANGED
@@ -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
|
8
|
-
console.debug(`
|
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
|
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
|
-
|
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;
|
package/dist/Workers.d.ts.map
CHANGED
@@ -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
|
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
|
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(
|
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.
|
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": "
|
50
|
+
"gitHead": "7a27ff488be7d4bb68642319d8281362a96c8bb2"
|
51
51
|
}
|