What poly~ reports when all voices busy
Hi there,
As far as I could find, [poly~] does not report any message when all voices are busy and it receives a new midinote or note message. Basically, if you want your poly to report that all voices are busy, you have to build your own scheme, either building on the busymap message, or designing a system with a confirmation message from within your [poly~] voice when a voice is actually played.
Yet, I would find this logical to have a message out of poly~ when a voice that has been asked for could not be instantiated.
Thanks for letting me know if I'm missing something, or for other ideas.
Finally, I think the best way to deal with this question is to use the [poly~] steal method, and design your own mechanism inside your poly~ voice. Depending on your process, you'll drop the new incoming notes (using steal to not steal, but be aware of the dropped "notes"), you'll defer the incoming notes to the end of the currently occupied one (using steal to defer), or you'll actually immediately steal the voice, then of course designing some smooth audio x-fade to avoid clicks.
You could alternately add an out~ that outputs 0/1 for busy and then just watch the value, since it will be the sum of all active voices. When it is equal to the voice count, no voices are free.
Thanks. Indeed, it can be better than using busymap and summing afterwards (although it will use a tiny bit more DSP because of a necessary additional sig~ and out~ in your poly~). But I managed now using a steal scheme.