I am working on a Casio CZ style oscillator. I have already created them for each of the CZ series waveforms separately, but I am banging my head on the wall to implement a feature the CZ had where an oscillator would have two “steps” (see picture attached). This would be like, for example: one full sine then one full square, then another full sine, then another full square. I thought about running two oscs in parallel, one with wave A then other with wave B, and make a step counter every time the phase reaches 0 and then select a full wave from each oscillator at a time, but this doesn’t seem to be fine. I wonder if the phase is approximated and sometimes it is not really 0.0f at some point. Any ideas here would be greatly appreciated as usual.
Thanks a lot, Marcelo.