40// CombFeedback: a feedback comb filter - basically a simple delay line, makes a comb shape in the freq response
41// CombFeedfwd: a feed-forward comb filter - an "inverted" comb filter, can be combined with CombFeedback to create a net allpass if negative gain is used
42// CombFeedbackDualtap: same as CombFeedback but takes two delay values
43// AllpassDelay: an allpass delay - combines feedback and feed-forward - has flat frequency response
44
45// all classes are templated with channel count, any arbitrary channel count can be used for each fx
46
47// Methods (for all classes):
48
49// setDelay sets delay amount in frames. It's up to you to make this samplerate-agnostic.
50// Fractions are allowed - linear interpolation is used to deal with them
51// CombFeedbackDualTap is a special case: it requires 2 delay times
52
53// setMaxDelay (re)sets the maximum allowed delay, in frames
54// NOTE: for performance reasons, there's no bounds checking at setDelay, so make sure you set maxDelay >= delay!
55
56// clearHistory clears the delay buffer
57
58// setGain sets the feedback/feed-forward gain, in linear amplitude, negative values are allowed
59// 1.0 is full feedback/feed-forward, -1.0 is full negative feedback/feed-forward
60
61// update runs the fx for one frame - takes as arguments input and number of channel to run, returns output