@opendaw/studio-core 0.0.7 → 0.0.8

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.
@@ -2,10 +2,8 @@ import { byte, DefaultObservableValue, int, MutableObservableValue, Nullable, Ob
2
2
  import { ppqn } from "@opendaw/lib-dsp";
3
3
  import { ClipNotification, ExportStemsConfiguration } from "@opendaw/studio-adapters";
4
4
  import { Project } from "./Project";
5
- import { WorkletFactory } from "./WorkletFactory";
6
5
  export declare class EngineWorklet extends AudioWorkletNode {
7
6
  #private;
8
- static bootFactory(context: BaseAudioContext, url: string): Promise<WorkletFactory<EngineWorklet>>;
9
7
  static ID: int;
10
8
  readonly id: number;
11
9
  constructor(context: BaseAudioContext, project: Readonly<Project>, exportConfiguration?: ExportStemsConfiguration);
@@ -1 +1 @@
1
- {"version":3,"file":"EngineWorklet.d.ts","sourceRoot":"","sources":["../src/EngineWorklet.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,IAAI,EACJ,sBAAsB,EACtB,GAAG,EACH,sBAAsB,EAEtB,QAAQ,EACR,QAAQ,EAER,YAAY,EAGZ,SAAS,EACT,IAAI,EACP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAEH,gBAAgB,EAOhB,wBAAwB,EAC3B,MAAM,0BAA0B,CAAA;AAKjC,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAE/C,qBAAa,aAAc,SAAQ,gBAAgB;;IAC/C,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IAIlG,MAAM,CAAC,EAAE,EAAE,GAAG,CAAQ;IAEtB,QAAQ,CAAC,EAAE,SAAqB;gBAgBpB,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,EAC1B,mBAAmB,CAAC,EAAE,wBAAwB;IA2G1D,IAAI,IAAI,IAAI;IASZ,KAAK,IAAI,IAAI;IACb,SAAS,IAAI,sBAAsB,CAAC,OAAO,CAAC;IAC5C,WAAW,IAAI,sBAAsB,CAAC,OAAO,CAAC;IAC9C,iBAAiB,IAAI,sBAAsB,CAAC,MAAM,CAAC;IACnD,QAAQ,IAAI,sBAAsB,CAAC,IAAI,CAAC;IACxC,gBAAgB,IAAI,sBAAsB,CAAC,OAAO,CAAC;IACnD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IACxB,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC;IACxC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,GAAG,IAAI;IACjE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI;IAC7C,gBAAgB,CAAC,GAAG,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI;IAK9D,gBAAgB,CAAC,GAAG,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI;IAG/D,eAAe,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI;IAIrC,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,YAAY;IAQ7E,WAAW,IAAI,sBAAsB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAInE,SAAS,IAAI,IAAI;CAKpB"}
1
+ {"version":3,"file":"EngineWorklet.d.ts","sourceRoot":"","sources":["../src/EngineWorklet.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,IAAI,EACJ,sBAAsB,EACtB,GAAG,EACH,sBAAsB,EAEtB,QAAQ,EACR,QAAQ,EAER,YAAY,EAGZ,SAAS,EACT,IAAI,EACP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAEH,gBAAgB,EAOhB,wBAAwB,EAC3B,MAAM,0BAA0B,CAAA;AAKjC,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAEjC,qBAAa,aAAc,SAAQ,gBAAgB;;IAC/C,MAAM,CAAC,EAAE,EAAE,GAAG,CAAQ;IAEtB,QAAQ,CAAC,EAAE,SAAqB;gBAgBpB,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,EAC1B,mBAAmB,CAAC,EAAE,wBAAwB;IA2G1D,IAAI,IAAI,IAAI;IASZ,KAAK,IAAI,IAAI;IACb,SAAS,IAAI,sBAAsB,CAAC,OAAO,CAAC;IAC5C,WAAW,IAAI,sBAAsB,CAAC,OAAO,CAAC;IAC9C,iBAAiB,IAAI,sBAAsB,CAAC,MAAM,CAAC;IACnD,QAAQ,IAAI,sBAAsB,CAAC,IAAI,CAAC;IACxC,gBAAgB,IAAI,sBAAsB,CAAC,OAAO,CAAC;IACnD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IACxB,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC;IACxC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,GAAG,IAAI;IACjE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI;IAC7C,gBAAgB,CAAC,GAAG,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI;IAK9D,gBAAgB,CAAC,GAAG,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI;IAG/D,eAAe,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI;IAIrC,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,YAAY;IAQ7E,WAAW,IAAI,sBAAsB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAInE,SAAS,IAAI,IAAI;CAKpB"}
@@ -3,11 +3,7 @@ import { EngineStateSchema, ExportStemsConfiguration } from "@opendaw/studio-ada
3
3
  import { SyncSource } from "@opendaw/lib-box";
4
4
  import { AnimationFrame } from "@opendaw/lib-dom";
5
5
  import { Communicator, Messenger } from "@opendaw/lib-runtime";
6
- import { WorkletFactory } from "./WorkletFactory";
7
6
  export class EngineWorklet extends AudioWorkletNode {
8
- static bootFactory(context, url) {
9
- return WorkletFactory.boot(context, url);
10
- }
11
7
  static ID = 0 | 0;
12
8
  id = EngineWorklet.ID++;
13
9
  #terminator = new Terminator();
@@ -1,14 +1,11 @@
1
1
  import { int, Observer, Subscription, Terminable } from "@opendaw/lib-std";
2
- import { WorkletFactory } from "./WorkletFactory";
3
2
  export type PeakSchema = {
4
3
  peak: Float32Array;
5
4
  rms: Float32Array;
6
5
  };
7
6
  export declare class MeterWorklet extends AudioWorkletNode implements Terminable {
8
7
  #private;
9
- static bootFactory(context: BaseAudioContext, url: string): Promise<WorkletFactory<MeterWorklet>>;
10
- static create(factory: WorkletFactory<MeterWorklet>, numChannels: int): MeterWorklet;
11
- private constructor();
8
+ constructor(context: BaseAudioContext, numberOfChannels: int);
12
9
  subscribe(observer: Observer<PeakSchema>): Subscription;
13
10
  terminate(): void;
14
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MeterWorklet.d.ts","sourceRoot":"","sources":["../src/MeterWorklet.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAY,QAAQ,EAAU,YAAY,EAAc,UAAU,EAAa,MAAM,kBAAkB,CAAA;AAElH,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAE/C,MAAM,MAAM,UAAU,GAAG;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,GAAG,EAAE,YAAY,CAAA;CAAE,CAAA;AAElE,qBAAa,YAAa,SAAQ,gBAAiB,YAAW,UAAU;;WACvD,WAAW,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IAIvG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,GAAG,GAAG,YAAY;IAOpF,OAAO;IAmBP,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,YAAY;IAEvD,SAAS,IAAI,IAAI;CACpB"}
1
+ {"version":3,"file":"MeterWorklet.d.ts","sourceRoot":"","sources":["../src/MeterWorklet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAY,QAAQ,EAAU,YAAY,EAAc,UAAU,EAAa,MAAM,kBAAkB,CAAA;AAIlH,MAAM,MAAM,UAAU,GAAG;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,GAAG,EAAE,YAAY,CAAA;CAAE,CAAA;AAElE,qBAAa,YAAa,SAAQ,gBAAiB,YAAW,UAAU;;gBAIxD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG;IAmB5D,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,YAAY;IAEvD,SAAS,IAAI,IAAI;CACpB"}
@@ -1,13 +1,6 @@
1
1
  import { Notifier, Schema, SyncStream, Terminator } from "@opendaw/lib-std";
2
2
  import { AnimationFrame } from "@opendaw/lib-dom";
3
- import { WorkletFactory } from "./WorkletFactory";
4
3
  export class MeterWorklet extends AudioWorkletNode {
5
- static async bootFactory(context, url) {
6
- return WorkletFactory.boot(context, url);
7
- }
8
- static create(factory, numChannels) {
9
- return factory.create(context => new MeterWorklet(context, numChannels));
10
- }
11
4
  #terminator = new Terminator();
12
5
  #notifier = new Notifier();
13
6
  constructor(context, numberOfChannels) {
@@ -15,7 +8,7 @@ export class MeterWorklet extends AudioWorkletNode {
15
8
  peak: Schema.floats(numberOfChannels),
16
9
  rms: Schema.floats(numberOfChannels)
17
10
  })(), (data) => this.#notifier.notify(data));
18
- super(context, "peak-meter-processor", {
11
+ super(context, "meter-processor", {
19
12
  numberOfInputs: 1,
20
13
  channelCount: numberOfChannels,
21
14
  channelCountMode: "explicit",
@@ -1,9 +1,6 @@
1
- import { int } from "@opendaw/lib-std";
2
- import { WorkletFactory } from "./WorkletFactory";
1
+ import { RingBuffer } from "@opendaw/studio-adapters";
3
2
  export declare class RecordingWorklet extends AudioWorkletNode {
4
3
  #private;
5
- static bootFactory(context: BaseAudioContext, url: string): Promise<WorkletFactory<RecordingWorklet>>;
6
- static create(factory: WorkletFactory<RecordingWorklet>, numChannels: int, numChunks?: int): RecordingWorklet;
7
- private constructor();
4
+ constructor(context: BaseAudioContext, config: RingBuffer.Config);
8
5
  }
9
6
  //# sourceMappingURL=RecordingWorklet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RecordingWorklet.d.ts","sourceRoot":"","sources":["../src/RecordingWorklet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,GAAG,EAAC,MAAM,kBAAkB,CAAA;AAG/C,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAK/C,qBAAa,gBAAiB,SAAQ,gBAAgB;;WACrC,WAAW,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAI3G,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,gBAAgB,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,GAAE,GAAQ,GAAG,gBAAgB;IAUjH,OAAO;CAuBV"}
1
+ {"version":3,"file":"RecordingWorklet.d.ts","sourceRoot":"","sources":["../src/RecordingWorklet.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,UAAU,EAAC,MAAM,0BAA0B,CAAA;AAIrE,qBAAa,gBAAiB,SAAQ,gBAAgB;;gBAGtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM;CAuBnE"}
@@ -1,25 +1,14 @@
1
1
  import { EmptyExec } from "@opendaw/lib-std";
2
2
  import { Files } from "@opendaw/lib-dom";
3
3
  import { mergeChunkPlanes, RingBuffer } from "@opendaw/studio-adapters";
4
- import { WorkletFactory } from "./WorkletFactory";
5
4
  import { encodeWavFloat } from "./Wav";
6
- const RenderQuantum = 128;
5
+ import { RenderQuantum } from "./RenderQuantum";
7
6
  export class RecordingWorklet extends AudioWorkletNode {
8
- static async bootFactory(context, url) {
9
- return WorkletFactory.boot(context, url);
10
- }
11
- static create(factory, numChannels, numChunks = 64) {
12
- const audioBytes = numChannels * numChunks * RenderQuantum * Float32Array.BYTES_PER_ELEMENT;
13
- const pointerBytes = Int32Array.BYTES_PER_ELEMENT * 2;
14
- const sab = new SharedArrayBuffer(audioBytes + pointerBytes);
15
- const buffer = { sab, numChunks, numChannels, bufferSize: RenderQuantum };
16
- return factory.create(context => new RecordingWorklet(context, buffer));
17
- }
18
7
  #reader;
19
8
  constructor(context, config) {
20
9
  super(context, "recording-processor", {
21
10
  numberOfInputs: 1,
22
- channelCount: config.numChannels,
11
+ channelCount: config.numberOfChannels,
23
12
  channelCountMode: "explicit",
24
13
  processorOptions: config
25
14
  });
@@ -0,0 +1,2 @@
1
+ export declare const RenderQuantum = 128;
2
+ //# sourceMappingURL=RenderQuantum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderQuantum.d.ts","sourceRoot":"","sources":["../src/RenderQuantum.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,MAAM,CAAA"}
@@ -0,0 +1 @@
1
+ export const RenderQuantum = 128;
@@ -1,20 +1,14 @@
1
1
  import { int } from "@opendaw/lib-std";
2
2
  import { ExportStemsConfiguration } from "@opendaw/studio-adapters";
3
- import { WorkletFactory } from "./WorkletFactory";
4
3
  import { EngineWorklet } from "./EngineWorklet";
5
4
  import { MeterWorklet } from "./MeterWorklet";
6
5
  import { RecordingWorklet } from "./RecordingWorklet";
7
6
  import { Project } from "./Project";
8
- export type WorkletUrls = {
9
- meter: string;
10
- engine: string;
11
- recording: string;
12
- };
13
7
  export declare class Worklets {
14
8
  #private;
15
- static install(context: AudioContext, { engine, meter, recording }: WorkletUrls): Promise<Worklets>;
16
- static get(context: AudioContext): Worklets;
17
- constructor(engine: WorkletFactory<EngineWorklet>, meter: WorkletFactory<MeterWorklet>, recording: WorkletFactory<RecordingWorklet>);
9
+ static install(context: BaseAudioContext, workletURL: string): Promise<Worklets>;
10
+ static get(context: BaseAudioContext): Worklets;
11
+ constructor(context: BaseAudioContext);
18
12
  createMeter(numberOfChannels: int): MeterWorklet;
19
13
  createEngine(project: Project, exportConfiguration?: ExportStemsConfiguration): EngineWorklet;
20
14
  createRecording(numberOfChannels: int, numChunks: int): RecordingWorklet;
@@ -1 +1 @@
1
- {"version":3,"file":"Worklets.d.ts","sourceRoot":"","sources":["../src/Worklets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,GAAG,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,wBAAwB,EAAC,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAEjC,MAAM,MAAM,WAAW,GAAG;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,qBAAa,QAAQ;;WACJ,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,EAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAYvG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,GAAG,QAAQ;gBAQ/B,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC,EACrC,KAAK,EAAE,cAAc,CAAC,YAAY,CAAC,EACnC,SAAS,EAAE,cAAc,CAAC,gBAAgB,CAAC;IAMvD,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,GAAG,gBAAgB;CAG3E"}
1
+ {"version":3,"file":"Worklets.d.ts","sourceRoot":"","sources":["../src/Worklets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,GAAG,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,wBAAwB,EAAa,MAAM,0BAA0B,CAAA;AAC7E,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAGjC,qBAAa,QAAQ;;WACJ,OAAO,CAAC,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAQtF,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,GAAG,QAAQ;gBAMnC,OAAO,EAAE,gBAAgB;IAErC,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,GAAG,gBAAgB;CAO3E"}
package/dist/Worklets.js CHANGED
@@ -2,35 +2,30 @@ import { asDefined } from "@opendaw/lib-std";
2
2
  import { EngineWorklet } from "./EngineWorklet";
3
3
  import { MeterWorklet } from "./MeterWorklet";
4
4
  import { RecordingWorklet } from "./RecordingWorklet";
5
+ import { RenderQuantum } from "./RenderQuantum";
5
6
  export class Worklets {
6
- static async install(context, { engine, meter, recording }) {
7
- return Promise.all([
8
- EngineWorklet.bootFactory(context, engine),
9
- MeterWorklet.bootFactory(context, meter),
10
- RecordingWorklet.bootFactory(context, recording)
11
- ]).then(([engine, meter, recording]) => {
12
- const worklets = new Worklets(engine, meter, recording);
7
+ static async install(context, workletURL) {
8
+ return context.audioWorklet.addModule(workletURL).then(() => {
9
+ const worklets = new Worklets(context);
13
10
  this.#map.set(context, worklets);
14
11
  return worklets;
15
12
  });
16
13
  }
17
14
  static get(context) { return asDefined(this.#map.get(context), "Worklets not installed"); }
18
15
  static #map = new WeakMap();
19
- #meter;
20
- #engine;
21
- #recording;
22
- constructor(engine, meter, recording) {
23
- this.#meter = meter;
24
- this.#engine = engine;
25
- this.#recording = recording;
26
- }
16
+ #context;
17
+ constructor(context) { this.#context = context; }
27
18
  createMeter(numberOfChannels) {
28
- return MeterWorklet.create(this.#meter, numberOfChannels);
19
+ return new MeterWorklet(this.#context, numberOfChannels);
29
20
  }
30
21
  createEngine(project, exportConfiguration) {
31
- return this.#engine.create(context => new EngineWorklet(context, project, exportConfiguration));
22
+ return new EngineWorklet(this.#context, project, exportConfiguration);
32
23
  }
33
24
  createRecording(numberOfChannels, numChunks) {
34
- return RecordingWorklet.create(this.#recording, numberOfChannels, numChunks);
25
+ const audioBytes = numberOfChannels * numChunks * RenderQuantum * Float32Array.BYTES_PER_ELEMENT;
26
+ const pointerBytes = Int32Array.BYTES_PER_ELEMENT * 2;
27
+ const sab = new SharedArrayBuffer(audioBytes + pointerBytes);
28
+ const buffer = { sab, numChunks, numberOfChannels, bufferSize: RenderQuantum };
29
+ return new RecordingWorklet(this.#context, buffer);
35
30
  }
36
31
  }
package/dist/index.d.ts CHANGED
@@ -14,6 +14,5 @@ export * from "./Project";
14
14
  export * from "./ProjectEnv";
15
15
  export * from "./Wav";
16
16
  export * from "./WorkerAgents";
17
- export * from "./WorkletFactory";
18
17
  export * from "./Worklets";
19
18
  //# sourceMappingURL=index.d.ts.map
@@ -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,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,kCAAkC,CAAA;AAChD,cAAc,mCAAmC,CAAA;AACjD,cAAc,0BAA0B,CAAA;AAExC,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,OAAO,CAAA;AACrB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,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,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,kCAAkC,CAAA;AAChD,cAAc,mCAAmC,CAAA;AACjD,cAAc,0BAA0B,CAAA;AAExC,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,OAAO,CAAA;AACrB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA"}
package/dist/index.js CHANGED
@@ -14,5 +14,4 @@ export * from "./Project";
14
14
  export * from "./ProjectEnv";
15
15
  export * from "./Wav";
16
16
  export * from "./WorkerAgents";
17
- export * from "./WorkletFactory";
18
17
  export * from "./Worklets";