osxmidi / LinVst

Linux Windows vst wrapper/bridge
GNU General Public License v3.0
674 stars 41 forks source link

VSTs don't give focus back to reaper #134

Closed iliaspoulakis closed 3 years ago

iliaspoulakis commented 4 years ago

I have the following issue in Gnome Manjaro / Reaper (both up to date):

When a plugin is open in a docked FX-chain and gains focus, it retains focus no matter what you click in reaper. Only closing the plugin helps (e.g. by closing the fx-chain).

I tried compiling LinVst with the EMBEDRESIZE and FOCUS flags, did not help. (What does EMBEDRESIZE actually do?).

Finally, I recompiled again following the Keyboard-Focus instructions. It seemed to completely solve the problem at first, but after a bit of usage the problem is still occasionally reappearing, though I can't reliably reproduce it.

LinVst-X has the same behavior, and is really awesome btw :)

osxmidi commented 4 years ago

I've tried it with Manjaro that uses xfce and I can't replicate it.

What window manager are you using?

sudo pacman -Sy wmctrl

wmctrl -m

I get

Name: Xfwm4 Class: xfwm4

keybreak commented 4 years ago

inxi -Fxxxz | grep "wm:" should give you wm name though, it's pre-installed on Manjaro

iliaspoulakis commented 4 years ago

Hi guys, thank you for the help.

I think Gnome uses mutter as its default window manager.

$ wmctrl -m: Name: GNOME Shell Class: N/A PID: N/A Window manager's "showing the desktop" mode: OFF

$ inxi -Fxxxz | grep "wm:" Desktop: Gnome 3.34.3 wm: gnome-shell dm: GDM 3.34.1 Distro: Manjaro Linux

The issue only occurs when the FX-chain is docked (to the main window). Maybe the window manager does not register a change in focus since both reaper and the vst are being displayed in a single window?

keybreak commented 4 years ago

Since you're on Gnome are you on X or Wayland session though?

iliaspoulakis commented 4 years ago

I'm on X. I tried switching to Wayland before to see if that helps but apparently I can't (that easily) since I have an nvidia card. I also did some more tests, the moment I touch a fader or knob in the vst, focus won't go back to reaper.

iliaspoulakis commented 4 years ago

Alright, I did some further testing. I installed manjaro xfce in virtualbox and there seem to be differences in behavior indeed. At first the issue appeared to be fixed, nevertheless I managed to reproduce it.

Steps:

  1. Create an empty project, add a track and an empty MIDI item.
  2. Duplicate active take, keyboard shortcut 'T' should now switch between takes
  3. Open FX chain, (dock it to main window if not docked already)
  4. Add a windows vst (I used SlickEQ) and hover cursor over the vst window
  5. Click the media item and press T, no take is switched as the vst retains keyboard focus

The weird part: If you add a second vst (e.g reacomp) and go back to SlickEQ behavior changes. When hovering over SlickEQ, pressing 'T' stops switching takes, when going back to the main window it works again. (I assume this is the wanted behavior).

In Gnome, behavior is a bit different. (I reset reaper to default settings just to be sure). Once the cursor enters the vst window there is nothing I can do except closing it (or switching to another fx in the chain) to give back keyboard focus to reaper and make my shortcuts work again.

I understand the the issue might be a bit niche, since a lot of people never dock their fx-chain and not everybody is using gnome. So you are welcome to ignore and close the issue. I am pretty happy with Lin-Vst-X with the keyboard-focus fix.