i am doing some final improvements to save cpu cycles in my dsp chain … So i just found out that the begin~objects used inside my poly~instanciated voice patchers doesn’t seem to work. I am using them as described in the reference but if i leave them out i am saving cpu cycles. If i put them back in, cpu load goes up and not as expected — down ..
Anyone experiencing the same or is the behaving as expected and i missed something?
did you see that begin~ is "obsolete" according to the documentation? they tell you to use poly~ instead ;)
use "thispoly~" with the "mute message to control the active state of each voice… see helpfiles of thispoly~ and poly~.
post a patch if you need more help
This is what i am already doing, using thispoly~to shutdown individual voices. But inside every voice i am using different Waveform-Generators to provide selectable Waveforms. Every waveform is using a begin~and end up in a selector~… just like inside the documentation … but none of the seperate dsp-subchains shut down.
Another example is my 2:1 X-Over. I am using a sine object to calculate the perfect xover. However if one path of the xover is zero i am shutting it down with begin~ using a gate~object. This also, however, does not work inside a poly~instanciated voice …
Why not just nest [poly~]s for your waveform generator? Assuming you can only have one waveform selected at a time, just make a poly patch for each waveform type, and load them in dynamically.
For the X-over it’s a little more annoying, as loading in/out [poly] patchers dynamically can still cause some DSP stall, far as I know. But, if your control mechanism (ie, your check for 0) is outside of the nested X-Over poly, you could just send it a mute message.