hello, i am having more poly~ troubles (to see my other poly~ troubles, take a look at my post on my elemntary beat slicer.) I am building an extremely basic polyphonic FM synth, using the FM example patch. When a message is received, the mute is set to 0, and the busy state is set to 1. When the envelope is done being read, my mute is set to 1, and my busy state is set to 0. I then use the [note $1] message to look for unused voices…..YET IT DOESN’T WORK! Why??? It’s such a basic process. Yet, there’s no polyphony. Just monophony and clicks…so many clicks…. :-(
attached is my poly~ patch and a bpatcher that makes use of it. PLEASE HELP! I do not understand where I am going wrong in such a simple process. It’s extraordinarily frustrating.
I have read the helpfile and tutorial. I feel like I am doing everything it says in both those documentations correctly.
Hi, here’s a solution for ya. I made it so that everytime you change an envelope, the envelope is stored internally within the poly and then triggered only from within once every time a new poly voice is requested. That way, each voice stores its own info. rather than having it constantly change from outside the poly~. Well… take a look, the patches may show more than words can(not sure how many ways you’ve tried it, but if you had it trigger a new envelope from outside the poly~ then you are dynamically changing the envelope data to all voices and it becomes impossible for one voice to end).
The Max 4.63 patches are all zipped here together in one folder.
oh, and it does help to have at least one loadbang object attached to a "0, mute 1" message sent to a thispoly~ object within any poly~ patch just to initialize every voice so it is registered as "not busy" and "muted" upon startup.