@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
29 lines (28 loc) • 1.54 kB
TypeScript
import { EnvelopeOptions } from 'tone';
import { ToneAudioNodeOptions, ToneAudioNode } from 'tone/build/esm/core/context/ToneAudioNode';
import { Instrument } from 'tone/build/esm/instrument/Instrument';
import { OmniOscillatorSynthOptions } from 'tone/build/esm/source/oscillator/OscillatorInterface';
import { Source } from 'tone/build/esm/source/Source';
import { UserMedia } from 'tone/build/esm/source/UserMedia';
export type SourceType = Source<any> | UserMedia;
export type InstrumentType = Instrument<any>;
export type EnvelopeParamsType = Partial<Omit<EnvelopeOptions, keyof ToneAudioNodeOptions>>;
export type OscillatorParamsType = Partial<OmniOscillatorSynthOptions>;
export declare class AudioBuilder {
private _source;
private _instrument;
private _audioNode;
private _oscillatorParams;
private _envelopeParams;
setAudioNode(inputNode: ToneAudioNode | undefined): void;
audioNode(): ToneAudioNode<import("tone/build/esm/core/context/ToneWithContext").ToneWithContextOptions> | undefined;
setSource(source: SourceType | undefined): void;
source(): SourceType | undefined;
setInstrument(instrument: InstrumentType | undefined): void;
instrument(): InstrumentType | undefined;
setOscillatorParams(params: OscillatorParamsType | undefined): void;
oscillatorParams(): OscillatorParamsType | undefined;
setEnvelopeParams(params: EnvelopeParamsType | undefined): void;
envelopeParams(): Partial<Omit<EnvelopeOptions, "context">> | undefined;
clone(): AudioBuilder;
}