UNPKG

ez-web-audio

Version:

Making the Web Audio API super EZ since 2024.

84 lines 2.69 kB
export type ControlType = 'frequency' | 'gain' | 'detune' | 'pan'; export type RatioType = 'ratio' | 'inverseRatio' | 'percent'; export type RampType = 'linear' | 'exponential'; export type SeekType = RatioType | 'seconds'; export interface ParamValue { type: ControlType; value: number; } export interface ValueAtTime extends ParamValue { time: number; } export interface ParamController { gain: number; pan: number; setValuesAtTimes: () => void; updateAudioSource: (source: any) => void; updateGainNode: (gainNode: GainNode) => void; updatePannerNode: (pannerNode: StereoPannerNode) => void; update: (type: ControlType) => { to: (value: number) => { from: (method: RatioType) => void; }; }; onPlaySet: (type: ControlType) => { to: (value: number) => { at: (time: number) => void; endingAt: (time: number, rampType?: RampType) => void; }; }; onPlayRamp: (type: ControlType, rampType?: RampType) => { from: (startValue: number) => { to: (endValue: number) => { in: (endTime: number) => void; }; }; }; } interface AudioSource { detune: { value: number; }; frequency?: { value: number; }; } export declare class BaseParamController { protected audioSource: AudioSource; protected gainNode: GainNode; protected pannerNode: StereoPannerNode; constructor(audioSource: AudioSource, gainNode: GainNode, pannerNode: StereoPannerNode); protected startingValues: ParamValue[]; protected valuesAtTime: ValueAtTime[]; protected exponentialValues: ValueAtTime[]; protected linearValues: ValueAtTime[]; get gain(): number; protected set gain(value: number); get pan(): number; protected set pan(value: number); updateGainNode(gainNode: GainNode): void; updatePannerNode(pannerNode: StereoPannerNode): void; protected _update(type: ControlType, value: number): void; update(type: ControlType): { to: (value: number) => { from: (method: RatioType) => void; }; }; onPlaySet(type: ControlType): { to: (value: number) => { at: (time: number) => void; endingAt: (time: number, rampType?: RampType) => void; }; }; onPlayRamp(type: ControlType, rampType?: RampType): { from: (startValue: number) => { to: (endValue: number) => { in: (endTime: number) => void; }; }; }; private removeStartingValue; private addRampValue; } export {}; //# sourceMappingURL=param-controller.d.ts.map