First of all, what is voice stealing (2nd argument) ?
Second. What there is to scroll, so to change the value of delay in milliseconds....(help patch)?
And the serious question. How does it work? What really happens inside it. How does it match the pairs to "reject: them afterwards?
Does it uses memory slots for pairs, as much as the polyphony voices and compares the pitches and if it is velocity ==0 it deletes it from the first memory slot or sth like that? And in what order..? Can i change the factor of velocity from 0 to another value, so to use it in other implementations far from polyphonic use..?
-
Poly in deep..
-
@Pspiroz said:
First of all, what is voice stealing (2nd argument) ?
If it is on, then if all possible voices are being used when a new voice arrives, then the new voice "steals" the oldest voice. It sends a note-off for the oldest voice, and the new voice takes the spot of the old one. With voice-stealing off, then new voices are ignored if all possible voices are active.
Second. What there is to scroll, so to change the value of delay in milliseconds....(help patch)?
I don't know what this is. I don't see it in the help patch for Pd-extended 0.43, anyway.
And the serious question. How does it work? What really happens inside it. How does it match the pairs to "reject: them afterwards?
Does it uses memory slots for pairs, as much as the polyphony voices and compares the pitches and if it is velocity ==0 it deletes it from the first memory slot or sth like that? And in what order..? Can i change the factor of velocity from 0 to another value, so to use it in other implementations far from polyphonic use..?More or less. It keeps track of active notes in an indexed data structure and what order they came in (the index of the data structure is the same as the voice number from the first outlet). When a note-on comes in, it assigns it a free voice up from the most recent note-on. If there are no free voices, it checks to see if voice-stealing is active and, if so, assigns it to the oldest active voice. When a note-off is received, it looks for a matching active voice AND makes sure it is the oldest one (it's possible to have multiple matches). If one is found, it frees that voice up.