VOGONS


Reply 1080 of 1699, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
Meowdori wrote on 2020-06-17, 07:16:

EDIT: Small bug report for version 5.7 (32bit):
When playing a file, using a VSTi (specifically S-YXG50 in this particular tested case), going to device setup menu and repeatedly (rather quickly) untincking/ticking the "Use BASS" checkbox at least 3 times results in a memory protection fault (recoverable, without a crash). Tested OS is Windows XP Pro SP3 32bit.

Do not do this 😀
It's because when you untick 'Use Bass' FSMP tries to unload the whole Bass infrastructure (Bass_VST.dll, Bassmidi.dll, Bass.dll) in order not to cause trouble for normal WinMM Midi out ports that want to use Bass libraries themselves (e.g. ver 1.x of VirtualMidiSynth, Kode54's VST Midi Driver etc.). But some VST plugins need substantial time to properly unload (there are even plugins that cannot be properly unloaded by Bass_VST). If Bass is stuck and you want to initialize it again unexpected problems can happen.
Depending on VST plugin similar problems can also happen when you quickly and repeatedly start/stop plugin in either some of the VST Effects or VST Instrument dialog.

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

Reply 1081 of 1699, by Meowdori

User metadata
Rank Newbie
Rank
Newbie

Yeah, that's pretty much an edge case, probably not really worth of trying to fix 😀. The only easy quick and dirty patch i can think of would be to artificially limit the frequency the user can flip between these 2 states with (i.e. making it inactive for ~3 seconds after clicking, and changing the caption to something like "initialising [3... 2... 1...]" and "unloading BASS [3... 2... 1...]", for each state respectively, but i don't really care for it myself, so only take it as a loose suggestion

Reply 1082 of 1699, by SparkTR

User metadata
Rank Newbie
Rank
Newbie
James-F wrote on 2016-06-04, 14:36:
How to utilize FSMP capital tone fallback with Dosbox and SC-VA: […]
Show full quote

How to utilize FSMP capital tone fallback with Dosbox and SC-VA:

First download latest FSMP development version from the first post.
You have to have loopMIDI or MIDI-Yoke as virtual midi cable.
Optional: Coolsoft VirtualMIDISynth to set default MIDI MAPPER.

* Create two loop cables with loopMIDI (IN to FSMP, OUT from FSMP)

1. Set default MIDI MAPPER in Coolsoft VirtualMIDISynth so that Dosbox outputs its midi signal to it automatically.
Default MAPPER.png

2. In FSMP setting activate the Input Midi and set it to the desired input midi cable from which Dosbox will send midi signals, and Output Midi to what will enter SC-VA.
You can always use Soundfonts if you like instead of SC-VA.
FSMP 1.png

3. Select Custom Patch Definitions and choose SC-VA.ins and the proper SC-XX model you are going to set in SC-VA "Map Mode" (SC-55 in most cases).
Make sure you select "Use Patch Info for Capital Tone Fallback".
FSMP 2.png
FSMP 3.png

4. Set SAVIHost Midi Input to what you set in FSMP as Midi Output, and set SC-VA "Map Mode" to whatever you set the instrument map in FSMP (preferably SC-55).
FSMP 4.png

Dosbox -> loopMIDI In -> FSMP > loopMIDI Out -> SC-VA.

You can do the same with a retro PC and any Synth hardware.
PC -> USB-MIDI In -> Laptop with FSMP -> USB-MIDI Out -> Hardware MIDI Synth.

Yes, CTF works and all the games that have wrong bank variation with capital only instruments, or wrong patch number on the Drum track are fixed without modifying the game.
The problematic games: Sound Driver Enhancement Hacks - General MIDI

This is useful not only with games but also with midi music files that are corrupt or badly programmed with wrong CC#0 and/or CC#32 values.
I just leave the CTF feature enabled at all times and route all my midi through FSMP to SC-VA or SC-55 hardware.
I use Midi-OX to parallel the Midi Output from FSMP to both SC-VA and SC-55 for testing.

Hi guys, I'm going to be playing some SC-55 games (like World of Xeen) and am going to follow this process to get the correct sounds. This post is a few years old, is this still the preferred method to achieving this? Or is it outdated?

Reply 1083 of 1699, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
SparkTR wrote on 2020-07-26, 15:03:

Hi guys, I'm going to be playing some SC-55 games (like World of Xeen) and am going to follow this process to get the correct sounds. This post is a few years old, is this still the preferred method to achieving this? Or is it outdated?

It's not outdated as far as capital tone fallback settings are concerned, but it's a little outdated in the sense that SAVIHost is not required anymore. FSMP itself can host SC-VA and any other VSTi plugins for a long time.

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

Reply 1084 of 1699, by Swampy

User metadata
Rank Newbie
Rank
Newbie

Hello Zoltan,

I have a question regarding MIDI tracks. Is it possible to delete/disable particular MIDI tracks? Some MIDI files (e.g. Build games) contain tracks that use different instruments on the same channel at the same time. One track is for GM the second for FM synths or GUS etc. The problem is when those MIDI files are played outside games the second track overwrites the first one. I have even seen incorrect separation inside games too.
Thank you for your great player.

Reply 1085 of 1699, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
Swampy wrote on 2020-07-27, 15:28:

Hello Zoltan,

I have a question regarding MIDI tracks. Is it possible to delete/disable particular MIDI tracks? Some MIDI files (e.g. Build games) contain tracks that use different instruments on the same channel at the same time. One track is for GM the second for FM synths or GUS etc. The problem is when those MIDI files are played outside games the second track overwrites the first one. I have even seen incorrect separation inside games too.
Thank you for your great player.

No, it's not possible to disable whole tracks. And to tell you the truth I have never seen type 1 multi-track Midi files that behave the way you described. Are you sure this problem is true for build game Midi files? I can tell you for sure that at least Duke Nukem 3D does not contain such problematic files. I know them fairly well since I have worked with them when implemented loops.
In theory such type 1 multi-track Midi files should not exist since according to type 1 file specification all tracks should be played simultaneously. In Midi file specification there is type 2 multi-track format defined where tracks should be played one after the other and for such purposes you described using type 2 format would be much more reasonable. Also there are meta events in Midi specification that makes it possible to redirect different tracks to different ports. FSMP handles both type-2 and (partly) multi-port Midi files so if these files would use these features then the problems you described should not occur.

Please attach some of your problematic files so I can take a look at them.

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

Reply 1086 of 1699, by Swampy

User metadata
Rank Newbie
Rank
Newbie

I have attached Shadow Warrior level 1 midi file. Notice FM tracks and regular tracks on same channel.

Attachments

  • Filename
    EVRYOFF.7z
    File size
    5.7 KiB
    Downloads
    67 downloads
    File comment
    SWsharelvl1
    File license
    Fair use/fair dealing exception

Reply 1087 of 1699, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
Swampy wrote on 2020-07-27, 16:42:

I have attached Shadow Warrior level 1 midi file. Notice FM tracks and regular tracks on same channel.

OK, I would not have noticed any problem by simple listening to this Midi 😀 . But by looking at the track names it is likely that some of them are really intended to be played with FM synths in mind (that start with 'FM' prefix).
So maybe track disabling can be really useful in situations like this. I have added a new checkbox control 'Disabled: x' to Event viewer/Debugger next to the track selection control so you can disable individual tracks. There is no fancy note killing routine added (unlike in case of channel muting) so it is best disabling desired tracks right after loading/before playing and not changing the state during playing.
Notice that you cannot disable track 0 since in case of type 0 Midi files it is the only track and in case of type 1 files it is the dedicated tempo track by convention.
You can download the new test version from here:
http://falcosoft.hu/midiplayer_58_test.zip

If you want to permanently delete the redundant tracks you should use a real sequencer/editor instead.
(e.g. MidiPlex: https://github.com/stascorp/MIDIPLEX/releases/tag/v0.4.2-pre)

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

Reply 1089 of 1699, by Lord Myn

User metadata
Rank Newbie
Rank
Newbie

Hi Zoltán,

I don't really understand how DOSBox connected to the FSMP... What I have to write in dosbox.conf 'mididevice' and 'midiconfig' fields to use FSMP as MidiOut device? Please, make it understand to me. Thank you!

Reply 1090 of 1699, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
Lord Myn wrote on 2020-07-30, 12:53:

Hi Zoltán,

I don't really understand how DOSBox connected to the FSMP... What I have to write in dosbox.conf 'mididevice' and 'midiconfig' fields to use FSMP as MidiOut device? Please, make it understand to me. Thank you!

Hi,
James-F wrote a post about this:
Re: Falcosoft Soundfont Midi Player
The DosBox -> FSMP part is still relevant. The situation is more simple today since you do not have to create a 2nd virtual Midi cable connection from FSMP to SAVIHost since FSMP can host VSTi plugins itself now.

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

Reply 1091 of 1699, by Lord Myn

User metadata
Rank Newbie
Rank
Newbie
Falcosoft wrote on 2020-07-30, 14:51:
Hi, James-F wrote a post about this: Re: Falcosoft Soundfont Midi Player The DosBox -> FSMP part is still relevant. The situatio […]
Show full quote
Lord Myn wrote on 2020-07-30, 12:53:

Hi Zoltán,

I don't really understand how DOSBox connected to the FSMP... What I have to write in dosbox.conf 'mididevice' and 'midiconfig' fields to use FSMP as MidiOut device? Please, make it understand to me. Thank you!

Hi,
James-F wrote a post about this:
Re: Falcosoft Soundfont Midi Player
The DosBox -> FSMP part is still relevant. The situation is more simple today since you do not have to create a 2nd virtual Midi cable connection from FSMP to SAVIHost since FSMP can host VSTi plugins itself now.

Ah, so via virtual MIDI cable and now one vMIDI In is enough to do it. Ok, thank you very much for the answer. Until now I used VirtualMIDISynth + masquerade55v006 with Jexu MT32 soundfonts for SC-55 emulation (I used to have an SCC-1 soundcard in the 90s and as far as I remember this setup sounds very similar to that), but I like to try VST instruments under DOSBox or PCEm.

Reply 1092 of 1699, by Meowdori

User metadata
Rank Newbie
Rank
Newbie

Yeah you'll probably want to use either LoopMIDI or MIDI Yoke to create software ports. I personally recommend the latter, since it can work with both 32 and 64 bit clients connecting on both ends and can dynamically create and destroy ports on demand, although it only works in 64-bit Windows, so if you're setting things up on an older machine with 32-bit OS, then MIDI Yoke is still relevant.
BTW I really really love the native VST hosting capability of FSMP, i made it my default MIDI synth, always running in the system tray with the

-tray

switch

Reply 1093 of 1699, by Dwedit

User metadata
Rank Newbie
Rank
Newbie

Hello, here's a minor feature request.

Early MIDI devices did not support all 16 channels. You had "Base level" MIDI that only supported channels 13-16 (percussion on 16), and "Extended level" MIDI devices that only supported channels 1-10 (percussion on 10). Later devices supported all 16 channels, and percussion on Channel 16 fell out of favor.

Some MIDI files from 1992-1993 were designed to support playback on either Base Level or Extended Level midi devices, so they put the drums on both Channel 16, and Channel 10 at the same time. Other files used only Base Level midi channels 13-16, with percussion on Channel 16.

Example file from 1992: BIGSOLO.MID (Link 1, Link 2, Link 3). This song plays the same drums on both Channel 16 (plays as a Piano) and Channel 10. You can mute Channel 16 to hear the song as intended.

Back in the Windows 95 days, you had the ability to remap midi channels using the control panel. You could redirect Channel 16 to Channel 10, which would fix the old MIDI files that assumed percussion on Channel 16.

So the feature request is for an option to remap Channel 16 to Channel 10 for the few 1992 era MIDI files that need it.

EDIT: Derp, I just realized this feature already exists. Please ignore this post.

Maybe perhaps autodetect songs where Channel 16 is a copy of Channel 10, and automatically mute channel 16.

http://www.dwedit.org/

Reply 1094 of 1699, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
Dwedit wrote on 2020-08-16, 21:02:

EDIT: Derp, I just realized this feature already exists. Please ignore this post.

Maybe perhaps autodetect songs where Channel 16 is a copy of Channel 10, and automatically mute channel 16.

Hi, actually auto-detection is also implemented in the only way that is practically possible. Namely by detecting a specific sequencer meta event that such MS dual authored Midi files should contain. Your linked files are missing this specific event (maybe they were modified by other authoring/sequencer software later) so FSMP can not recognize them.

I have written about these type of Midi files earlier:
Re: Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi

And here you can download some files with the proper meta event signature ( to see how auto detection works):
download/file.php?id=43941

In case of such recognized Midi files you can see the 'MS' sign in the black window after the PPQN value.

Moreover the classic passport.mid and canyon.mid Midi files that you can find on various earlier Windows versions are also such dual authored Midi files with proper signature.

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

Reply 1095 of 1699, by Dwedit

User metadata
Rank Newbie
Rank
Newbie
Falcosoft wrote on 2020-08-16, 22:03:
Hi, actually auto-detection is also implemented in the only way that is practically possible. Namely by detecting a specific seq […]
Show full quote

Hi, actually auto-detection is also implemented in the only way that is practically possible. Namely by detecting a specific sequencer meta event that such MS dual authored Midi files should contain. Your linked files are missing this specific event (maybe they were modified by other authoring/sequencer software later) so FSMP can not recognize them.

I have written about these type of Midi files earlier:
Re: Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi

And here you can download some files with the proper meta event signature ( to see how auto detection works):
download/file.php?id=43941

In case of such recognized Midi files you can see the 'MS' sign in the black window after the PPQN value.

Moreover the classic passport.mid and canyon.mid Midi files that you can find on various earlier Windows versions are also such dual authored Midi files with proper signature.

I just uploaded a copy of some 1992/1993 MIDI files to my website (1992 songs, 1993 songs), and none of them were auto-detected. So if the signature was removed, it was removed back in 1992.

The 1992 files came from a disk image of Session 1.07 I found somewhere, and the 1993 files came from my computer (files kept getting copied form hard disk to hard disk).

I think only comparing channel 10 and channel 16 would work for those cases.
Or in other words: Must not have any notes on MIDI channels 11-12, and Notes must match on Channel 10 and 16.

http://www.dwedit.org/

Reply 1096 of 1699, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
Dwedit wrote on 2020-08-16, 22:28:
... I just uploaded a copy of some 1992/1993 MIDI files to my website (1992 songs, 1993 songs), and none of them were auto-detec […]
Show full quote

...
I just uploaded a copy of some 1992/1993 MIDI files to my website (1992 songs, 1993 songs), and none of them were auto-detected. So if the signature was removed, it was removed back in 1992.

The 1992 files came from a disk image of Session 1.07 I found somewhere, and the 1993 files came from my computer (files kept getting copied form hard disk to hard disk).

I think only comparing channel 10 and channel 16 would work for those cases.
Or in other words: Must not have any notes on MIDI channels 11-12, and Notes must match on Channel 10 and 16.

Scanning/comparing notes at every load and every file is not ideal performance-wise (especially if you consider so called black Midi files containing millions of notes that sometimes also contain duplicated tracks).
But I have found a pattern in your uploaded files. Namely all of them that use problematic base setup and use channel 16 as drums contain special track names ('xDrums' and 'bDrums' for extended and base setup respectively). So I have modified the 'MS' detection code part to recognize such files also as MS dual authored files. Please test it and report back.
http://falcosoft.hu/midiplayer_58_test.zip

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

Reply 1097 of 1699, by Dwedit

User metadata
Rank Newbie
Rank
Newbie

Thank you for looking in to that, and whatever heuristic you are using here does work on those ancient MIDI files. Are you just literally looking for "bDrums" (channel 16) and "xDrums" (channel 10), or is it something else?

http://www.dwedit.org/

Reply 1098 of 1699, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
Dwedit wrote on 2020-08-17, 19:27:

Thank you for looking in to that, and whatever heuristic you are using here does work on those ancient MIDI files. Are you just literally looking for "bDrums" (channel 16) and "xDrums" (channel 10), or is it something else?

It's a little bit more permissive pattern match but essentially the above written.

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

Reply 1099 of 1699, by Dwedit

User metadata
Rank Newbie
Rank
Newbie

Okay, just wanted to make sure it wouldn't do something silly like auto-mute a tracked named "bongo Drums" or "bass Drums" on channel 16 if there was a track named "xciting Drums" on channel 10.

For safety, I'd check that MIDI channels 11 and 12 were unused as well.

http://www.dwedit.org/