Poly~ not allocating voices
I'm working on a variant of granular synthesis with poly~ and I was having trouble with voice allocation. I removed the granular part and replaced it with a saw~ for ease of troubleshooting, copied things exactly how they are in the help files (which work as expected) and I still can't seem to get it running. thispoly~ seems to be working–when I open up voice 1 I can see ADSR~ doing it's thing and the DSP shuts off, but midi notes always go to the first voice. I'm attaching my patches. Maybe someone can find what I'm doing wrong?
Hey man!
If the poly~ state isn't set to busy, all the midi messages will continue to go to the first voice. Setting it busy via the adsr~ mute outlet as seen below solves it for me.

Interesting solution, although I shouldn't have to do that correct? It should work without that fancy logic. I came back to it this evening and found this as a solution: The output of the adsr~ and the mute message into thispoly~ seemed to fix it. I shouldn't need both right? Or is my understanding on how thispoly~ works incorrect?

Yeah, that accomplishes the same thing. A non-zero signal into thispoly~ sets the voice to busy (equivalent to busy 1), and zero does vice versa. Scheduler processing still happens within a voice even if DSP is off, so if you want to allocate to other voices, you need to indicate that the current voice is doing something. Hence using both mute (for CPU purposes) and busy (for voice management purposes).
I haven't thought about it too much, but I can't think of a reason that my solution is better beyond the fact that if you disable DSP in the poly~, you disable your ability to control the busy state of the patcher. Probably wouldn't make a difference when you want to free it as soon as the note is done, but something to think about for the future if need a voice to stay active even if it's not making sound.
Ahhh, I see. thispoly~ can shut off the scheduler and the DSP separately. I didn't put that together but it makes total sense! Thanks for your help in clearing this up!
It doesn't stop the scheduler, it prevents new messages coming in through automatic voice handling until it's set free