import { Delay } from "Tone/core"; import { Param } from "Tone/core/context/Param"; import { optionsFromArguments } from "Tone/core/util/Defaults"; import { readOnly } from "Tone/core/util/Interface"; import { FeedbackEffect, FeedbackEffectOptions } from "./FeedbackEffect"; interface FeedbackDelayOptions extends FeedbackEffectOptions { delayTime: Time; maxDelay: Time; } /** * FeedbackDelay is a DelayNode in which part of output signal is fed back into the delay. * * @param delayTime The delay applied to the incoming signal. * @param feedback The amount of the effected signal which is fed back through the delay. * @example * var feedbackDelay = new FeedbackDelay("8n", 0.5).toMaster(); * var tom = new Tone.MembraneSynth({ * "octaves" : 4, * "pitchDecay" : 0.1 * }).connect(feedbackDelay); * tom.triggerAttackRelease("A2","32n"); */ export class FeedbackDelay extends FeedbackEffect { /** * the delay node */ private _delayNode: Delay; /** * The delayTime of the FeedbackDelay. */ readonly delayTime: Param