I made a little set of abstraction to embed a solution for voice management i've been using for some time, and thought it could maybe interest some people here. You can find it as part of the https://github.com/LAM-IJLRA/lam-lib
. Check the LAM.mpoly.param.maxhelp, its all explained there.
Also, the logic of this patch is a kind of feature request for poly~ that would pack all this logic natively in the poly~ object (or a new object). Can we hope for anything like this in forthcoming Max7 ?