sdatkinson / NeuralAmpModelerPlugin

Plugin for Neural Amp Modeler

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[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.