KeppySoftware/OmniMIDI

OmniMIDI driver won't register - all ports are occupied

frozensnowy opened this issue · 6 comments

Problem
I'm running into an issue where the driver fails to register. Launching OmniMIDI opens the troubleshooter which shows me hat every slot is occupied and it can't register. Clicking fix doesn't fix the issue.

Steps to reproduce

  1. Download and install the latest release of OmniMIDI, version 14.6.13
  2. Presented with the first clue, a window indicating that all ports are occupied, except midi1.
  3. When you then launch OmniMIDI you are then shown a troubleshooting window with the fix button presenting the same message that no slots are available. See screenshot 1.

Expected behavior
The driver installs without any errors and upon launching opens up the configurator without any errors. The driver should also be registered correctly.

Screenshots/Videos
Screenshot 1:
image
Screenshot 2:
image
Screenshot 3:
image
Screenshot 4:
image
Screenshot 5:
image
Screenshot 6:
image
Screenshot 7:
image

Environment

  • Operating system: Windows 11 x64 build 22000.556
  • CPU: AMD Ryzen 7 5800H
  • RAM: 64GB
  • MIDI application: Cubase 12, Studio One 5, FL Studio 20.9.1 and standalone VST's (Omnisphere & Kontakt).
  • Version of the driver: 14.6.13

Additional context

  • Closing the troubleshooter actually opens the configurator and gets rid of the message until I launch OmniMIDI again. Verifying it in a number of other programs, OmniMIDI is not present as a midi device.
  • All midi slots are taken up by wdmaud.drv in screenshot 1.
  • Not much software is installed on the OS aside of some basics and DAW's plus VST's, I also have a few MIDI controllers installed but all the aforementioned was installed previously on older windows versions without any issues being present.
  • Installing the mapper will work and it shows up, but it only plays through the wavetable. In the configurator I can't select any other options that make sense since the other 2 are for my piano and audio interface. See screenshot 2.
  • Trying to use the Multimedia Wrapper Patch fails:
    • On FL Studio it shows the port as being in used/not connected in. See screenshot 3.
    • FL Studio throws an error stating it needs to restart whenever I have the OmniMapper installed and set. Curiously, it doesn't show this error when both the Keppy's Direct MIDI API and OmniMapper are selected at once. See screenshot 4.
    • On Studio One it acts like it's all connected and working as intended. See screenshot 5.
    • On Cubase it fails to load the driver outright and can only be launched in safe mode until the patch is removed. See screenshot 6.
  • After googling around, I found out that some other user had a problem related to the duplicated entries for wdmaud.drv in the registry at HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32 & Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\Drivers32 and deleted them to proceed (source), I didn't do this as I didn't want to potentially brick anything. I haven't installed the software mentioned in the linked forum topic and haven't installed any MIDI related software that would add midi ports, aside of the drivers for my audio interface and pianos, so I have no idea how this could even happen. Any software I have installed now, I have installed before without any of the issues I'm encountering now. If deleting the entries in the registry is a fix I could employ, which entries do I delete? See screenshot 7.

Please do not mess around with the registry yourself. Windows 10+ will handle all the midiX slots registration by itself, and messing around with the keys might cause some other devices to stop working.

Please tell me if the message about no empty slots available is different, in the latest PR.

Please do not mess around with the registry yourself. Windows 10+ will handle all the midiX slots registration by itself, and messing around with the keys might cause some other devices to stop working.

I figured as much, as mentioned I haven't touched it and won't now that you mention this, thanks for letting me know.

Please tell me if the message about no empty slots available is different, in the latest PR.

Which PR are you talking about? I'm not seeing any open PR's

Please do not mess around with the registry yourself. Windows 10+ will handle all the midiX slots registration by itself, and messing around with the keys might cause some other devices to stop working.

I figured as much, as mentioned I haven't touched it and won't now that you mention this, thanks for letting me know.

Please tell me if the message about no empty slots available is different, in the latest PR.

Which PR are you talking about? I'm not seeing any open PR's

By PR, I meant pre-release! Oops.

By PR, I meant pre-release! Oops.

Ahhh I see, I just installed it and it said that the driver registered successfully, upon checking it it's all working correctly, thanks so much for the fix, all is well now!

EDIT: A restart broke it again.

Here's PR81, let me know if this version has a different error.
It shouldn't say that the midi1 port is always empty anymore.

The issue still hasn't resolved itself with PR81 and a number of things were tried, as we chatted about in private. Even forcefully setting it resets it after a reboot so I give up.
I want to just put it in here for archival purposes and to close this issue.

While I don't recommend anyone does this, the following has worked for me:

I created a .reg file that forcefully sets midi1 to omniMIDI.dll:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32]
"midi1"="OmniMIDI.dll"

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\Drivers32]
"midi1"="OmniMIDI.dll"

This gives me access to OmniMIDI but breaks some of my hardware - as was expected.

When I'm done using OmniMIDI, I set it all back to wdmaud.drv:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32]
"midi1"="wdmaud.drv"

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\Drivers32]
"midi1"="wdmaud.drv"

This gives me access to my midi hardware again. While this isn't perfect, it seems to solve it temporarily and allows me to at least use OmniMIDI when I need it, and not when I don't.

Anyhow, thank you @KaleidonKep99 for all the effort spent on helping me out, I sincerely appreciate it!