Let me share with you some interesting findings about handling more than 16 Midi channels with 1 port. So far I have thought that this is only possible with multiple Midi ports (2 ports-> 32 channels, 4 ports->64 channels and so on).
But in the Dreamblaster X2/Dream chip documentation I found an interesting sentence:
2 ports of 16 channels are provided for a total of 32 channels. MIDI Message “F5 nn” is used to switch between the two ports (nn=1 or 2).
I have never heard of 'F5 nn'Midi messages and MMA documentations do not mention them either. Yet it seems some synths support it (Ketron KETRON SD1000, Korg NX5R etc.).
To my surprise Yamaha soft synths like S-YXG50 driver under Win9x and WinXP as well as the S-YXG100 under Win9x also support these messages (the S-YXG50 VSTi plugin unfortunately does not).
And of course the Dreamblaster X2(GS) also supports 'F5 nn' messages but only when attached to a waveblaster header, it does not work when the DB X2 is attached through USB .
So I have added to FSMP the ability of sending F5 nn messages when multi-port/32 Channel Midi files detected and it works perfectly with the above mentioned synths! I have also modified FSMP to recognize more multi-port Midi files automatically. Now it recognizes Midi port (0x21) Midi device name (0x09) meta messages and also 'PartA', 'PartB', 'PartC', 'PartD' strings in track names (since this is used by SC-88 32-channel demo files).
The built in Bassmidi synth in FSMP also supports 64 Midi channels so in case of external synths also 64 channels are supported through sending 'F5 1-4' messages.
The test version can be dowloaded from here:
https://falcosoft.hu/midiplayer_61_test.zip
I have also attached some 32 channel/multi port Midi files for testing.
The attachment Multi Channel Test.zip is no longer available
BTW, the new test version of FSMP also contains a new Bassmidi library as well as my new Bass_VST library with timing related optimizations.
FSMP itself also uses QPC timer functions (when available) instead of timeGetTime for greater timing precision.
I have also added direct JBridge support to Bass_VST so if you install the new 1.76 beta version of JBridge you can use 32-bit plugins with the 64-bit version of FSMP and vice versa without creating proxy dlls.
https://www.dropbox.com/s/zqkhao2rjy16u2o/jBr … ersion.zip?dl=1