import { Param } from "../../core/context/Param"; import { InputNode, OutputNode, ToneAudioNode, ToneAudioNodeOptions } from "../../core/context/ToneAudioNode"; import { Frequency, NormalRange, Time } from "../../core/type/Units"; import { optionsFromArguments } from "../../core/util/Defaults"; import { RecursivePartial } from "../../core/util/Interface"; import { Signal } from "../../signal/Signal"; import { FeedbackCombFilter } from "./FeedbackCombFilter"; import { Filter } from "./Filter"; interface LowpassCombFilterOptions extends ToneAudioNodeOptions { delayTime: Time; resonance: NormalRange; dampening: Frequency; } /** * A lowpass feedback comb filter. It is similar to * [[FeedbackCombFilter]], but includes a lowpass filter. */ export class LowpassCombFilter extends ToneAudioNode { readonly name = "LowpassCombFilter"; /** * The delay node */ private _combFilter: FeedbackCombFilter; /** * The lowpass filter */ private _lowpass: Filter; /** * The delayTime of the comb filter. */ readonly delayTime: Param