Hi,
Is there any chance you'll add support for .sflist files? Only being able to chain a max of 5 soundfonts is kind of limiting.
Curently the sflist file format as used by Ian Luck in xmplay is not compatible with the way soundfonts are used in FSMP. (Bank LSB is not used in xmplay and individual preset loading in FSMP).
Also FSMP already supports configuration presets that include soundfonts, so you can have many different SF configurations if you save them as presets.
But I have added 5 more slots to help making more advanced stacks. Besides your request 10 slots is more logical since for soundfont testing this way you can use Ctrl + 0..9 to reach 10 different soundfonts in 10 different banks. Making an unlimited list is currently problematic because of UI and performance related issues. (e.g. unlike VMS, FSMP always asks what are the currently active instruments (names) for a channel/bank for the program and channel lists and this requires scanning of each loaded soundfont in real time).
Also extended the possible range for the Bank parameter for SF2 files (negative offsets are possible) and in case of SFZ files the parameter means Preset number instead of Bank since SFZ files are single instrument files and do not hold preset information. In case of SFZ files the special value of 128 means loading the instrument for Drum channels.
Other testable features:
1. Added the option to bassmidi's configuration of what bank should be used as default when a soundfont is loaded in real time with the exact same name as the midi file.
By default FSMP used the convention of original Sound Blaster demos where variation banks with the same name as the midi file always used Bank 1. The reason could be in case of early SB hardware Bank 0 was in ROM and/or could not be re-loaded by programs because of sfman32 limitations.
And many original SB demos relied on a default GM bank at Bank 0 besides the custom variation bank.
Midi+SF2 files converted from Mod/Xm/S3m also uses the Bank 1 convention.
But newer soft synths has no such limit and newer same named midi+sf2 combos do not follow the old convention and requires SF2 to be loaded at Bank 0.
The attachment SB_SF2_DEMOS.zip is no longer available
(the demos require that 'Instruments -> Autoload Sondfonts' to be enabled and reset type set to GS mode)
2. Added loop point support in Repeat one mode. 3 types of loop points are supported:
a. Meta Markers: 'loopStart' and 'loopEnd'.
b. RPG Maker style CC# 111 (only loop start marked, loop end is the end of the song. At least that seems to be the way RM2K uses loops).
c. XMI style CC# 116/117. Only infinite loops are supported currently that is CC# 116 with 3rd byte as 0 means loop start and CC# 117 with 3rd byte as 127 means loop end.
Also added compatibility option to enable/disable loop point support.
The attachment loop tests.zip is no longer available
--------------
Edit:
Also added compatibility option to enable/disable loop point support.
This compatibility option is removed. Instead I have added a new option to the main menu called 'Loop Settings...'
Multiple possible loop points are now supported (CC116/117) with fixed and possible different loop count.
Also you can make infinite loops finite by giving the maximum loop count and so use without Repeat One mode.
--------------
3. Added compatibility option to not ignore the End of Track meta events for song length (and thus end of song) calculation. Earlier James-F and me had a short discussion about the issue of some midis containing the end of track event long after the last useful note (e.g. Warcraft2's Orc3gm.mid). We came to the conclusion that FSMP should ignore these events. But this behavior (also used by other midi players) is out of specification, and some users reported that they actually want some midi files to play until the last valid end of track message. Be aware that changing this option re-calculates the duration of all midi files on the playlist.
http://falcosoft.hu/midiplayer_51_test.zip