A general rule is that for an object with two inputs, you'd want both the objects feeding that input to be before that object. In some cases you might want both of them to actually be after that object, but the place where you'd run into problems most is if one of the objects feeding it is before and one is after. That would cause a 16 sample delay for audio rate stuff and a 1 sample delay for k-rate stuff. This is usually the cause of logic glitches and things. I was having trouble with the gate not being synchronised to the note output in a sequencer I made and that turned out to be the culprit. Ever since then, I've always paid attention to execution order from the beginning so that debugging is easier.
Yes, I discovered that too problem too. I included some bitshift >> objects to attenuate the sine waves before sending them to the mixer. I was working on the assumption that a bitshift is cheaper than a *. I think >>3 (cutting the volume to an 8th) was sufficient to allow all drawbars out without clipping.
I was including the click in the voice patch, but that's probably a waste of resources. I'm not sure whether the click should only be on the first note coming out of silence or whether it should be on every note. I've never played a real electro-mechanical Hammond so I'm not sure what behaviour is correct, but I believe the click was caused by the fact that the contacts under the keys were actually part of the audio path and the click is the sound of the switches closing, like the pop you get when plugging a jack in. It's possible you get a louder click on the first note as the mixer inputs would have been floating, whereas a second note joining in would be connecting to the mixer that already has an input.
Hmm, well I think a Vox Continental is simpler in some ways and more complicated in others. They have simpler drawbar selections but two voices ('flute' and 'reed', or sine and square).
I think the architecture goes 16', 8' and 4' drawbars, and then one labelled IV, which contains a predefined mix of 4 high harmonics (I think it includes 2 1/2', 2', 1 3/5' and 1', but don't quote me on that).
There is then a drawbar for the sines and a drawbar for the squares. I think the sines are mixed according to the footage drawbars, as are the squares (but separately). The voice drawbars then control the levels of the sine mix and the square mix.
So... we need to derive 7 harmonics from the phasor and get the sines from them but also get the squares somehow. Dist/inf maybe? I suspect that might start to alias too early for us though. Then there's the elaborate mixing scheme whereby the sine mix and the square mix are controlled from the same drawbars. I suppose the best way to think about that is to have separate mixers for both sine and square and then a mix 2 g for the two.