VirtualMIDISynth 2.5.0 - Release candidate (was Beta)

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

Pages

Posts: 1972
Joined: March 25, 2012 - 01:19
VirtualMIDISynth 2.5.0 - Release candidate (was Beta)

This thread will publish next VirtualMIDISynth 2.5.0 version beta/RC releases.

v.2.5.0-rc3 - 2018-06-21

  • FIX: Fixed crash in MIDIConverter once conversion is started (2.5.0-beta4 regression).
  • FIX: Mouse pointer goes out of dialog title when undocking or unmaximizing a window by dragging it with mouse (Aero docking/undocking feature).
  • FIX: Fixed options tab layout errors when maximizing/unmaximizing the configuration window.

v.2.5.0-rc2 - 2018-06-13

  • FIX: Soundfont configuration new xgdrums option is not saved correctly.
  • FIX: Entering numeric values with keyboard in soundfont editor fields is difficult because cursor position changes after each key press.
  • FIX: Added forced Mixer repaint when a new MidiDeviceInstance is created to avoid Mixer still show old program names.

v.2.5.0-rc1 - 2018-06-11

  • NEW: New soundfont option that let VMS use bank 127 as drumkit in XG mode, instead of the default 128.
  • FIX: Soundfont configuration import dialog allows user to select an unexisting .vmssf file, leading to current SF configuration being cleared.
  • FIX: Soundfont configuration tab buttons do not update their state after import.

v.2.5.0-beta4 - 2018-06-07

  • FIX: Fixed context menu icon rendering, now more compatible with pre-Win7 OS.
  • FIX: Clicking to enable/disable a partially visible SoundFont item at the bottom/top of soundfonts list cause the previous/next item to be enabled/disabled.
  • FIX: Fixed incomplete import/export of soundfonts configuration.

v.2.5.0-beta3 - 2018-06-03

  • NEW: Added new peak indicator feature to MIDI Mixer master channel.
  • NEW: Added icons to systray context menu and MIDI Converter window.
  • FIX: Fixed wrong interpretation of NOTE_OFF MIDI events, leading to MIDI Mixer channel LEDs (except for channel 1) stay ON forever.
  • FIX: Fixed setup procedure not creating registry keys on x86 systems (2.4.0 regression).

v.2.5.0-beta2 - 2018-05-25

  • NEW: Mixer button in MIDI Converter shows (*) when Mixer is not in default state.
  • NEW: Added new "clone" feature to MIDI Mixer that lets user clone Mixer state from another mixer.
  • NEW: Added new "settings" icon to MIDI Mixer to ease opening its contextual menu.
  • NEW: New MIDI Mixer context menu item to configure "Solo" ratio (percentage of solo effect).
  • NEW: MIDI Mixer context menu now has icons.
  • FIX: Wrong watchdog initialization caused disconnection of MIDI clients that open the device and do not immediately send another message.

2.5.0-beta1 - 2018-05-17:

  • NEW: Added MIDI Mixer to MIDI Converter.
  • NEW: Added channel "solo" feature to MIDI Mixer.
    It can be enabled/disabled by clicking on the new "solo" button or by pressing the S key (while the channel is selected).
  • NEW: MIDI Converter window can now be snapped to others.
  • FIX: Exported MIDI Mixer state file can't be imported on another device mixer (with a different #id).

Feel free to test it and report its bugs here.
Do not open bug report threads for beta/RC versions.

Attachments (Only registered users)
CoolSoft_VirtualMIDISynth_2.5.0-rc3.zip
CoolSoft_VirtualMIDISynth_2.5.0-rc2.zip
CoolSoft_VirtualMIDISynth_2.5.0-rc1.zip
CoolSoft_VirtualMIDISynth_2.5.0-beta4.zip
CoolSoft_VirtualMIDISynth_2.5.0-beta3.zip
Posts: 96
Joined: October 14, 2016 - 03:20
Re: VirtualMIDISynth 2.5.0 - Beta

Cool, I like the new solo funtion, but tbh I don't really like how it just partially mutes all the unselected channels instead of completely, I supose this is intentional because this is similar to how the solo buttons work on vanbasco's karaoke player, you don't really need to change/add anything if you don't want to because of the old mute-all-and-unmute-the-ones-you-want-solo method still works

Add a solo mode that completely mutes all the other channels, I suggest keeping the current solo that partially mutes and if you change a option to change the solo mode then it will also mute all the unselected channels like:

  • A new icon under master slider that changes solo modes, let's say normally it's like the normal headphone icon, maybe on a different color or with small visible sound waves, when you click it a M apears on top of the icon or just a simple color change to red or grey, when it's in this mode it means it will completely mute all the unselected channels, I think this one would be kind of fun because with this one you would be able to dinamically change solo mode with just one click
  • Change modes with a option on contextual right click menu of the mixer "partial solo mode" or something like that and it's a checkbox like the "Keep on top" option

I've been testing the mixer of the midi converter and it seems to works perfectly (I've compared the live vs the converted with the same states and they both sound the same: volume, reverb etc)

but there should be a easier and faster option to copy the state of the main mixer like:

  • Copy main mixer state with a "Copy main mixer state" option on contextual right click menu of the MIDI converter's mixer
  • Maybe a normally unchecked "Keep state in-sync with main mixer" option on contextual right click menu of the MIDI converter's mixer so any change main mixer or midi converter mixer will be instantly copied to the other (if this is even possible)
  • Or even both previous options if you really want to, both are useful in their own way

And a feature I really want and that I would definitely use:

  • A option to convert a midi file into several separate sound files (1 per channel ex: midifile-1.wav (recording of channel 1), midifile-2.wav (recording of channel 2), midifile-3..., etc when "midifile" it's the name of the .mid file),

     While it's true that you can now do this manually by solo-ing 1 channel and then converting the file, then changing the name of the file (because if you don't then it will ask to overwrite the 1st file) then repeat 15 more times, doing all this 16 times would take a lot of time and effort just to have the channels recorded separately

Before this 2.5.0 version to make this I had to separate a 16 channel midi into 16 one channel midis to get the channels recordings separated, once those 16 midis where made I just had to drop them into the midi file converter and it would convert them really fast, it would be really great if this feature where added, having perfectly synced recordings of all the channels separately it's really useful

Other (unimportant, really...) suggestions:

  • Add a small text warning on midi file converter window when Midi converter mixer it's not "stock" or "Reset" state, I suggest right to the "MIDI Mixer" button, this is so you know the midi mixer volume sliders/Mute/solo are moved/activated before you do the conversion, because you may have changed the midi mixer a while ago but you forgot and now you want to convert a midi with stock volumes so the midi comes ends up coming with unwanted mixed volumes
  • A "reset MIDI mixer" button on the Midi file converter window next to the "MIDI Mixer" button so you don't even have to open the mixer to assure it's reset and so you can reset it if the volume sliders are moved

Thank you so much for implementing the mixer for the midi converter, I can't belive how much it has improved since vms 1

Posts: 96
Joined: October 14, 2016 - 03:20
Re: VirtualMIDISynth 2.5.0 - Beta

Not sure if this is reproducible but today VMS didn't start after starting windows, I opened a midi with WMP and it didn't start either (or maybe it did but I can't say for sure, because I had loaded a weird soundfont with not a lot of instruments on it)

So I opened VMS manually and even then, the tray icon didn't appear, also the Windows Media Player default device got changed on it's own to my keyboard instead of VMS #1

Doesn't matter how many times I closed the config window and then opened the exe, the tray icon didn't appear until I closed the VMS process with the task manager, then I opened it:

I gotta point out that the pc just reseted from a BSOD caused by dragging a file into Virtual Box (unrelated to VMS) and that Windows has been updating recently so that might have caused it

Apart from that 2.5.0 seems pretty stable and I haven't had any problems with it, the midi file converter mixer works perfectly and the new solo function it's fun

Posts: 1972
Joined: March 25, 2012 - 01:19
Re: VirtualMIDISynth 2.5.0 - Beta

Version 2.5.0-beta2 has been released (see first post).
It includes most of the suggestions of @Anonimo_LLopi (thanks for them) and a bug fix on synth watchdog.

    Posts: 96
    Joined: October 14, 2016 - 03:20
    Re: VirtualMIDISynth 2.5.0 - Beta

    Amazing, thank you very much for adding most of the features I suggested, I honestly thought I went a bit overboard :p

    The ability to change the volume of solo function it's really great, when I want to record just a channel I just need to set it to 0 and with midi playback it's really fun to change the value to whatever percentage you want

    The copy state function really makes it easier and faster to copy the mixer state

    Unfortunately I won't be able to test much until tomorrow because I'm busy with personal stuff but from what I've tested so far it has been stable

    Posts: 18
    Joined: January 1, 2016 - 17:54
    Re: VirtualMIDISynth 2.5.0 - Beta
    coolsoft wrote:

    v.2.5.0-beta2 - 2018-05-25

    • FIX: Wrong watchdog initialization caused disconnection of MIDI clients that open the device and do not immediately send another message.

    Quick check looks fine. Will test in deep in the weekend.

    Regards

    Posts: 96
    Joined: October 14, 2016 - 03:20
    Re: VirtualMIDISynth 2.5.0 - Beta

    I think I've found out a visual bug in the mixer

    The green dots of each channel on midi playback from channel 2 to 16 (channel 1 seems to work normally) instead of turning off when there aren't any notes playing on the channel it just keeps itself on after the first note until the midi stops or resets

    I don't know exactly if this is how these square dots are suposed to work: by lighting up when there's a note active and turning off when there's no note playing? if I'm right then the only channel that acts properly is channel 1

    Here you can see how the only channel light that turns off after the midi starts is the first channel one, then I solo'd channel 2 when it wasn't playing anything (as you can see on the master volume meter) but the indicator was still on:

    And a suggestion I've had in my mind for several days now: A peak indicator/warning for the mixer, currently it's a bit hard to tell if the midi it's clipping or not, if the last 1 or 2 (or more) red lights of the master volume indicator would stay lighted up for a second everytime it peaks that would make it really easy to tell wherever it's clipping or not, here's mixcraft's peak indicator in action:

    Also, I made you a small donation for your continuous efforts put into improving VMS, because I've used this program for more than 2 years and as a thank you for implementing my suggestions :)

    Posts: 1972
    Joined: March 25, 2012 - 01:19
    Re: VirtualMIDISynth 2.5.0 - Beta
    Anonimo_LLopi wrote:
    I don't know exactly if this is how these square dots are suposed to work: by lighting up when there's a note active and turning off when there's no note playing? if I'm right then the only channel that acts properly is channel 1

    Channel LED was meant to give only a visual "indication" that there's activity on a channel, to help user choose the right one (for volume/mute editing).

    The current algorithm (it never changed since 1.x) was made to be as fast as possible and really simple and works like this:
    each channel have a boolean status value that's turned TRUE after each NOTE_ON message and turned FALSE after each NOTE_OFF.
    At each window update cycle, MIDI Mixer reads this value and turns ON/OFF the corresponding channel LED.

    It could happen that the LED turns OFF even if a note is playing, like this case:

    • NOTE_ON C --> LED: ON
    • NOTE_ON D --> LED: ON (still)
    • NOTE_OFF D --> LED: OFF (even if note C is still playing)
    • NOTE_ON C --> LED: ON
    • NOTE_OFF C --> LED: OFF (now note D is still playing)

    LED shows a wrong info if meant as "channel level", but good if meant as "channel activity", so this drawback is acceptable.

    I've already tried another implementation where the boolean status variable is replaced by a "note counter" (for each channel).
    VMS increases it after each NOTE_ON and decreases after each NOTE_OFF (or NOTE_ON with velocity=0), then the channel LED is ON if counter > 0.

    It was fast too, but this "improved one" shown a lot less LED activity because LED turns OFF only when all notes on the channel are off.
    Think about a melody channel with overlapping notes (a note starts before the previous note stops): the LED stills ON and doesn't show any activity.
    When tested, this implementation had LED almost always ON and it was not so good to see.

    That said... I'd like to check that MIDI file on my side ;)
    Please post it here or send through the contact form.

    Anonimo_LLopi wrote:
    A peak indicator/warning for the mixer

    That's a good suggestion, will look into it.

    Anonimo_LLopi wrote:
    Also, I made you a small donation for your continuous efforts put into improving VMS

    Thanks for it, really appreciated ;)

    Posts: 96
    Joined: October 14, 2016 - 03:20
    Re: VirtualMIDISynth 2.5.0 - Beta
    coolsoft wrote:
    Channel LED was meant to give only a visual "indication" that there's activity on a channel, to help user choose the right one (for volume/mute editing).

    Exactly, that's what I use it for, when all leds just keep being on even when not all channels are playing notes like it's happening to me with most of my midis it's really hard to tell which channel it's which or which one it's playing what

    coolsoft wrote:
    The current algorithm (it never changed since 1.x) was made to be as fast as possible and really simple and works like this:
    each channel have a boolean status value that's turned TRUE after each NOTE_ON message and turned FALSE after each NOTE_OFF.
    At each window update cycle, MIDI Mixer reads this value and turns ON/OFF the corresponding channel LED.

    It could happen that the LED turns OFF even if a note is playing, like this case:

        NOTE_ON C --> LED: ON
        NOTE_ON D --> LED: ON (still)
        NOTE_OFF D --> LED: OFF (even if note C is still playing)
        NOTE_ON C --> LED: ON
        NOTE_OFF C --> LED: OFF (now note D is still playing)

    LED shows a wrong info if meant as "channel level", but good if meant as "channel activity", so this drawback is acceptable.

    There must be something wrong then, because that it's not what's happening to the midi mixer with, for example, the recording of the mixer with the midi I showed you in my previous post, currently on some midis when the first note-on happens on a channel that isn't 1 it NEVER turns off unless you stop the midi by pressing the square Stop button on the player or the midi ends and then starts again (actually you only need to completely stop it on Windows Media Player, in VKP just pausing it turns all leds off but the bug still happens when playing), really odd behaviour.

    coolsoft wrote:
    I've already tried another implementation where the boolean status variable is replaced by a "note counter" (for each channel).
    VMS increases it after each NOTE_ON and decreases after each NOTE_OFF (or NOTE_ON with velocity=0), then the channel LED is ON if counter > 0.

    It was fast too, but this "improved one" shown a lot less LED activity because LED turns OFF only when all notes on the channel are off.
    Think about a melody channel with overlapping notes (a note starts before the previous note stops): the LED stills ON and doesn't show any activity.
    When tested, this implementation had LED almost always ON and it was not so good to see.

    I like the current implementation when it works properly, I don't think you need to change it

    coolsoft wrote:
    That's a good suggestion, will look into it.

    Thanks, sometimes the current level indicator doesn't reach the red leds even when it has peaked, in this test video you can see exactly when the same converted midi peaks on audacity (the red lines are peaks) and compare it with the master level indicator on the same midi played live: https://www.youtube.com/watch?v=zoDfpxQTCug&feature=youtu.be

    For the volume indicator to reach red it needed a long peak, a peak indicator should turn on instantly when it peaks, even if it's really small peak, as fast as the channel leds activity indicator do and, after it gets turned on, it should stay on for a moment so you can notice it peaked

    Posts: 96
    Joined: October 14, 2016 - 03:20
    Re: VirtualMIDISynth 2.5.0 - Beta

    I've just noticed another small bug, the icons of the mixer's contextual menu are slightly corrupted until/unless you put the mouse over them:

    (the red speaker icon it's actually fine but it looks bad on the gif)

    Pages