What happened to MIDI Mapper on Windows 8 (and later)?

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

The number of help requests I'm getting from Windows 8 users trying to use MIDI programs is growing day by day.
I've done some research and tests on the arguments, but the available documentation is really "poor" (confirming my feeling about Microsoft intention to drop it out).
This is what I've find out.

Let's get back to Windows XP era, where MIDI was "exposed" to the public and it had its own place into "Sound and Multimedia" control panel application.
Users were able to configure their preferred MIDI out device, and this settings was used by MIDIMapper, a special MIDI out device bundled with XP.
This device was not a real device, but a sort of "pipe": it receives a MIDI stream on its input and drive it to an user configured (real) MIDI out device.
MIDIMapper, as said, was bundled with Windows, installed as MIDI device #0 and preconfigured to use the first available "real" device (see below).

Another MIDI device was bundled, the well known Microsoft GS Wavetable Synth (MGWS from now on).
MGWS is a (low quality) software wave synth, installed as MIDI out device #1.
So on Windows XP, programmers had 2 well known devices: #0 (MIDIMapper) and #1 (MGWS), the former preconfigured to use the latter.

When a MIDI software (i.e. your MIDI player) starts playing, it should select a MIDI out device otherwise #0 is used.
There are a lot of softwares around without this setting available (think about game emulators and Active Movie based players, like Windows Media Player and MediaPlayer classic): they all use #0 by default.
Device #0 is MIDIMapper --> MIDIMapper is configured to use MGWS --> MGWS will play your MIDI.
This chain worked well: default users had a working MIDI synthesis out of the box.

It all worked up to Windows 7, but getting worst version by version:

  • Windows XP: device #0 is MIDIMapper, #1 is MGWS and so on
  • Windows Vista / 7: same as above, but MIDIMapper configuration disappeared from control panel (registry settings were still available, so some third part tools were released as workaround)
  • Windows 8/10: no more MIDIMapper... go further reading!

On Windows 8 the MIDIMapper device has been completely removed so MIDI softwares are now REQUIRED to select a specific device (no selection still means #0).
I wrote "REQUIRED" because, worst of all, MGWS is now installed with some sort of "dynamic" ID: #0 out of the box, but it becomes #1 if you install another one (like VirtualMIDISynth or an USB MIDI device). I suppose device numbering is now done alphabetically, but I can't confirm it.

Anyway #0 won't lead to a well known situation like in pre-Windows 8 era; #0 could be MGWS or any other one.
The only way to select a specific device is use a MIDI software with a configuration option to select a device.
If you don't have it (and your software will use #0), you're out of luck: your software will use the first in the devices list...

That's why next VirtualMIDISynth versions will have MIDIMapper setting disabled on Windows 8.
Starting from 1.8 a new setting will be added to allow the selection of Active Movie based players MIDI out device.

I tried to explain my findings in a non technical way; feel free to post your comments.

UPDATE

An althernative to the missing MIDIMapper could be the new CoolSoft MIDIMapper, an althernative MIDIMapper for Windows 8 and newer.
It can be used alone (with its own configurator) or together with the new VirtualMIDISynth 2.
Check it out here.

Category: 

Comments

Pages

Hi fellas,

I have taken the liberty to update the old "Vista and Wexen Midi Out Setter" to 64 bits version.

Download from here https://www.dropbox.com/sh/m5howqn6k6dk1tj/AACM3kSuCLb7gQc1fNjHNiz2a?dl=0

It is meant for use with the 64 bits version of Media Player Classic.

The original version of Vista and Wexen Midi Out Setter can be downloaded from here.

Douglas

I keep getting the following message; "No soundfont loaded/enabled. Press OK to open VirtualMIDISynth configurator and load/enable at least on soundfont file. Then remember to restart your MIDI application."

I have tried this for two days and can't get a list in the box to to check or choose. I am trying to get the sound to work in Notation Composer. Since I now have Windows 10... I have been having problems.

Thanks for your help.
Ed Burk

Could you please join us here on the forum?
There's a thread with an issue similar to this...

I need to find a way around not being able to install a sound font in CoolSoft.

I tried to upgrade CoolSoft yesterday, but my password doesn't work and many attempts to get it reset has not yielded any email back from you.

Allen

I've just manually sent the password reset message to you.

Please double check your spam folder.

Recently tried Windows 10 on both my computers (laptop desktop).  I expected to hear sound directly after using SoundHelix and other Midi device dependent programs.  Well it didn't happen and I couldn't hear anything.  After installing this software I was able to discover that the default midi device has been conpletely removed from functionality. The option is actualy GREY and installed devices do not apear in the dropdown list. The Microsoft media player was odly still able to play midi songs from... its' own internal midi device?  Looks like it is time to purchase another Soundcard.

Thank you Claudio for a very clear explanation, the best I've heard. I have an idea which might solve the problem!  Apologies for the length of this post, but I think I first need to give some background...

I also am running software, which I have developed over the last 20 years to enable people with disabilities to make music.  http://www.inclusivemusic.org.uk/

(It's written in VisualWorks Smalltalk, and uses a MIDI dll developed in 1995, - which still works(!) on about half the Windows 10 I've tried. - a miracle. But as a high-level programmer, I can't update it, even if it were possible). Of course, we have no MIDI port selecting option, and it sends to port #0.

Now VMS very cleverly get's itself set as the MIDI #0 output,  so E-Scape can use the fab sounds from VMS. Thanks!  I have made a donation, and perhaps should every Christmas.  But people still want to send MIDI to other systems, eg Reason to give a wider range of sounds, and since Windows 7 of course we have no luck.

------

MY IDEA is this. If VMS could have a MIDI THRU feature (and of course would have an output port selection facility), then the MIDI stream could be directed to a port of our choice!

As we don't need to parse the MIDI input stream to deal with it, simply echo every byte to the selected output port,  this seems very simple to implement (I do it in my own software). What do you think, Claudio?

If we mute the music output of VMS, we would then be using it as a 'port selection' extension for any software, as discussed, which can't do it itself!

 

PS to Claudio: I was very touched by your piece about your father - reminds me of mine who at 83 with Parkinson's is on his last legs, and I'm dreading the future. You are obviously a very 'human' person, as well as being VERY clever!

 

Thanks for your kind words, really appreciated.

Adding that feature to VirtualMIDISynth has some cons:

  • will unnecessarily load the whole VMS stuff just to forward the incoming MIDI stream to another device
  • if you install another MIDI Output device (other than VMS), it is not guaranteed that VMS will be device #0 again so the whole MIDIMapper feature will became useless
  • opening a device configuration to select another device is counterintuitive IMHO; VMS is a (virtual) device driver and "something else" should select who-is-playing-what

That said, at the time of this blog post I was working on a project to bring the MIDIMapper back to Windows 8 (and newer) OSes.

Being an independent driver, it can be used with or without VirtualMIDISynth and doesn't have any of the cons above.

The project shares a lot of code with VMS 1, especially the MIDI driver component.
It was never released because, in my mind, people "get used" to the new Win8+ MIDI behavior and, mostly, updated their players to newer versions with MIDI OUT selection feature.
Moreover, VMS 2.x branch started taking most of my (spare) time, so the MIDIMapper reloaded project was suspended.

I'm actually having a look at its status, will be back in a few days with some more news.

I'd love to see MIDIMapper reloaded. The problem is that old games will NEVER be updated to allow manual MIDI device selection, so I can't use my Roland synthesizers for games in Windows 10 :(

 

VirtualMIDISynth manages to be aggressive enough to work in place of the default Microsoft software synthesizer, so it'd be nice if the same method could be applied to something that would allow me to choose an output.

CoolSoft MIDIMapper beta1 has been released.
Please take a look at its dedicated forum thread and check it out.

Thank you

I just installed your MM into my new Windows 10 PC (Acer Revo) and mapped to a MIDI Sport Uno to a wireless MIDI pack for my Yamaha Disklavier Piano and It works PERFECTLY!! 

Many thanks!

dg

Thanks for your kind words (and support too ;))

Pages