1 | import { StereoEffect, StereoEffectOptions } from "./StereoEffect.js";
|
2 | import { Signal } from "../signal/Signal.js";
|
3 | import { Degrees, Frequency, NormalRange, Time } from "../core/type/Units.js";
|
4 | import { ToneOscillatorType } from "../source/oscillator/OscillatorInterface.js";
|
5 | export interface TremoloOptions extends StereoEffectOptions {
|
6 | frequency: Frequency;
|
7 | type: ToneOscillatorType;
|
8 | depth: NormalRange;
|
9 | spread: Degrees;
|
10 | }
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 | export declare class Tremolo extends StereoEffect<TremoloOptions> {
|
24 | readonly name: string;
|
25 | |
26 |
|
27 |
|
28 | private _lfoL;
|
29 | |
30 |
|
31 |
|
32 | private _lfoR;
|
33 | |
34 |
|
35 |
|
36 | private _amplitudeL;
|
37 | |
38 |
|
39 |
|
40 | private _amplitudeR;
|
41 | |
42 |
|
43 |
|
44 | readonly frequency: Signal<"frequency">;
|
45 | |
46 |
|
47 |
|
48 |
|
49 |
|
50 | readonly depth: Signal<"normalRange">;
|
51 | |
52 |
|
53 |
|
54 |
|
55 | constructor(frequency?: Frequency, depth?: NormalRange);
|
56 | constructor(options?: Partial<TremoloOptions>);
|
57 | static getDefaults(): TremoloOptions;
|
58 | /**
|
59 | * Start the tremolo.
|
60 | */
|
61 | start(time?: Time): this;
|
62 | /**
|
63 | * Stop the tremolo.
|
64 | */
|
65 | stop(time?: Time): this;
|
66 | /**
|
67 | * Sync the effect to the transport.
|
68 | */
|
69 | sync(): this;
|
70 | /**
|
71 | * Unsync the filter from the transport
|
72 | */
|
73 | unsync(): this;
|
74 | /**
|
75 | * The oscillator type.
|
76 | */
|
77 | get type(): ToneOscillatorType;
|
78 | set type(type: ToneOscillatorType);
|
79 | /**
|
80 | * Amount of stereo spread. When set to 0, both LFO's will be panned centrally.
|
81 | * When set to 180, LFO's will be panned hard left and right respectively.
|
82 | */
|
83 | get spread(): Degrees;
|
84 | set spread(spread: Degrees);
|
85 | dispose(): this;
|
86 | }
|