I made the smallest possible testpatch showing the behaviour. I absolutely love the sound of the supersquare synth, I use it to add mysterious, somewhat noisy overtones to saw-pads, which sounds fantastic.
I noticed that I could very quickly drive the output into (nasty, digitial) overdrive when mixing in the supersquare oscillator.
I suspected the mixer arithmetic, but that seemed weird, with the mixers so widely used. So I isolated it to the supersquare oscillator, see attached picture.
Supersquare-Test.axp (1.3 KB)
I looked at the code, but I don't know enough to fix it, although I suspect it should be fairly easy.
The workaround is to add a simpl highpass-filter with very low cutoff frequency, which removes the DC offset, but of course costs a small CPU load penalty. (subtracting a constant value ("math/-c" object) also works, but somehow feels "wrong", since I'm not sure of the exact size of the offset.
P. S. Just found that the superSqrSaw oscillator has the same problem with pw values != 0. The DC offset is positive with negative pw values and vice versa.
Cheers,
Bernd