Error message

Access denied. You may need to login below or register to access this page.

Access Denied / User log in

Please let our ADS show!

This sites offers only FREE software and it's supported by a few advertisement boxes (no intrusive popups).
Please:

  • disable your AdBlocker by adding CoolSoft website to whitelist
  • give the proper cookie consent
  • enable JavaScript for this website

This seconds wait is to let you update your browser configuration...

Ok, I've done the required changes... now show me your content!
!!! Please enable JavaScript !!!

Quick login

Use your existing social account to login without registration: no confirmation mail to wait for, no new password to remember, quick, easy, safe.

...or use your CoolSoft account

Enter your CoolSoft username.
Enter the password that accompanies your username.
Add reply | CoolSoft

Add reply

Please let our ADS show!

This sites offers only FREE software and it's supported by a few advertisement boxes (no intrusive popups).
Please:

  • disable your AdBlocker by adding CoolSoft website to whitelist
  • give the proper cookie consent
  • enable JavaScript for this website

This seconds wait is to let you update your browser configuration...

Ok, I've done the required changes... now show me your content!
!!! Please enable JavaScript !!!
(If you're a human, don't change the following field)
Your first name.
(If you're a human, don't change the following field)
Your first name.

Warning!

You're posting your message as anonymous user.

By registering you'll be allowed to receive notifications of post replies and new threads.
Registration is really quick and only requires you to choose an username and provide a valid email address.

Click here to to register.

A confirmation mail will be sent to this address.
Your email address won't be published.

More information about text formats

Filtered HTML

  • Allowed HTML tags: <a> <blockquote> <br> <cite> <code> <dd> <del> <dl> <dt> <em> <img> <li> <ol> <p> <pre> <s> <span> <strike> <strong> <ul>
    Allowed Style properties: background-color, color, font-size, font-style, height, text-align, text-decoration, text-transform, width
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <pre>, <c>, <cpp>, <csharp>, <drupal5>, <drupal6>, <javascript>, <php>. The supported tag styles are: <foo>, [foo].
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Cancel
Posts: 1972
Joined: March 25, 2012 - 01:19
Re: API to learn names of current mapping of Bank/Program to names

The info you need (and VMS2 shows into soundfonts list item details) can be read with bassmidi.dll:
http://www.un4seen.com/doc/#bassmidi/BASS_MIDI_FontGetInfo.html

Accessing these info through VMS is not so easy because:

  • VMS1 is a usermode DLL, loaded into MIDI client process space by winmm.dll (Windows MIDI interface) so you can't easily access bassmidi.dll functions directly because you haven't loaded it directly.
  • suppose you can get BASS_MIDI_FontGetInfo address through GetProcAddress() call: this is valid only if your user selected VMS as output device and not, i.e., Microsoft Synth
  • you could load bassmidi.dll (and so bass.dll) by yourself, but this will work only with VMS2 where driver and synth (that loads BASS stuff) components are in two distinct processes; VMS2 won't load BASS into your process so you're free to do it and load any BASS version. VMS1 instead will load BASS (through winmm.dll) into your process space nd this will lead to DLL-hell VMS2 is going to avoid.

That said, I think that the beas way for you to get this info is to have a separate utility (.exe) that loads bassmidi.dll, parses the given *.sf2 file and returns the required info; your software could then run this utility and parse its output.

Posts: 1
Joined: December 19, 2016 - 22:38
API to learn names of current mapping of Bank/Program to names

Does anyone know if VirtualMIDISynth.dll, bass.dll, or bassmidi.dll expose API so that a host app can learn which programs/instruments are loaded into each bank/program?
If not, does it expose API so that a host app can learn which SoundFont files are currently loaded, so we could come up with the mapping ourselves?

Thanks!
Tom