Yup, one year of C++ and a few months of JUCE. (But I've programmed in other langues before, professionally even.)
I am still really foggy on some of the DSP stuff. The filter is basically a copy/paste job, and I'm not a 100% on how the cubic interpolations I used in the osc works!
So my next mission will probably invole learning some real DSP. Or maybe I'll make a mono/lead oriented version of this synth.
I guess I should have kept the simpler version, before I added oversampling and restructured it for per buffer processing. It was way more clear, consistent and instructive.
But it is often the case that clarity must be sacrificed on the altar of performance.