In the begin~ helpful it says "quasi-obsolete – please use poly~", and I’m wondering if there is an actual reason why someone should use poly~ instead of begin~ or mute~?
I don’t mind using poly~ if it is a better choice (i.e., if I want to use the poly functionality, or if I want to downsample/upsample)… but otherwise it is a hassle to have to have a separate patch just for the poly~.
Currently each "well-behaved" MSP object (including all the Cycling objects) will deal correctly with mute~ and begin~. But many 3rd party external don’t, and will continue running and eating CPU even when you think they’re muted.
On the other hand, poly~ ensures that everything is muted because it actually mutes the whole patch, instead than the single objects. This is why it’s the preferred method.