Skip to content

[REFACTOR] Tone stack abstraction #441

@sdatkinson

Description

@sdatkinson

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.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions