https://bugs.winehq.org/show_bug.cgi?id=52220
--- Comment #6 from kakurasan@gmail.com --- (In reply to Jacek Konieczny from comment #5)
Here is a patch I made to fix the problem without removing the functionality introduced by my previous patch:
Hello Jacek. Thank you for investigating the issue and providing the patch.
It works as expected but there are two issues when using Qsynth.
As a workaround, Qsynth users need to uncheck the "Auto Connect MIDI Inputs" checkbox in the "Setup" dialog.
Issue one: When it's checked, Wine often fails to open Qsynth's MIDI ports.
The behavior was introduced in:
commit 1875887000b368cc57f2953cf8d2c043369674c6 Author: Jacek Konieczny jajcus@jajcus.net Date: Wed Feb 12 12:53:25 2020 -0600
winealsa.drv: Allow external MIDI port connection changes.
That is generally the expected behaviour of any ALSA sequencer client.
Signed-off-by: Jacek Konieczny jajcus@jajcus.net Signed-off-by: Andrew Eikum aeikum@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
Issue two: When checked, even if Wine successfully opens all MIDI ports, the playback is still broken.
The point is, the problematic "Auto Connect MIDI Inputs" setting is enabled by default.
FluidSynth has the same setting too (fluidsynth -o midi.autoconnect=1 /path/to/soundfont) but it's not enabled by default.
The (libfluidsynth's) autoconnect feature uses the ALSA sequencer port subscription too and causes the behaviors.
Even if these are really expected behaviors, most Qsynth users may get confused by them.
What do you think?