begin~inside poly~does not work?!!?

simonkemper's icon

Hi there,

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?

Thanks,

Simon

MIB's icon

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

simonkemper's icon

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 ...

Simon

Ah

Patcher! There you go !

4402.beginproblempatcher.maxpat
Max Patch
MuShoo's icon

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.

simonkemper's icon

Thats brilliant!

Never thought of using the poly~ object dynamicly!

Thanks!