From my understanding, a soundfont with all stereo samples would have one sample for the left channel, and one for the right, thus, 2 samples would be playing for every note instead of one. Am I understanding correctly?
Yes, that is correct. As well as that, a preset/instrument can also consist of multiple layers, ie. multiple samples played together for a single note. So the voice count doesn't necessarily equate to the number of notes that are playing.
Also as you might have read, some of us were wondering about a tempo adjustment in the mixer window, but we are asking a lot of work.
The issue with changing the tempo is that it also changes the duration of the MIDI file, and the position displayed by XMPlay would no longer match the position being heard. For example, if the tempo is doubled, then when the position display shows 10 seconds, the MIDI file is actually at the 20 second mark. That messes up seeking, eg. moving the position slider forward could actually result in seeking backwards from the position being heard. If people are OK with that, it may be possible to arrange something
@Ian: Could you add a 'Max. & Peak Active Voices' indicator to the MIDI Mixer, so you don't have to look at the Active voices all the time. The 'peak' number is what most people need
OK, here's an update with the peak displayed... www.un4seen.com/stuff/xmp-midi.dll
The peak counter will reset when a new MIDI file is opened or the config changes.
Just to reiterate, it is the quietest voice that gets cut, usually a voice that's decaying/fading-out after a note has been released. Once you reach a high number of voices (eg. 200+), I don't think you need to be too concerned about cut voices, due to the cut voices being too quiet to hear over the other voices. All looping samples actually get cut eventually (even if there isn't a lack of voices) because voices decay logarithmically, which means they never reach total silence (0) by themselves. So it could be that a voice that's cut due to a lack of voices was about to be cut anyway due to reaching a very low level.