VOGONS


Reply 281 of 1211, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie

So, what is your question?
Then I think you have to save your modified settings manually (Plugin -> Save). I have not even known that you can use ini files in savihost. Please, study SAVIHost's documentation. I cannot help more.
EDIT:
To be clear: in VST world it's not the plugin's responsibility to save its settings. The host has to do it (in this case SAVIHost).

Website, Facebook, Youtube
Falcosoft Midi Player + Munt VSTi + BassMidi VSTi topic

Reply 282 of 1211, by Roland User

User metadata
Rank Member
Rank
Member

No , I offer create bank listing in BassMidiVsti.ini as this make in CoolSoft VirtualMIDISynth , ini file from VirtualMIDISynth.conf :

[SoundFonts]
sf1=L:\SF\FantaGM 32 1.0.sf2
sf2=*L:\SF\SGM2.sf2
sf3=*L:\SF\CrisisGeneralMidi1.9.sf2
sf4=*L:\SF\a340.sf2
sf5=*L:\SF\Titanic 200 GM-GS SoundFont 1.2.sf2
sf6=*L:\SF\silverspring15.sf2
sf7=*L:\SF\Jnskit.sf2
sf8=*L:\SF\Cadenza.sf2
sf9=*L:\SF\FluidR3 GM.sf2
sf10=*L:\SF\Jnsmt.sf2
sf11=*L:\SF\MarinoEnhGMv1.sf2
sf12=*L:\SF\Roland CM-32 Original ROM.sf2
sf13=*L:\SF\FAT_OPL2FM_v2.sf2
sf14=*L:\SF\OPL-3_FM_128M.sf2
sf15=*L:\SF\GUS original.sf2
sf16=*L:\SF\GUS 8Mb.sf2
sf17=*L:\SF\EAPCI2M.sf2
sf18=*L:\SF\Sonido GM 24MB.sf2
sf19=*L:\sf\Evanessence2-v2.sf2
sf20=*L:\sf\sYnerGi 200.sf2
sf21=*L:\SF\Mustheory2.sf2
sf22=*L:\sf\FM-PCM GM 0.53r012.sf2
sf23=*L:\sf\Airfont 380 final.sf2
sf24=*L:\sf\Esswt1m.sf2
sf25=*L:\sf\Timbres Of Heaven GM_GS_XG_SFX V 3.1 Final !X.sf2
sf26=*L:\sf\AweROMGM.sf2
sf27=*L:\sf\sound canvas v1.0.sf2
sf28=*L:\sf\Musyng original, old version, new one is Musyng Kite.sf2
sf29=*L:\sf\CrisisGeneralMidi3.01.sf2
sf30=*L:\sf\HQ Orchestral Soundfont Collection v3.0.sf2

if not "*" - enable and use , if "*" - disable - have in listing , and not used,
I offer create same listing structure in ini file BassMidiVsti.ini

And automaticaly read this file always in time load BassMidiVsti )
For the owner of the source code, this is not difficult 😀

Reply 283 of 1211, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie

No, it's not difficult. But I simply do not want to do this.
Have you read and understood this sentence?

To be clear: in VST world it's not the plugin's responsibility to save its settings. The host has to do it (in this case SAVIHost).

Coolsoft VMS is not a VST plugin so it uses ini files. But VST plugins are not supposed to store settings in ini files. There's a completely different standard mechanism for it.
(In a DAW you can have multiple instances of the same VST plugin with different settings. How do you handle multiple instance's settings with an ini file?
You are again blinded by your own usage pattern.)

Anyway you have only 3 choices left in this situation:
1. Continue using Coolsoft VMS. There's your list and ini file. Realize that BassmidiVsti is simply not for you.
2. Make a compromise and use Bassmidivsti in its current form.
3. Hire me/offer me a job to write a plugin that works the way you want.

So please stop spamming this topic.

Last edited by Falcosoft on 2017-03-18, 11:39. Edited 4 times in total.

Website, Facebook, Youtube
Falcosoft Midi Player + Munt VSTi + BassMidi VSTi topic

Reply 284 of 1211, by PhilsComputerLab

User metadata
Rank Hardware Mod
Rank
Hardware Mod

Roland User, you come across quite pushy and demanding and he indeed doesn't work for you!

I admire his patience, I would have lost my cool ages ago and just blocked you 🤣

You just have to accept that this is his project and he can choose what to work on.

YouTube, Facebook, Website

Reply 285 of 1211, by Roland User

User metadata
Rank Member
Rank
Member

Falcosoft
Good, I undrstand you.

PhilsComputerLab
I wanted make very good SF2 VST ) because CoolSoft VirtualMIDISynth It has limitations , for example CoolSoft VirtualMIDISynth not work with loaded SoundFont if bank loaded ) in any case when we play next MIDI file , CoolSoft VirtualMIDISynth reloaded bank and this need wait especially if bank very large.
In bassmidi vsti have only one minus, bassmidi not capabilities save soundfont lists as this make in CSVMS.

Reply 286 of 1211, by Scali

User metadata
Rank l33t
Rank
l33t
Falcosoft wrote:
Well, the length of Orc3gm.mid is debatable :). Actually there is a legitimate event at 25.22.76, but of course Midiplayer's cal […]
Show full quote

Well, the length of Orc3gm.mid is debatable 😀. Actually there is a legitimate event at 25.22.76, but of course Midiplayer's calculation method should be corrected by convention.

orc3gm.jpg

This MIDI Event viewer is a useful debugging tool. Is it available somewhere?

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 287 of 1211, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie

Hi,
It has never been released so far since I have not finished it. It works perfectly as an event viewer but e.g. the filter implementation is very rudimentary.
You can download and use it if you would like to. But please, no feature requests 😀 .
http://falcosoft.hu/midiedit.zip
As the name suggests it was supposed to be also an editor, but currently it only supports editing of channel based messages. SysEx/Meta events can only be deleted.
I hope the functions of the program are self-explanatory. Optimize is an exception. It can clear redundant controller, program change, pitch bend messages that converter programs can produce sometimes.

EDIT:
I have just tested this a little:
Pros:
It can even open and save the 530 MB 'Septette For The Dead Princess 69 Million.mid' black midi file.
Cons:
Currently it only has a 4KB insert buffer per track. So editing capability is limited. But it can be used to correct some errors.

Website, Facebook, Youtube
Falcosoft Midi Player + Munt VSTi + BassMidi VSTi topic

Reply 288 of 1211, by Scali

User metadata
Rank l33t
Rank
l33t
Falcosoft wrote:

You can download and use it if you would like to. But please, no feature requests 😀 .
http://falcosoft.hu/midiedit.zip

Thanks!
As you may have seen elsewhere, I'm currently trying to add IBM Music Feature Card support to DOSBox.
Your tool seems like a good way to study the MIDI data, and try to see where the problems may be.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 289 of 1211, by Scali

User metadata
Rank l33t
Rank
l33t

One question I have...
I ran into some trouble with my own MIDI player (which is aimed at DOS/8088 machines). Namely, I can play one song correctly, but at the end of most MIDI songs, the devices aren't reset to their initial state.
So when I play the next song, some instruments will sound wrong, because they're still using the state of the previous song.
In fact, sometimes the MIDI songs don't even send note off commands for everything, so the last notes will 'stick'.
I've also found that at least the default Windows MIDI synth doesn't seem to respond to All Notes Off or All Sound Off commands (0xBn commands).

So I wanted to ask you: what do you use to 'reset' the MIDI devices before playing each song?
I haven't been able to find the 'correct' way... There is the 0xFF command, but it was advised not to use it, because it actually reboots the entire device.
I found this obscure SysEx command which seems to do the trick:

uint8_t GMReset[] = { 0xF0, 0x7E, 0x7F, 0x09, 0x01, 0xF7 };

But I have no idea where that command came from, or how well-supported it is across devices.
How do you handle this?

Edit: I registered and downloaded the official MIDI spec, and there they describe the message as "Turn General Midi System On". So it is an official standard message.
Is that what you use?

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 290 of 1211, by Kamerat

User metadata
Rank Oldbie
Rank
Oldbie
Falcosoft wrote:

@Kamerat:
VSTi plugins and Soundfonts can be any files anywhere in the file system. So while theoretically SysEx messages can code anything (even file paths) I do not think this feature would be easy to use (and implement).
But hey, you can switch between pre-configured soundfonts by sending CC# 0 (Bank select MSB) messages 😀

Thanks for your answer. 😀 Sounds like having it like presets would be the easiest way if such a thing would ever mature.

DOS Sound Blaster compatibility: PCI sound cards vs. PCI chipsets
YouTube channel

Reply 291 of 1211, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie

@ Scali:
There is no 'one fits for all' solution for this problem. In my Midi Player there are several strategies and the choices are offered to the user:

resets.jpg
Filename
resets.jpg
File size
29.77 KiB
Views
2774 views
File license
Fair use/fair dealing exception

The Sysex message you have just encountered is a very good solution for most cases since devices that support other midi systems (GS, GM2, XG, NX) also supports the GM System ON SysEx message.
But there are pre-GM devices (e.g. the popular Roland MT-32) and other synths (e.g. first Sound Blaster Live series, some OPL3, just to name a few) that do not react to GM ON SysEx message.
For these devices the best thing to do is to send All Sounds Off, All Notes Off, and Reset All Controllers messages. Besides these my player if the 'No SysEx' option is selected also sends the default Controller, Patch (Program Change 0), Pitch Bend (8192), Channel Aftertouch (0) values to each channel (in case of controllers only the changed values are sent that were modified by the played midi file). According to my experiences this solves the problems with almost all problematic synths:
These are the default controller values I currently use:

    0, 0, 0, 0, 0, 0, 2, 100, 64, 0, 64, 127, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 64, 64, 64, 64, 64, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

Edit:
If you download FSMP 4.5 from my site you can find in the 'SysEx' folder many reset sysex commands (with .syx extensions) for various systems . These are simple binary files that can be sent directly to devices.
For an overall solution I suggest that you should send the above written defaults to devices and then send reset SysEx message(s). This way if the synth does not support SysEx resets you still have a basic known initial state and if it does it can modify its state according to its internal implementation to the given SysEx reset.

Last edited by Falcosoft on 2017-03-23, 11:04. Edited 5 times in total.

Website, Facebook, Youtube
Falcosoft Midi Player + Munt VSTi + BassMidi VSTi topic

Reply 292 of 1211, by PhilsComputerLab

User metadata
Rank Hardware Mod
Rank
Hardware Mod

A quick question regarding the window size. Is there a way to adjust the width or maximise the window and use window snap? Or is this a trade-off for compatibility with older OS?

YouTube, Facebook, Website

Reply 293 of 1211, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie

No, consider FSMP as a fixed size application. Adjustable window height has been added later for better playlist handling. But as you can notice nothing else is scaled vertically either. From the 'modern' windowing feature set it only supports maximize/restore height by double-clicking the top/bottom border of the player's window.

Last edited by Falcosoft on 2017-03-23, 01:28. Edited 1 time in total.

Website, Facebook, Youtube
Falcosoft Midi Player + Munt VSTi + BassMidi VSTi topic

Reply 295 of 1211, by Scali

User metadata
Rank l33t
Rank
l33t
Falcosoft wrote:

@ Scali:
There is no 'one fits for all' solution for this problem. In my Midi Player there are several strategies and the choices are offered to the user:

Thanks for the info!
And yes, I guess we'll have to accept that some early pre-GM devices are just too quirky. But at least I now know what to do for GM and later devices.
I will send the GM message, and the notes off, sound off, and reset controllers.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 296 of 1211, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie

Hi,
new test versions of FSMP 4.6 including MuntVsti 2.0 and OPL3Vsti 1.1 is available.
http://falcosoft.hu/midiplayer_46_test.zip

FSMP 4.6
This is some kind of 'creators update' 😀.
1. Inspired by Scali's interest I have integrated an Event Debugger based on the never released event viewer/editor. This way you can debug both midi files and FSMP itself.
It can be invoked by pressing Ctrl +D or from Main menu-> Dialog Boxes -> Event Debugger.
It has 2 operating modes.
a. By default the debugger reflects and follows the internal memory image of the file loaded by FSMP. Channel based event editing is possible and the changes are immediate even during playing. Saving the modified memory image as a new file is also possible.
b. You can open any midi files from the File -> Open menu of the debugger. But in this standalone mode the player and the debugger are not in sync. You can save the modified file if you want.
2. Based on Kamerat's suggestion I have added a basic 'Configuration Preset' system. The preset dialog can be invoked by pressing Ctrl +Alt +P or from Main menu->Storage of Settings->Configuration Presets.
It works the following way: You can save a subset of the player's current state as a configuration preset file to the new 'Preset' folder. If you add a 3 digit numeric postfix to the preset name you can load the preset by Ctrl + Alt + postfixnum or by SysEx messages (explained later). Examples: Default_000.ini, Default-001.ini, Default002.ini. Of course through hotkeys only presets 0-9 are available. With Sysex message you can reach 128 different presets.
Supported SysEx messages:
F0 66 04 bb F7 where
0xF0 - SysEx status byte
0x66 - Manufacturer ID (ASCII 'f'. It seems safe to use this as newly issued official ID's are 3 bytes long and start with 0x00, and the used 1 byte ID's are in the range 0x40 - 0x5F.)
0x04 - Command ID
0xbb - Preset number
0xF7 - end of SysEx
Other supported SysEx messages:
F0 66 00 00 F7 : Play/Pause.
F0 66 01 00 F7 : Stop.
F0 66 02 00 F7 : Previous song on playlist.
F0 66 03 00 F7 : Next song on playlist.
These messages are only supported when sent to Midi input since they have no sense in a midi file.

MuntVsti 2.0
1. Added Dual Synth setup to get 16 channel modes. This way you can get the full 16 channel GM spectrum with a single instance of the plugin.
More info on the details of the new Dual Synth setup can be found in an earlier post:
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
2. Added resampling for sample rates that were not supported so far. So now you can use e.g. 44100 Hz but resampling means higher CPU usage.
3. Fixed timing/timestamps issues with bigger buffers on some hosts (e.g. SAVIHost).
Notice:
From version 2.0 the plugin supports any sample rates through internal resampling but the earlier written info about timings still holds.
As for the ideal sample rate of MuntVsti under different Windows versions (based on my tests and not so perfect hearing):
Win9x/Xp : 32000 Hz is recommended since the native DirectSound implementation can output this frequency and the timings are perfect (without rounding problems).
Vista/7/8/10: Since the emulated 'DirectSound' implementation uses shared mode under these OSs and unfortunately I have never met a device where 32000 Hz can be selected as a shared mode sample rate it can be advantageous to set FSMP sample rate (and so MuntVsti) to the same value as the OS's. The internal resampling in MuntVsti can be higher quality than the Windows implementation.

Last edited by Falcosoft on 2018-12-28, 00:58. Edited 8 times in total.

Website, Facebook, Youtube
Falcosoft Midi Player + Munt VSTi + BassMidi VSTi topic

Reply 297 of 1211, by KainXVIII

User metadata
Rank Member
Rank
Member

I don't know if this feature or request or just my rambling - but midi volume (even on max) it too quiet through FSMP in dosbox games (i use roland scva), so i need to use ingame mixer (but many games don't have it) or dosbox mixer (which is pain the ass to tinker with each and every game).. So what my options?

Reply 298 of 1211, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie

@ KainXVIII:
As James-F has already pointed out in his SC-VA topic SC-VA's maximum volume is intentionally low. FSMP has nothing to do with it. But as a fortunate FSMP user you have many possibilities since VST effect plugins (gain/normalizer etc.) are also supported 😀 . I currently use this plugin with SC-VA to get some volume gain:
http://loudmax.blogspot.hu/
Video as I'm using it. But definitely S-YXG50 does not need it...
https://www.youtube.com/watch?v=w8qfXEpifvI&feature=youtu.be

Last edited by Falcosoft on 2017-03-25, 23:15. Edited 1 time in total.

Website, Facebook, Youtube
Falcosoft Midi Player + Munt VSTi + BassMidi VSTi topic

Reply 299 of 1211, by KainXVIII

User metadata
Rank Member
Rank
Member
Falcosoft wrote:
@ KainXVIII: As James-F has already pointed out in his SC-VA topic SC-VA's maximum volume is intentionally low. FSMP has nothing […]
Show full quote

@ KainXVIII:
As James-F has already pointed out in his SC-VA topic SC-VA's maximum volume is intentionally low. FSMP has nothing to do with it. But as a fortunate FSMP user you have many possibilities since VST effect plugins (gain/normalizer etc.) are also supported 😀 . I currently use this plugin with SC-VA to get some volume gain:
http://loudmax.blogspot.hu/
Video as I'm using it. But definitely S-YXG50 does not need it...
https://www.youtube.com/watch?v=w8qfXEpifvI&feature=youtu.be

Thanks, works like a charm!