Renoise Redux not receiving key events

(Michael) #1

Basically this (as far as I can tell):

Except that I’m using gnome, not KDE.

The weird thing is that it worked normally for a short while when I was first testing it, and then I suddenly wasn’t able to input notes any more. After fiddling around a bit, I realized that all keyboard controls had stopped working. However, the “keyboard” inside the full editor view seems to be responding with the usual key press animations (see grayed out X here:

Deleting and reinserting the plugin doesn’t help, neither does restarting Ardour. It works without issue in Carla.

(Paul Davis) #2

We’ve heard that Renoise/Redux doesn’t work in Reaper (in this regard either).

I added XSendEvent to the plugin’s XWindow to deal with _XSendProc being unset.

But the key point here is: Renoise/Redux is getting key events … you can see it in the GUI, and you can type out filenames and whatnot. But the keys, when used to “drive” Redux, don’t work as intended, even though they make the GUI flash and blink and all that good stuff.

(mike@overtonedsp) #3

@paul: I have / had a similar issue with keypresses not being delivered to one of my VST plug-in GUIs when hosted in Ardour. It worked just fine in Reaper but there seemed to be just about nothing I could do in the plug-in code to get keypress events to be delivered reliably from Ardour - irrespective of the method used - so I concluded it must be a GTK / Ardour specific issue. There may even be a bug report filed. For what its worth, hardly any linuxVST plug-ins actually rely (exclusively) on _XSendProc - the plug-in can’t guarantee the host supports it properly and / or reliably, and it likely won’t - so I don’t think its the root cause of this issue.


Known issue:

(Paul Davis) #5

I’ve just fixed this in my code. I’m not a Renoise user, so I don’t know how to get Renoise to do stuff when I press computer keyboard keys, but I can see the GUI respond to my presses AND I can use the keyboard to enter filenames and stuff like that.

Unfortunately, no access to this until the 6.0 release which is a long way off.

(Paul Davis) #6

I take this back. Even though I implemented a version of ::forward_key_event(), the behaviour is unchanged from 5.12. Key events appear to make it to Redux, but they do nothing unless you’re in an input text box (e.g. a file name).

To be completely clear: even in Ardour 5.12, you can SEE Redux receiving key events (the letters flash, file name input boxes work etc.) but Redux doesn’t do what its users expect with them. They have a visual effect in the phrase editor/triggers, but no audio effect.

I suspect that the problem may be that Redux (at least) does not implement support for the “_XSendProc” in its window properties, which is the accepted way for LXVST plugins to get X Window events dispatched to the plugin code. This would lead Renoise/Redux to be confused about keyboard focus, at minimum.

I don’t believe that this is actually a problem in Ardour after all.

(Paul Davis) #7

Small correction: it also works for LV2 plugins too. It is only LXVST that has this issue, and that’s mostly because at the time the code for this was written, it wasn’t clear how best to forward the key events that Ardour receives to the plugin.

(Michael) #8

All right, thanks for the update. I suppose the Linux workaround for now is to just use it through Carla and route the audio to Ardour.

(Paul Davis) #9

Did you click on the “keyboard focus” icon in the upper right of the plugin GUI? This tells Ardour not to process key events at all but send them all to the plugin’s own GUI.

(Paul Davis) #10

We’ve established from a quick code review that this works for WinVST and AudioUnit plugins; it will not work for LinuxVST (LXVST) and LV2 plugins. There’s no mechanism at present to forward the key events to plugins of those types.