https://bugs.winehq.org/show_bug.cgi?id=47502
Bug ID: 47502 Summary: Wine names MIDI devices not the same as Windows Product: Wine Version: 4.12.1 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winealsa.drv Assignee: wine-bugs@winehq.org Reporter: demindf@gmail.com Distribution: ---
I'm trying to run Yamaha's DSP controller for AG06 mixer, but it doesn't detect MIDI device. The reason it can't find it is because it looks for a device named "AG06/AG03", however Wine transforms the name to "AG06/AG03 - AG06/AG03 MIDI 1".
To make application work I made a quickfix (not for merging, just for my self) https://github.com/demin-dmitriy/wine/commit/5497db48db29363af332f1f68b2c755... , and indeed application works smoothly after that.
Yamaha's DSP controller is not the only program that suffers from that. Here's a reddit post by somebody with exactly the same issue and same solution but with Rekordbox: https://www.reddit.com/r/linuxquestions/comments/c0np91/rename_midi_devices/
https://bugs.winehq.org/show_bug.cgi?id=47502
Martin Rosenau mdjrosenau@hotmail.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mdjrosenau@hotmail.de
--- Comment #1 from Martin Rosenau mdjrosenau@hotmail.de --- I had a similar problem with a program that uses the MIDI port for data transfer with an electric piano.
It turned out that the program does not only check the the name but also the "wVid" and "wPid" fields of the MIDI port.
Having a look at the latest (as of 2021-01-03) version of "winealsa.drv/midi.c", I found out that only dummy values are returned by Wine. A comment is saying: "FIXME Product ID".
According to another comment I have found in the sources, it is not possible to return the same data Windows returns.
My suggestion is to allow overwriting the fields of the "MIDIINCAPS" and "MIDIOUTCAPS" structures in a registry key so it is possible to run vendor-specific programs.
Example registry keys:
[HKEY_CURRENT_USER\Software\Wine\Drivers\winealsa.drv\midiinports\EXAMPLE USB-MIDI MIDI 1] "dwSupport"=dword:00000001 "wChannelMask"=dword:0000ffff "wPid"=dword:0000ffff "wVoices"=dword:00000020
[HKEY_CURRENT_USER\Software\Wine\Drivers\winealsa.drv\midioutports\EXAMPLE USB-MIDI MIDI 1] "szPname"="Example Industries MIDI OUT" "wMid"=dword:00001234 "wPid"=dword:0000ABCD
The registry key name ("EXAMPLE USB-MIDI MIDI 1") would be the name that would normally be returned by Wine (the name returned by ALSA).
The values inside the key are the values that shall actually be returned in the MIDIINCAPS and MIDIOUTCAPS structures. For values not specified in the registry key, Wine should return the "default" (or the correct) values.
https://bugs.winehq.org/show_bug.cgi?id=47502
Sagawa sagawa.aki+winebugs@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sagawa.aki+winebugs@gmail.c | |om
https://bugs.winehq.org/show_bug.cgi?id=47502
Vijay Kamuju infyquest@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeffz@jeffz.name
--- Comment #2 from Vijay Kamuju infyquest@gmail.com --- *** Bug 51164 has been marked as a duplicate of this bug. ***