export type FrozenArray = Array; export type Inputs = FrozenArray>; export type Outputs = FrozenArray>; export type Parameters = { [parameterName: string]: Float32Array; }; /** * This class enables to use inline AudioWorklet. */ export declare abstract class AudioWorkletProcessor { protected port: MessagePort; protected abstract process(inputs: Inputs, outputs: Outputs, parameters: Parameters): boolean; constructor(_options?: AudioWorkletNodeOptions); } /** * This class extends `AudioWorkletProcessor`. */ export declare abstract class OverlapAddProcessor extends AudioWorkletProcessor { private static readonly RENDER_QUANTUM_SIZE; protected frameSize: number; protected hopSize: number; protected numberOfOverlaps: number; private inputBuffers; private inputBuffersHead; private inputBuffersToSend; private outputBuffers; private outputBuffersToRetrieve; constructor(options: AudioWorkletNodeOptions); protected abstract processOverlapAdd(inputs: Inputs, outputs: Outputs, parameters: Parameters): void; /** @override */ protected process(inputs: Inputs, outputs: Outputs, parameters: Parameters): boolean; private reallocateChannelsIfNeeded; private allocateInputChannels; private allocateOutputChannels; private readInputs; private writeOutputs; private shiftInputBuffers; private shiftOutputBuffers; private prepareInputBuffersToSend; private handleOutputBuffersToRetrieve; } /** * This function creates AudioWorklet script as Data URL. * @param {AudioWorkletGlobalScope.AudioWorkletProcessor} processor This argument is class that extends `AudioWorkletProcessor`. * @return {string} Return value is AudioWorklet script as Data URL. */ export declare function createModule(processor: new (options: AudioWorkletNodeOptions) => AudioWorkletProcessor): string; /** * This function adds module as AudioWorklet. * @param {AudioContext} context This argument is instance of `AudioContext` for adding AudioWorklet module. * @param {AudioWorkletGlobalScope.AudioWorkletProcessor} processor This argument is class that extends `AudioWorkletProcessor`. * @param {WorkletOptions} options This argument is one of 'omit', 'same-origin', 'include'. The default value is 'same-origin'. * @return {Promise} Return value is `Promise` that `addModule` returns. */ export declare function addAudioWorklet(context: AudioContext, processor: new (options: AudioWorkletNodeOptions) => AudioWorkletProcessor, options?: WorkletOptions): Promise; //# sourceMappingURL=worklet.d.ts.map