VOGONS


Reply 1280 of 2086, by RetroGamer4Ever

User metadata
Rank Oldbie
Rank
Oldbie

I updated my CoolSoft VMS to the latest version (2.12.4) and the older client version used in the latest build of FMP (2.12.2) won't work with the updated VMS install, so I can't use VMS as an option in the settings and get an error message when starting the player. I can bypass it and just use the BASS MIDI built into the player to use SF, so it's no biggie.

Reply 1281 of 2086, by Falcosoft

User metadata
Rank l33t
Rank
l33t
RetroGamer4Ever wrote on 2022-01-28, 18:54:

I updated my CoolSoft VMS to the latest version (2.12.4) and the older client version used in the latest build of FMP (2.12.2) won't work with the updated VMS install, so I can't use VMS as an option in the settings and get an error message when starting the player. I can bypass it and just use the BASS MIDI built into the player to use SF, so it's no biggie.

Sorry, but I do not understand what 'client version' you are talking about that 'used in latest build of of FMP (2.12.2) '. FSMP does not use any version of VMS, or for the matter any software component that has a version of 2.12.2.
So please, try to explain the situation with a little bit more detail.
FSMP and VMS are totally independent from each other. If FSMP gives an error when you select VMS as a standard WinMM Midi Out port then it is very much likely that there is a problem with your installation of VMS and other Midi software would give you an error too when VMS would be selected as Midi Out port.

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 1282 of 2086, by Trelokk

User metadata
Rank Member
Rank
Member

I am trying to load latest MuntVST via VSTDriver, but even after correctly selecting the ROM files, I won't hear anything in games. Same results with either x86 or x64 editions.
Does this only work from within FSMP? The OPL3 plugin works fine, btw.

I am rather tending towards an issue with VSTDriver (which is still in alpha) since a combination of LoopMIDI, SAVIHost and MuntVST does not yield any problems.

Reply 1283 of 2086, by Falcosoft

User metadata
Rank l33t
Rank
l33t
Trelokk wrote on 2022-02-11, 07:08:

I am trying to load latest MuntVST via VSTDriver, but even after correctly selecting the ROM files, I won't hear anything in games. Same results with either x86 or x64 editions.
Does this only work from within FSMP? The OPL3 plugin works fine, btw.

I am rather tending towards an issue with VSTDriver (which is still in alpha) since a combination of LoopMIDI, SAVIHost and MuntVST does not yield any problems.

Hi,
I have just tried the new VSTi driver and I have to say that in its current state it does not work well. The VSTi configuration that you set when you press 'Configure VSTi...' button is not applied for the actually running instance, not even when you leave the VSTi's user interface open. The problem is that the config is not saved and the VSTi instance where you set the configuration and the actual one that produces the sound is not the same one. And the one that actually produces the sound always uses default configuration. In the case of Munt VSTi the default configuration cannot produce sound since it misses the ROM files. You can test and confirm my claims by using either S-YXG50 or SC-VA:
Press the 'Configure VSTi...' button and set the volume of S-YXG50 or SC-VA to a lower level. Leave the VSTi interface open and test if you can hear any volume changes in your games (notice: you will not). Now close the VSTi interface and test again the volume. You will not hear any changes again. So the conclusion is that in its current state the VSTi configuration is absolutely useless. The plugins always use the default one.
In your case it means that even SC-VA always uses SC-8820 mode (not ideal for gaming) regardless of the settings you make on SC-VA's interface. It's hard to imagine how this flaw was not detected by the authors, but it works this way currently anyway...

BTW I have also tried what happens when you run the configuration dialog in full administrator mode. The situation stays the same: no settings are saved or applied. So it's not a file access problem because of missing privileges.

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 1284 of 2086, by Trelokk

User metadata
Rank Member
Rank
Member

I was afraid of this. This also explains why other VSTis that are supposed to load SF2 soundfonts wouldn't accept any soundbank you are trying to load. I guess running the S-YXG50 through the current VSTDriver would be OK since it already has all necessary settings applied and would run out-of-the-box without any adjustments required. So for now, this means the only proper/functional way to set up anything that needs plugin changes (SCVA, MuntVSTi etc) currently is a LoopMIDI/SAVIHost combination.

I have reported this issue over at Github, hoping it gets addressed soon. That new VSTHost driver is still in alpha stage, anyway, so you can't expect everything to work flawlessly right away. Most likely, this was behavior inherited from kode54's original release.

Thanks a lot for checking!

Last edited by Trelokk on 2022-02-11, 09:09. Edited 1 time in total.

Reply 1285 of 2086, by Falcosoft

User metadata
Rank l33t
Rank
l33t
Trelokk wrote on 2022-02-11, 09:01:

I was afraid of this. So the only proper/functional way to set this up currently is a LoopMIDI/SAVIHost combination.
....

I do not think so 😀 FSMP can also work in a seamless 'driver' mode where it starts with windows automatically and loaded into system tray. And as a bonus you can change its configuration even within DosBox by sending SysEx messages.
https://youtu.be/6CdJ7sEt8UM

FSMP also supports software Capital Tone Fallback (CTF) that can be useful in case of some badly programmed games when you use SC-VA (otherwise you will hear bad instruments or no instruments at all).

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 1286 of 2086, by Trelokk

User metadata
Rank Member
Rank
Member

Right, forgot about that! So LoopMIDI needs to be launched, set up a MIDI port, then load the plugin via FSMP. In FSMP settings, make sure LoopMIDI port is selected in "MIDI In".
SCVA settings can be saved and automatically loaded as an .fxb file. This seems to work just fine, too.

BTW: Is there a parameter for shortcuts to minimize FSMP to tray when launched? I know this is an option in the menu and you can do that for startup, but prefer to call the program on demand, but would like it to go to systray directly.

Reply 1287 of 2086, by Falcosoft

User metadata
Rank l33t
Rank
l33t
Trelokk wrote on 2022-02-11, 09:27:

Right, forgot about that! So LoopMIDI needs to be launched, set up a MIDI port, then load the plugin via FSMP. In FSMP settings, make sure LoopMIDI port is selected in "MIDI In".
SCVA settings can be saved and automatically loaded as an .fxb file. This seems to work just fine, too.

BTW: Is there a parameter for shortcuts to minimize FSMP to tray when launched? I know this is an option in the menu and you can do that for startup, but prefer to call the program on demand, but would like it to go to systray directly.

Yep, you can use "midiplayer.exe /tray" to load it directly to system tray.

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 1288 of 2086, by Trelokk

User metadata
Rank Member
Rank
Member

Right, that worked like a charm. Excellent! Like this, I can create a batch launching LoopMIDI and FSMP together, both minimized. A fair workaround until the VSTDriver can store plugin presets. Thanks a lot!

Reply 1289 of 2086, by Falcosoft

User metadata
Rank l33t
Rank
l33t

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

Last edited by Falcosoft on 2022-02-11, 15:05. Edited 1 time in total.

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 1290 of 2086, by RetroGamer4Ever

User metadata
Rank Oldbie
Rank
Oldbie

Based on what little is out there, F5 NN was (unofficially, as it is not part of the MIDI standard) used for designs where you had multiple hardware synths in a single hardware package or a combination of (simultaneous) hardware/software synth (some soundcards had that and there are known XG hardware/software setups) implementations. There is no real documentation about it, so it's basically a mystery beyond the fact that it exists and has been used since the late 90's.

Reply 1291 of 2086, by Falcosoft

User metadata
Rank l33t
Rank
l33t
RetroGamer4Ever wrote on 2022-02-11, 13:24:

Based on what little is out there, F5 NN was (unofficially, as it is not part of the MIDI standard) used for designs where you had multiple hardware synths in a single hardware package or a combination of (simultaneous) hardware/software synth (some soundcards had that and there are known XG hardware/software setups) implementations. There is no real documentation about it, so it's basically a mystery beyond the fact that it exists and has been used since the late 90's.

Yeah, it's such a mystery that all the software cables I tried (LoopMidi, Midi Yoke, Maple) cannot handle these messages properly. And as I mentioned it above the USB Midi protocol also has a problem transferring them properly. I have inspected the transferred bytes and it seems F5 are mostly handled as other single byte System real-time Midi messages that have no 2nd meaningful byte, so the 2nd byte (port number) is ignored/discarded and only 'F5' is transferred.

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 1292 of 2086, by RetroGamer4Ever

User metadata
Rank Oldbie
Rank
Oldbie

I did some further digging and it appears that Roland created it for their own use and implemented it with their Sound Canvas/Studio Canvas/whatever-the-rackmount-Pro-equivalent modules - they also had their own MIDI accessory line back in the day - and Yamaha copied it for use with their own products (definitely XG and XG-licensees), to allow multiple modules to be hooked into a single controller (PC software or Serial UART). KORG (XG licensee) implemented it in their control software and several makers of MIDI hardware controllers and generic GM synth modules also implemented it in their products. As Roland GS was not part of the MIDI standard, it was never officially documented and only spread through the industry on the tech-side of things, to allow full use of Roland GS hardware. I don't know if the MT-32 supports it, but it may be possible that it is buried in the firmware.

Reply 1293 of 2086, by Falcosoft

User metadata
Rank l33t
Rank
l33t
RetroGamer4Ever wrote on 2022-02-11, 17:03:

I did some further digging and it appears that Roland created it for their own use and implemented it with their Sound Canvas/Studio Canvas/whatever-the-rackmount-Pro-equivalent modules - they also had their own MIDI accessory line back in the day - and Yamaha copied it for use with their own products (definitely XG and XG-licensees), to allow multiple modules to be hooked into a single controller (PC software or Serial UART). KORG (XG licensee) implemented it in their control software and several makers of MIDI hardware controllers and generic GM synth modules also implemented it in their products. As Roland GS was not part of the MIDI standard, it was never officially documented and only spread through the industry on the tech-side of things, to allow full use of Roland GS hardware. I don't know if the MT-32 supports it, but it may be possible that it is buried in the firmware.

The MT-32 only supports 9 channels (at once) so it would not make any sense to build in multi-port support. The 1st Roland device where 16+ channels are suported so multi-port messages would make sense is the SC-88.

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 1294 of 2086, by rkurbatov

User metadata
Rank Member
Rank
Member

Falcosoft, is it possible to switch the ROM on the fly, something like they did for Pi? https://github.com/dwhinham/mt32-pi/wiki/Cust … lusive-messages

This would be useful feature to make a headless multisynth MIDIBox, controllable via MIDI only.

486: ECS UM486 VLB, 256kb cache, i486 DX2/66, 8MB RAM, Trident TGUI9440AGi VLB 1MB, Pro Audio Spectrum 16, FDD 3.5, ZIP 100 ATA
PII: Asus P2B, Pentium II 400MHz, 512MB RAM, Trident 9750 AGP 4MB, Voodoo2 SLI, MonsterSound MX300

Reply 1295 of 2086, by Falcosoft

User metadata
Rank l33t
Rank
l33t
rkurbatov wrote on 2022-02-12, 14:29:

Falcosoft, is it possible to switch the ROM on the fly, something like they did for Pi? https://github.com/dwhinham/mt32-pi/wiki/Cust … lusive-messages

This would be useful feature to make a headless multisynth MIDIBox, controllable via MIDI only.

Munt VSTi is a plugin so it depends on a VST host to change its setting. E.g. my Midi player as a host can changs all settings of the plugin by receiving SysEx messages through Midi in.

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 1296 of 2086, by rkurbatov

User metadata
Rank Member
Rank
Member
Falcosoft wrote on 2022-02-12, 14:35:

Munt VSTi is a plugin so it depends on a VST host to change its setting. E.g. my Midi player as a host can changs all settings of the plugin by receiving SysEx messages through Midi in.

Not sure I understand you correctly. Munt itself can't replace its ROM via SysEx (correct me if I'm wrong). Mt-32 pi added this functionality themselves. As I understand, they get the SysEx and restart the Munt with the new ROM. Munt VSTi allows ROM switching via GUI settings. Is it possible to do that via SysEx like they do on MT-32 PI?

486: ECS UM486 VLB, 256kb cache, i486 DX2/66, 8MB RAM, Trident TGUI9440AGi VLB 1MB, Pro Audio Spectrum 16, FDD 3.5, ZIP 100 ATA
PII: Asus P2B, Pentium II 400MHz, 512MB RAM, Trident 9750 AGP 4MB, Voodoo2 SLI, MonsterSound MX300

Reply 1297 of 2086, by Falcosoft

User metadata
Rank l33t
Rank
l33t
rkurbatov wrote on 2022-02-12, 14:50:
Falcosoft wrote on 2022-02-12, 14:35:

Munt VSTi is a plugin so it depends on a VST host to change its setting. E.g. my Midi player as a host can changs all settings of the plugin by receiving SysEx messages through Midi in.

Not sure I understand you correctly. Munt itself can't replace its ROM via SysEx (correct me if I'm wrong). Mt-32 pi added this functionality themselves. As I understand, they get the SysEx and restart the Munt with the new ROM. Munt VSTi allows ROM switching via GUI settings. Is it possible to do that via SysEx like they do on MT-32 PI?

OK. Then I do not think you fully understand how VSTi plugins work. I'm trying to explain this shortly. VST plugins only understand VST specific calls so they can only communicate with a VST host program. You cannot use a VSTi plugin by itself, you need a VST host. So from the 'outer world' you cannot communicate directly with a VSTi plugin (e.g. you cannot send Midi/SysEx messages directly to it), you must communicate with the VST host that can send/translate VST specific messages for the plugin. You can only send Midi/SysEx messages to a VST Host. Such a host is FSMP. FSMP can receive its own SysEx messages described here:
Re: Falcosoft Soundfont Midi Player
With the help of these SysEx messages you can switch presets and presets can contain whole configuration of a VSTi plugin.
You can see something similar in this video:
https://youtu.be/6CdJ7sEt8UM
You can download preset changing SysEx messages from here:
download/file.php?id=34344

The point is: You can send SysEx messages to FSMP, and FSMP can change the configuration of Munt VSTi.
I hope I could help you understand how this is working.

Last edited by Falcosoft on 2022-02-12, 18:47. Edited 1 time in total.

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 1298 of 2086, by rkurbatov

User metadata
Rank Member
Rank
Member

Oh, thank you very much! That's exactly what I need!

486: ECS UM486 VLB, 256kb cache, i486 DX2/66, 8MB RAM, Trident TGUI9440AGi VLB 1MB, Pro Audio Spectrum 16, FDD 3.5, ZIP 100 ATA
PII: Asus P2B, Pentium II 400MHz, 512MB RAM, Trident 9750 AGP 4MB, Voodoo2 SLI, MonsterSound MX300

Reply 1299 of 2086, by STEPHANVS

User metadata
Rank Newbie
Rank
Newbie

Wow, this is still actively supported... I just came here to say thank you for this life saving software, but if it is supported this actively, let me share my story.

I am currently looking for a MIDI player with playlist to be used in a live environment for backing track playback. Sound engine is a VSTHost instance, which can accept data through multiple MIDI Input ports. MIDI tracks are played by Cakewalk, which (although can switch between its files quickly) does not have a playlist function. I have not tried MIDI Player yet, however I will have to use it this Easter.

If you accept some feature requests, I have 2:
- multiple MIDI Out port support, with this the ability to play multiple MIDI files simultaneously to separate MIDI Out ports for more than 16 channels option
- option for negative "Pause between songs", next song will start playing before the previous song ends. I know this might require to "mix" the MIDI files...

Again, great work!