I noticed some undesirable behaviour with the voicing system while using some pad sounds with long releases. I will try to explain this as best I can.
I have voices set to 4. I hold note 1, voice 1 is playing. I hold note 2, voice 2 is playing. I release note 1 which will still be heard for awhile because of the long release stage. I press note 3 and it steals voice 1, cutting off the still sounding note 1.
Is this intended behaviour?
v1.7 VST, win10
sorry for the delay in replying—I had to find time to open up the relevant code so I could tell you something useful.
The voice allocator is a bit complex in an effort to get it to feel "natural" and get the most out of four voices.
Stealing voices happens when the number of voices asked to sound exceeds the number of available voices. It goes as follows: In the event sustain is held down, the oldest voice will be the one stolen. When sustain is not held down, the voice sounding at a note nearest to the new note request will be stolen.
This is intended to allow you to, say, play a low triad and then wibble away on a solo line up above while the chord rings out.
In the future I will likely add different modes for voice allocation as a preference, of which of course simple rotation would be one.
Thanks for taking the time to look into this and for writing a detailed reply. This voicing scheme is something I will have to keep in mind when creating patches.
Some different options would definitely be more than welcome. Looking forward to that!