Potential Bug: stuck sustain pedal when switching tracks

Please let our ADS show!

This sites offers only FREE software and it's supported by a few advertisement boxes (no intrusive popups).
Please:

  • disable your AdBlocker by adding CoolSoft website to whitelist
  • give the proper cookie consent
  • enable JavaScript for this website

This seconds wait is to let you update your browser configuration...

Ok, I've done the required changes... now show me your content!
!!! Please enable JavaScript !!!
Anonymous user
Potential Bug: stuck sustain pedal when switching tracks

VirtualMidiSynth often takes 20+ seconds to load up (no doubt due to my heavy sound fonts).  Now, if I use WinAMP to play midi tracks, it tries to unload/reload the midi driver in between tracks, which is an unusable experience.  This is not the bug I'm writing about.

To work around this, I am playing from WinAMP -> loopMIDI -> MIDI connection center -> VirtualMidiSynth.  I wish this was easier, but this makes VirtualMidiSynth more or less resident, and the experience between songs is quite seamless as a result.

The trouble then is that sometimes, if I tell WinAMP to switch to the next track in the middle of a song, the sustain pedal might be left on, ruining the next song, especially if that song doesn't use sustain. 

The best fix would be to somehow detect the start of a new track/song and reset state of the sustain pedal on every channel.  Arguably any program change should reset sustain.  A mitigation would be to make "MIDI Panic" reset the sustain pedal; it currently does not seem to.

Posts: 1978
Joined: March 25, 2012 - 01:19
Re: Potential Bug: stuck sustain pedal when switching tracks

Unload/reload between songs is one of the architectural limits of VMS 1.x that can't be overcome.
It could be workarounded by an optimized MIDI player (like VanBasco) that avoids closing and reopening the same (virtual) device between tracks and only send a MIDI reset before starting the new track.

VMS MIDI panic should reset the device completely; at least this is what I execute on the underlying BASS synth subsystem.

Anyway, the MIDI chain you've setup is exactly what I'm trying to avoid with the upcoming VMS 2.x series, actually in beta version and almost ready to be released.
VMS2 is splitted in two parts: a resident one (the synth) and a DLL that loads/unloads blazing fast (the driver).
Take a look here and here for a description of the architectural changes and feel free to post your thoughts there.