Would like to get people’s take on the cleanest, most extensible way to build an app that strings together audio generators/processors.
At the moment I’ve created a project using Audio Processors/Editors and an AudioProcessorGraph to chain them all together. It’s working fine and does what I’d expect but it’s really slow going. Every time I add a new feature/processor I have to create 4 files (two .cpps and two headers for the processor and editors respectively) with many, many lines of boilerplate. For example a trivial Panning dsp routine and attendant gui pan pot is several hundred lines of code long.
I have an ADSR, panning, and a simple wavetable osc and the project already feels bloated and is tiring to traverse. I’m a functional but not expert C++ coder so maybe I’m missing opportunities for optimization (consolidate function defs into headers?).
Ultimately I’d really like a quick, straightforward way to add new processing elements (filters, oscillators, envelopes, etc) with mapped gui inputs. Has anyone found a better, quicker way to iterate or is this just the nature of the beast? Have had a look at the doc examples on GitHub but nothing struck me as an obviously better solution.
Maybe I should prototype/experiment in a simpler language like SOUL and then port that code over? Or even write a template generator that scaffolds boilerplate for me? Any workflow tips and tricks you all have developed?