VirtualMIDISynth 2.x alpha available for testing

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 !!!

Pagine

Posts: 1972
Joined: 25 Mar 2012 - 01:19
Re: CoolSoft VirtualMIDISynth 2.0.0-alpha17 released

Well, it took me a while to understand why alpha17 was so bad on your PCs and not on mine.
I've left some debug code in, and removed it just after building the setup (instead of just before)... please forgive me.

turkeybaster5723 wrote:
It's hilariously broken.
I agree... ;)

Ray890 wrote:
by queuing MIDI events after a certain data threshold determined by some sort of magic formula
Oh no, the queue is always active, there's no formula to decide when activate/deactivate it.
Driver and Synth are two different processes: the first is the .exe of your MIDI player, the latter is VirtualMIDYSynth.exe.
When I talk about a MIDI queue I mean the Shared Memory IPC queue between the two processes.
Alpha17 (badly) intruduced some kind of queue wait; I mean, when there's no space available in the queue, the queue producer will wait for more space to become available (it also added a bad pointer corruption that broke everything, but I already apologized for that...).
Alpha18 will always (and immediately) returns an answer to the MIDI client: MMSYSERR_NOERROR if message was enqueued, MMSYSERR_NOTREADY otherwise.
Now is up to the client to decide how to manage failures: delay data rate, discard/retry failed MIDI message, ...

Ray890 wrote:
All non-percussion channel's instruments are reset to acoustic grand piano when the audio returns from live-applying a setting
This is something I'm working on.
Most of it is completed (programs assignment, reverb and sustain levels, volumes), but I also need to resend all the SYSEX messages that were sent when play started.
I mean, when you start playing, the player sends a lot of SYSEX messages to set synth mode (GM, GM2, XG, ...) then it sends a lot of control messages to set program (instruments), controller levels and lot of other things.
Well, actually I should store these messages in a cache and "replay" them once the device is live-restarted. This cache could be both time and memory critical.

Ray890 wrote:
Launching VMS can occasionally cause the mixers activity indicator to become stuck...
Fixed in Alpha18

Will release Alpha18 in a minute or two.

Posts: 1972
Joined: 25 Mar 2012 - 01:19
CoolSoft VirtualMIDISynth 2.0.0-alpha18 released

v.2.0.0-alpha18 - 2015-07-29

  • NEW: Driver now returns MMSYSERR_NOTREADY if the queue is full; now is up to the MIDI client to decide if wait for queue free space or give up.
  • FIX: Fixed queue overflow issue.
  • FIX: MIDI Mixer sometimes stops updating.
Posts: 16
Joined: 4 Set 2014 - 17:34
Re: CoolSoft VirtualMIDISynth 2.0.0-alpha17 released
coolsoft wrote:

Well, it took me a while to understand why alpha17 was so bad on your PCs and not on mine.
I've left some debug code in, and removed it just after building the setup (instead of just before)... please forgive me.

'Eh, that's what alphas are all about.  No biggie.  Could've been something much more sinister instead of an easy fix!

So far A18 sounds fine, but I've only really given it a test with the 3 files I referenced earlier.  I'll have to go a little more comprehensive tomorrow.

 

PS You mentioned a while ago that you have a sort-of internal blacklist for processes which aren't allowed to use VMS, and you were curious if people would be interested in customising it.  I know that I would - there's no way that my TV tuner software, Steam, mail client, etc, are actually going to be using it, but they sure as heck stop it from updating.  I don't necessarily mean as a front-end feature, but perhaps as a .ini file or registry entry for people who are keen on such things.

Posts: 14
Joined: 14 Ott 2014 - 00:11
Re: CoolSoft VirtualMIDISynth 2.0.0-alpha17 released

Well. I tested VMS2 A18 just after switched to Windows 10 and it was an improvement over A17. Only there some things to fix. Btw. The VMS2 Configurator doesn't recorgnize Windows 10 properly. it recorgnizes as Windows 10 Pro (i'm using Windows 10 Pro) 6.3.10240 when Windows 10's build number is 10.0.240. (6.3 is Windows 8.1, 6.4 is Windows 10 preview build 9841-9879, 10.0 Windows 10 build 9926 - RTM/final)

Ray890 asked me to try VMS2 A17 on my old Pentium III machine, but it doesn't runs and crashes. Probalbly i found out VMS2 is compiled using SSE2 targeting. I still need to test A17-18 on some of my old PCs (testing pruposes)

Alpha18 seems to be the best working VMS2 for Windows 10 as now. Older Alphas seems to be slower even than VMS1 when it runs under Windows 10 for some reason.

 

Attachments (Only registered users)
vms2 bug.png

Carlos S. M. - Black MIDI Team Member
Channel: https://www.youtube.com/channel/UCgVv5sa3hZluRZ8AQdq5tEg

Posts: 102
Joined: 8 Mar 2014 - 22:29
Re: CoolSoft VirtualMIDISynth 2.0.0-alpha17 released
Carlos S. M. wrote:

it recorgnizes as Windows 10 Pro (i'm using Windows 10 Pro) 6.3.10240 when Windows 10's build number is 10.0.240. (6.3 is Windows 8.1, 6.4 is Windows 10 preview build 9841-9879, 10.0 Windows 10 build 9926 - RTM/final)

That's how Windows 10 treats old programs, to avoid compatibility issues.

It does the same thing with .NET 2.x/3.x programs.

Posts: 1972
Joined: 25 Mar 2012 - 01:19
Re: CoolSoft VirtualMIDISynth 2.0.0-alpha17 released
Carlos S. M. wrote:
it recorgnizes as Windows 10 Pro (i'm using Windows 10 Pro) 6.3.10240 when Windows 10's build number is 10.0.240

That's because OS name and version are read from the registry and not with a call to GetVersionEx, to avoid an infinite switch between version numbers and OS editions (each Windows version has Home, Pro, Enterprise, N, foo, bar, ...) as long as Service Pack numbers. The shortest way is to read these data from HKLM\Software\Microsoft\Windows NT\CurrentVersion.

Windows 10 has 6.3 under CurrentVersion key.
Now I changed application manifest to target Windows 10 and also call GetVersionEx to get Windows version/build.

Posts: 102
Joined: 8 Mar 2014 - 22:29
Re: CoolSoft VirtualMIDISynth 2.0.0-alpha18 released

Hey Claudio, can you please add the .sfz format to the Open File Dialog?

SFZ files work just fine with VirtualMIDISynth.

Posts: 1972
Joined: 25 Mar 2012 - 01:19
Re: CoolSoft VirtualMIDISynth 2.0.0-alpha18 released

SFZ was on its way for VMS 1.x but, maybe, it's better to add it to 2.x-alpha first so it could be deeply tested.

I don't really know how SFZ works, but I suppose BASS uses it the same way as SF2.
Will start adding it to supported (and loadable) file formats.

Will add to next alpha, please give me a feedback...

 

Posts: 102
Joined: 8 Mar 2014 - 22:29
Re: CoolSoft VirtualMIDISynth 2.0.0-alpha18 released
coolsoft wrote:

SFZ was on its way for VMS 1.x but, maybe, it's better to add it to 2.x-alpha first so it could be deeply tested.

I don't really know how SFZ works, but I suppose BASS uses it the same way as SF2.
Will start adding it to supported (and loadable) file formats.

Will add to next alpha, please give me a feedback...

BASS handles .SFZ files by its own, so there's no need for new functions in the driver, you only need to add the .sfz format to the Open File Dialog.

(You can do the same in the 1.x version)

Posts: 1972
Joined: 25 Mar 2012 - 01:19
CoolSoft VirtualMIDISynth 2.0.0-alpha19 released

v.2.0.0-alpha19 - 2015-08-06

  • NEW: Added support for SFZ soundfonts.
  • FIX: Fixed paint issues when scrolling Options configuration tab.

Pagine