Hi Ian,
Once again I'm coming in late with another bug report.
A few months ago I tried midi plug-in revision 13A, which had a bug where release envelopes wouldn't always play properly, and certain samples were worse than others. I temporarily switched back to Rev. 12 and reported this bug. You promptly fixed it, though I didn't get to try it until now because I was busy with other commitments and forgot. So, now that we're on Rev. 14, and this should be long forgotten as so many bugs are, I have to bring this one back. 90 percent of the time, everything sounds fine. However, the bug still manifests.
To put it simply, while release envelopes start out fine, they sometimes terminate prematurely. Some will make it all the way to what I would consider the minimum level, while others stop while the sound is still quite audible. You notice it especially during long rests, or with instruments like pianos which have undamped strings at the top end, and so will sometimes have long release envelopes put on those samples to emulate that. Also, the cutting of notes is sample dependent, I.e. just because it happens on one sample under certain conditions doesn't necessarily mean it will happen on other samples under those same conditions. That's all I can say with confidence.
To simplify this as much as I could, I've made a very small zip file which shows my experiments in trying to pinpoint this issue myself and what triggers it, and I've got something that's obvious enough to clearly hear and see, though I still am stumped as to what the root cause is. Here is a link:
https://dl.dropboxusercontent.com/u/5406787/releasetests.zipNow I'll explain what these files are attempting to show so you can hopefully pin this down.
Releasetest.mid simply contains two notes, each a second in length. The notes also have a second gap between them. Piano.sf2 and sine.sf2 are two different sound fonts I made for the pure purposes of testing for this issue. Both sound fonts are exactly the same, they each contain one sample with loop points, one instrument and one preset. They both have identical release envelopes. However the midi plug-in treats them differently.
If you play releasetest.mid using sine.sf2, you will hear two obnoxious beeps, with a second of fading in between. You can also see in the channel mixer that for a while, both notes overlap.
Now, try playing releasetest.mid with piano.sf2, which has exactly the same settings in the font, just with a piano sample instead of a single cycle sine loop. Not only can you hear a gap of pure silence in between the two notes, but you can also see it in the channel mixer. It didn't do this in Rev. 12. Decay envelopes are also unaffected to my knowledge, only releases are.
My only explanation as to what could be going on is that Perhaps the plug-in is trying to listen to each voice to determine when it is sufficiently quiet enough to be inaudible? If this is the case, it's a good concept but I think I have a case for it not to be necessary, as the release envelopes in Bass don't seem to go down ridiculously low. With loud samples you can always hear the ADSR envelopes cut after a certain point, and it's always been that way. If it were like those synths which will happily ramp down to -100 dB or lower, then I can possibly see the need for such a feature to mute voices which were potentially inaudible, but the voice limit to my understanding already knows to cut voices from quietest to loudest in terms of how much they've been attenuated. With 500 voices in Rev. 12, I rarely had voice cutting problems that were audible, with 1000 in later versions I suspect I will have even fewer problems.
Otherwise it's a great plug-in, and I see improvement in every version, even though I was being lazy and not checking in here frequently when the revisions were being made. I like the new stereo alternative panning, and what you describe about its working does make sense if that's indeed how the spec defines it. While I haven't tested SFZ support, I think I could help out a lot with that since Plogue Sforzando has a pretty good implementation of the spec, and I do use that a lot as well. I wouldn't expect Bass to quite match what Sforzando does but there's nothing saying we can't keep getting better.
Thanks for reading.