UNPKG

1.41 kBTypeScriptView Raw
1import { EffectOptions } from "./Effect.js";
2import { OutputNode, ToneAudioNode } from "../core/context/ToneAudioNode.js";
3import { CrossFade } from "../component/channel/CrossFade.js";
4import { Signal } from "../signal/Signal.js";
5import { Split } from "../component/channel/Split.js";
6import { Gain } from "../core/context/Gain.js";
7import { Merge } from "../component/channel/Merge.js";
8export type StereoEffectOptions = EffectOptions;
9/**
10 * Base class for Stereo effects.
11 */
12export declare class StereoEffect<Options extends StereoEffectOptions> extends ToneAudioNode<Options> {
13 readonly name: string;
14 readonly input: Gain;
15 readonly output: CrossFade;
16 /**
17 * the drywet knob to control the amount of effect
18 */
19 private _dryWet;
20 /**
21 * The wet control, i.e. how much of the effected
22 * will pass through to the output.
23 */
24 readonly wet: Signal<"normalRange">;
25 /**
26 * Split it
27 */
28 protected _split: Split;
29 /**
30 * the stereo effect merger
31 */
32 protected _merge: Merge;
33 constructor(options: StereoEffectOptions);
34 /**
35 * Connect the left part of the effect
36 */
37 protected connectEffectLeft(...nodes: OutputNode[]): void;
38 /**
39 * Connect the right part of the effect
40 */
41 protected connectEffectRight(...nodes: OutputNode[]): void;
42 static getDefaults(): StereoEffectOptions;
43 dispose(): this;
44}