UNPKG

tone

Version:

A Web Audio framework for making interactive music in the browser.

53 lines (52 loc) 3.12 kB
import { Seconds } from "../type/Units"; import { Emitter } from "../util/Emitter"; import { AnyAudioContext } from "./AudioContext"; declare type Draw = import("../util/Draw").Draw; declare type Destination = import("./Destination").Destination; declare type Transport = import("../clock/Transport").Transport; declare type Listener = import("./Listener").Listener; declare type BaseAudioContextSubset = import("./Context").BaseAudioContextSubset; export declare type ContextLatencyHint = AudioContextLatencyCategory | "fastest"; export declare abstract class BaseContext extends Emitter<"statechange" | "tick"> implements BaseAudioContextSubset { abstract createAnalyser(): AnalyserNode; abstract createOscillator(): OscillatorNode; abstract createBufferSource(): AudioBufferSourceNode; abstract createBiquadFilter(): BiquadFilterNode; abstract createBuffer(_numberOfChannels: number, _length: number, _sampleRate: number): AudioBuffer; abstract createChannelMerger(_numberOfInputs?: number | undefined): ChannelMergerNode; abstract createChannelSplitter(_numberOfOutputs?: number | undefined): ChannelSplitterNode; abstract createConstantSource(): ConstantSourceNode; abstract createConvolver(): ConvolverNode; abstract createDelay(_maxDelayTime?: number | undefined): DelayNode; abstract createDynamicsCompressor(): DynamicsCompressorNode; abstract createGain(): GainNode; abstract createIIRFilter(_feedForward: number[] | Float32Array, _feedback: number[] | Float32Array): IIRFilterNode; abstract createPanner(): PannerNode; abstract createPeriodicWave(_real: number[] | Float32Array, _imag: number[] | Float32Array, _constraints?: PeriodicWaveConstraints | undefined): PeriodicWave; abstract createStereoPanner(): StereoPannerNode; abstract createWaveShaper(): WaveShaperNode; abstract createMediaStreamSource(_stream: MediaStream): MediaStreamAudioSourceNode; abstract decodeAudioData(_audioData: ArrayBuffer): Promise<AudioBuffer>; abstract createAudioWorkletNode(_name: string, _options?: Partial<AudioWorkletNodeOptions>): AudioWorkletNode; abstract readonly rawContext: AnyAudioContext; abstract addAudioWorkletModule(_url: string, _name: string): Promise<void>; abstract lookAhead: number; abstract latencyHint: ContextLatencyHint | Seconds; abstract resume(): Promise<void>; abstract setTimeout(_fn: (...args: any[]) => void, _timeout: Seconds): number; abstract clearTimeout(_id: number): this; abstract setInterval(_fn: (...args: any[]) => void, _interval: Seconds): number; abstract clearInterval(_id: number): this; abstract getConstant(_val: number): AudioBufferSourceNode; abstract readonly currentTime: Seconds; abstract readonly state: AudioContextState; abstract readonly sampleRate: number; abstract readonly listener: Listener; abstract readonly transport: Transport; abstract readonly draw: Draw; abstract readonly destination: Destination; abstract now(): Seconds; abstract immediate(): Seconds; readonly isOffline: boolean; } export {};