psycha0s / airwave

Airwave is a WINE-based VST bridge, that allows for the use of Windows 32- and 64-bit VST 2.4 audio plugins with Linux VST hosts
MIT License
574 stars 35 forks source link

When a plugin opens another window… #2

Closed michalrus closed 10 years ago

michalrus commented 10 years ago

… bad things happen. Bitwig Studio crashes, but only when the other window is closed.

I even managed to crash the whole GNOME, when trying to close the left-over black window, that held what the plugin opened.

michalrus commented 10 years ago

Also, on vanilla wine, when the other window is closed, a black area appears in its place, and then the window reappears, unresponsive, uncloseable.

psycha0s commented 10 years ago

Could you please explain, what is "the other window"? I don't understand the nature of the problem.

michalrus commented 10 years ago

@phantom-code, sure. :) Sorry for not doing this from the beginning.

Not all plugins use one window (the one you're xembedding) — "window" as in "MS Windows overlapped/pop-up/child window created with CreateWindow WINAPI call"). E.g. Ivory, when selecting a piano keyset, doesn't use a combobox, but rather a completely new child window with some kind of a listview.

So, when I'm creating a new project, I've got to either use a template project, or:

  1. Add Ivory VST.
  2. Select a piano keyset (this step requires creating the new child window).
  3. Now the black area appears in place of the closed child window. After 1-2 sec, the child window reappears in the black area but unresponsive.
  4. Save the project.
  5. Kill Bitwig Studio.
  6. Reopen Bitwig and load the said project and don't touch keyset selection anymore (or go back to step 4 after touching it :cat: ).
  7. Jam. :heart:
psycha0s commented 10 years ago

According to the description it seems like a problem with the wine xebmed. For example, some VST plugins can increase the size of its windows (NI Reaktor). And due to this issue some parts of the window are not updated after resize and remain black. Currently I have no idea how to force them to update. I think it's probably a wine bug. PS: is there a demo version of Ivory? I am not found it on the synthology website.

michalrus commented 10 years ago

Uh-huh. :( Ad. PS: I don't think there's a demo. :disappointed:

michalrus commented 10 years ago

@phantom-code, kay, found it in an u-he plugin you can try! When I load u-he's Zebra2.so, and click the Save button (near the Presets drop-down list), Zebra creates a new child window. This new window behaves like that. And this behavior has just crashed my GNOME session. =)

michalrus commented 10 years ago

@phantom-code, another example: same thing happens with NI Kontakt. :) Try to add a library → a dialog box with directory list is opened → you choose a directory and close the dialog → everything blows up.

lunadog commented 10 years ago

Zebra2 opening a save window doesn't cause this problem on my system in Renoise (under KDE).. Just tested with an old version of bitwig and it doesn't cause problems there either. Wine 1.7.27 (ubuntu)

michalrus commented 10 years ago

I'm using 1.7.28, but I don't think one minor version bump matters here. Hmm. @phantom-code, does it work for you?

michalrus commented 10 years ago

Okay, somehow it started working today. Still using wine 1.7.28. :o