[REFACTOR] Tone stack abstraction
sdatkinson opened this issue · comments
The tone stack is currently Some pretty simple biquad filters. In order to help make this extensible (e.g. if one wanted to implement a TSC-like tone stack), we can start with an abstraction like this:
class ToneStack {
void SetParam(const std::string name, const double val) = 0;
sample** Process(sample** inputs) = 0;
};
then the tone stack code block in ProcessBlock()
becomes
if (toneStackActive)
{
toneStackOutPointers = mToneStack.Process(gateGainOutput);
}
I could then subclass ToneStack
for my implementation, move the parameter stuff to OnParamChange
(will put in a separate Issue), and make that bit nice and modular.