https://bugs.winehq.org/show_bug.cgi?id=48073
Bug ID: 48073 Summary: ANSI plugin window breaks in Unicode host (Synth1 / OpenMPT) Product: Wine Version: 4.0.2 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: wine@sagagames.de Distribution: ---
An OpenMPT user has observed an issue with the Synth1 VST which does not happen in Windows. It boils down to OpenMPT being compiled with Unicode support. Compiling it as an ANSI application instead makes the Synth1 feature in question work again.
Downloads: Synth1: https://daichilab.sakura.ne.jp/softsynth/#down OpenMPT: https://openmpt.org/download (use the 32-bit version) Last official OpenMPT ANSI version: https://download.openmpt.org/archive/openmpt/1.26/OpenMPT-1.26.14.00.zip
To reproduce:
Steps to reproduce: 1) Create a new module in OpenMPT. 2) Open the plugin manager ("Select" button at the bottom of the created module's window) and add Synth1 VST.dll (or Synth1 VST64.dll if you installed the 64-bit version of OpenMPT) 3) Click "Put in FX01" to load the plugin. 4) Click the "Edit" button next to the "Select" button to open the plugin's UI. 5) Click the "opt" button in the Synth1 UI to configure at least two sound banks. There is one valid soundbank in the "soundbank00" folder. For the sake of testing, you can copy the sy1 files in that folder to e.g. "soundbank01" and then add that folder as a second bank. 6. Next to the "opt" button is the bank switcher. Click on the text field to open the bank switcher and try switching between the two banks by selecting them in the treeview on the left, then choosing a patch from that bank on the right side (another unrelated bug can be observed here: you cannot see the patch names in Wine, wine bug 24945)
If you are using the latest OpenMPT version (Unicode), the last step should fail and you will always stay in the bank that was already selected. With OpenMPT 1.26, the bank switch will happen as intended. I have verified that compiling later OpenMPT version as ANSI applications make them work as expected as well, so I assume that there must be a bug in Wine that is related to mixing ANSI and Unicode window classes.