Newest Midi mapper does not list 32-bit only ports on 64-bit Windows

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 !!!
Posts: 129
Joined: 25 Set 2013 - 16:38
Newest Midi mapper does not list 32-bit only ports on 64-bit Windows

Hi Claudio,

I have just noticed that the newest v2.1.1 Midi mapper on 64-bit Windows does not enumerate 32-bit only ports.
First I thought I remembered wrong but I installed version 1.0.0 of Midi mapper for testing and it correctly lists 32-bit only ports and also correctly indicates that these ports are 32-bit only by placing an "x86" logo before the port names.

Contrary the newest version only lists ports that are "x86/x64".

Thanks in advance.

Posts: 1978
Joined: 25 Mar 2012 - 01:19
Re: Newest Midi mapper does not list 32-bit only ports on 64-bit Windows

Well, detection code has never changed...

It works like this: since there's no way for an x64 process to enumerate x86 drivers (calling midiOutGetDevCaps), the x64 bit version of MIDIMapper configurator calls an x86 proxy-binary to enumerate those devices.
The list returned by this call contains the x86 drivers installed (you can test it on your side by running MIDIMapper.ProxyX86.exe /GetMIDIDevices in a command prompt within MIDIMapper installation dir).
A similar list, but with x64 devices, is then built by MIDIMapper configurator itself by directly calling midiOutGetDevCaps() (it's an x64 binary).
The two lists are finally "merged" by device name and the proper icon is assigned.

That said, this is what I see on my side (with only VMS installed):

And this is what I see when I remove VirtualMIDISynth.dll in C:\Windows\System32 folder (leaving only the x86 driver available):

Finally, this is what I see when I remove VirtualMIDISynth.dll in C:\Windows\SysWOW64 folder (and restore the previous one in C:\Windows\System32):

I'd like to reproduce your setup, if possible; could you please share the list of your devices (especially the x86 only ones?)

Posts: 129
Joined: 25 Set 2013 - 16:38
Re: Newest Midi mapper does not list 32-bit only ports on 64-bit Windows

Hi,

It's rather easy to reproduce the problem if you install Midi Yoke:

http://www.midiox.com/zip/MidiYokeSetup.msi

This is a 32-bit only driver. It is detected properly by Midi mapper 1.0.0 but not detected at all by Midi mapper 2.1.1.

If you use Win 10 x64 new version or Win 11 x64 then after the setup is finished do not reboot since Midi Yoke has the same problem as Midi mapper and VMS earlier that is it is removed by system services.

Attachments (Only registered users)
midimapper211.png
midimapper100.png
Posts: 1978
Joined: 25 Mar 2012 - 01:19
Re: Newest Midi mapper does not list 32-bit only ports on 64-bit Windows

Ok, I've found what's wrong 👍

coolsoft wrote:
Well, detection code has never changed...

Ehm, this is partially true.
The code to extract device names has not changed but the one that parses them was improved... and a bug was added.
The expected output format of x86 proxy is:

:
:
...

As you can see, ":" is used to separate the two fields (ID and name).
Unfortunately MidiYoke device names contains ":" in their name:

4:Out To MIDI Yoke:  1
5:Out To MIDI Yoke:  2
...

and this caused the parse to fail (and skip that device) 😔.

I've just released an update (v2.1.2) to fix it.
Thanks for your detailed bug report.

falcosoft wrote:
If you use Win 10 x64 new version or Win 11 x64 then after the setup is finished do not reboot since Midi Yoke has the same problem as Midi mapper and VMS earlier that is it is removed by system services.

I was not able to install MidiYoke on my system with the .msi install; it does nothing on my system.
It doesn't even create the required MIDI registry entries in HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\Drivers32 key.

To install it I've:

  • downloaded the .zip version
  • extracted myokent.dll file to C:\Windows\SysWOW64 folder
  • manually created an midiXX entry in HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\Drivers32 with value myokent.dll
Posts: 129
Joined: 25 Set 2013 - 16:38
Re: Newest Midi mapper does not list 32-bit only ports on 64-bit Windows

Thanks,

I have just downloaded v2.1.2 and it seems to be working well.

coolsoft wrote:
I was not able to install MidiYoke on my system with the .msi install; it does nothing on my system.
It doesn't even create the required MIDI registry entries in HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\Drivers32 key.

I forgot to mention but the msi installer does not have any manifests so elevation has to be done manually. So you have to install it from a shell/command prompt that runs with elevated Administrator rights.