-
-
Notifications
You must be signed in to change notification settings - Fork 100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Route VST2 keystrokes to ExternalWindow #314
Conversation
While I can understand why, this needs more work and thought since the DGL Key macros are not available without DGL. |
Yes. There's a design choice to be made, should those be moved out of DGL, replicated, inherit from a common base, not sure. This is again a stopgap PR that needs improvement :) |
This is also only for VST2, there is no such thing on other formats. tbh I am more inclined to not support this whatsoever. |
That fact strikes me. Why is this required at all and only supported by VST2? I mean what can cause the topmost plugin view to be unable to receive keyboard input? . I really need to research on the latter to fix my problem. I agree this PR should not exist. But also don't understand why something similar exists for DGL, isn't kbd input already handled by Pugl? is it something related to the event loop? I don't reach that far. |
It is related to VST hosts and how they do not want plugins stealing keyboard focus. JUCE has workarounds in place to always try and grab keyboard from the host, we dont do that in stock DPF so the special VST key events are required for some hosts. I think the biggest problem is finding a nice way for hosts to let plugins take some of the keyboard events (while some are reserved for the host) and then somehow recognize if the plugin did anything with it or not. We have a similar situation for the UI resize. We should be able to make this all work without resorting to magic plugin-spec calls, but it takes a considerable amount of effort, and per-OS. |
That was very informative and perfectly explains the mixed results I am getting, thanks. I guess Bitwig on Linux does a great job keeping keyboard focus for itself, for example observed that repeatedly hitting keys while clicking a Will have a look at JUCE source then. Sad to know VST3 isn't much better in this aspect... Edited to add missing words, including HTML tokens in GitHub replies does not work unless they are quoted |
I am not very sure of what I wrote above now, as running
shows the window ID being updated as expected as the user toggles the focus between the Bitwig window or plugin windows, including mine. Vital VST3 has a preset browser with a search box and the box works as expected on Bitwig/Linux. Also didn't spot anything special in JUCE code but tbh haven't devoted a lot of time on it. Still think I am oversimplifying this. |
In the case of Linux/GTK I found Closing this PR now. |
Related to #313