This commit adds a feature to the multisource MIDI drivers which allows setting
a default value for most controllers. This default is then applied at the start
of every new track, which ensures controllers are in the correct state.
This can be used for games which use some controller, but do not reset it at
the start of each track, which can lead to incorrect playback.
The Roland GS MT-32 emulation option would not select the MT-32 drumkit on the
GS device, because the drumkit change was filtered out in the MT32GM driver.
This commit fixes this by adding an exception for this drumkit change when GS
MT-32 emulation is active.
This will hopefully fix undefined symbol errors for some of those.
Those const static integral members are initialized in the class
definition, which is allowed (even before c++11). But they still
need a definition if they are odr-used, and that was missing. I
suspect this is why some compiler were giving errors.