|
|
|
05-22-2020, 01:08 AM
|
#1
|
Human being with feelings
Join Date: May 2017
Posts: 125
|
Can't use the space key in text input fields
I can't use the space key in text input fields in a lot of my synths(Synthmaster or Synthmaster One). I tried all combinations of normal/global/global+text action settings but this has no effect. The setting:"Allow space key to be used for navigation in various window" has also no effect. It's very annoying and happens only in Reaper. My other DAWs work fine. Please fix soon.
|
|
|
05-22-2020, 04:36 AM
|
#2
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
|
Use Shift+Space instead.
|
|
|
05-22-2020, 07:05 AM
|
#3
|
Human being with feelings
Join Date: May 2017
Posts: 125
|
This is no solution. The spacebar is the right key. That has to be programmed smarter. It doesn't work in Serum either.
|
|
|
05-22-2020, 07:10 AM
|
#4
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
|
This is Reaper's way. Start/stop of transport takes precedence over anything.
Haven't yet found a plugin in which Shift+Space didn't work.
|
|
|
05-22-2020, 07:12 AM
|
#5
|
Human being with feelings
Join Date: May 2017
Posts: 125
|
Once again. This a software issue and should be fixed
|
|
|
05-22-2020, 07:14 AM
|
#6
|
Human being with feelings
Join Date: May 2017
Posts: 125
|
it is 1000 times more comfortable to use the spacebar.
|
|
|
05-22-2020, 07:20 AM
|
#7
|
Human being with feelings
Join Date: May 2017
Posts: 125
|
I like to help. It was 8 years ago when I last programmed for desktop operating systems (Window / MAC), but I also had to solve these problems. And I remember that I solved it that way.
https://stackoverflow.com/questions/...s-a-text-input
|
|
|
05-22-2020, 07:20 AM
|
#8
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
|
Quote:
Originally Posted by Eisenspalter
Once again. This a software issue and should be fixed
|
Not if devs decided that it's a feature
|
|
|
05-22-2020, 07:46 AM
|
#9
|
Human being with feelings
Join Date: May 2017
Posts: 125
|
As a software developer, you only have to consider 2 criteria to decide whether it makes sense to change the program.
1. Does the user need fewer steps to achieve his goal?
2. Does it make the program faster?
If you don't follow that, you'd better play Tetris and let others do the programming.🤣😂🤣😂🤣
|
|
|
05-23-2020, 06:55 AM
|
#10
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
You can enable “send all keyboard input to plug-in” for that plug-in and that will likely change the behavior to your liking...
|
|
|
05-23-2020, 07:37 AM
|
#11
|
Human being with feelings
Join Date: Mar 2007
Posts: 3,978
|
Quote:
Originally Posted by Eisenspalter
As a software developer, ...<snip>
If you don't follow that, you'd better play Tetris and let others do the programming.
|
Well Eisenspalter, and now you got the response directly from that "Tetris player"
Isn't it nice?
|
|
|
05-24-2020, 08:21 AM
|
#12
|
Human being with feelings
Join Date: May 2017
Posts: 125
|
Quote:
Originally Posted by Justin
You can enable “send all keyboard input to plug-in” for that plug-in and that will likely change the behavior to your liking...
|
I'm not happy with this. I have to set this setting again for every instance. Basically, this setting only makes sense if I am on an input field. Otherwise I want to use the spacebar for Stop / Play. Wouldn't it make sense to solve such an elementary function properly?
|
|
|
05-24-2020, 10:20 AM
|
#13
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
|
Not sure if there's any way Reaper can really know that the focus is on a text input field created by the plugin.
|
|
|
05-24-2020, 10:27 AM
|
#14
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
|
I'd also think the linked stackoverflow solution may only work for standard Windows text boxes but not if plugins create their own (non standard Windows) text input fileds.
|
|
|
05-24-2020, 08:10 PM
|
#15
|
Human being with feelings
Join Date: May 2017
Posts: 125
|
@EvilDragon
There is an way. I only have Reason for testing on my "home" notebook (Windows). And both Synthmaster and Serum behave as I expected. STOP / PLAY (spacebar) only works if the input field does not have the focus. Otherwise I can enter spaces.
@nofish
No matter what operating system or GUI you use. There is always an equivalent to it.
I just wanted to give food for thought with a stackoverflow link. As I said 10 years ago, when I was still programming on desktop systems, I already solved the exact same problem. There will certainly be VSTs where that doesn't work, but then they will be poorly programmed and will not follow operating system guidelines.
|
|
|
05-24-2020, 11:49 PM
|
#16
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
|
Reason hosts plugins in a separate process, not in the DAW process, which is why that is working. You can do this in Reaper as well, right click the plugin in FX browser and Run as separate or dedicated process.
However this completely steals keypresses from Reaper when the plugin window is focused, IIRC.
|
|
|
05-25-2020, 12:51 AM
|
#17
|
Human being with feelings
Join Date: May 2017
Posts: 125
|
separate process or not it doesn't matter. You can hook keyboard events cross applications system wide.
|
|
|
05-25-2020, 02:29 AM
|
#18
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
|
I guess so, but it still wouldn't be an universal solution - again as mentioned if the plugin uses non-OS standard text input boxes (a lot of them do, i.e. JUCE-based plugins), that would not work.
|
|
|
05-25-2020, 04:44 AM
|
#19
|
Human being with feelings
Join Date: May 2017
Posts: 125
|
Quote:
Originally Posted by EvilDragon
I guess so, but it still wouldn't be an universal solution - again as mentioned if the plugin uses non-OS standard text input boxes (a lot of them do, i.e. JUCE-based plugins), that would not work.
|
Basically JUCE works fine. I'm currently working on a midi plugin for classical music. Only for my purposes, not as a business.
As a punishment for your false and unaudited claims() I'm telling you a joke
-----------------
What do rock music fans say, at their own party, when they run out of alcohol? - Turn off the shitty music. 🤣😂🤣😂🤣😂
----------------
I don't want anything extraordinary here, just the opposite. I want the standard, an expected behavior.
Question: What happens if you put your focus on an input field on your Surface Tablet? The on-screen keyboard opens and you can also enter spaces. And that's exactly how every app has to behave, including Reaper, otherwise it's just wrong.
|
|
|
05-25-2020, 07:06 AM
|
#20
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
|
You're right, JUCE plugins are working fine, but VSTGUI based ones are not (i.e. Surge, Largo...)
|
|
|
05-25-2020, 08:09 AM
|
#21
|
Human being with feelings
Join Date: May 2017
Posts: 125
|
I don't know any of them. Steinbergs Halion (VSTGUI based) works fine. It has nothing to do with the chosen GUI, only with the implementation. And if it doesn't work, the implementation is faulty.
|
|
|
05-25-2020, 02:13 PM
|
#22
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
|
Well for Surge itself you can check the source code, it's on Github, it uses straight VSTGUI widget for text input, and space is not working there. So Halion might be doing something non-standard even if they're using their own UI toolkit. How typically Steinberg.
EDIT: Actually no. I do have Halion 6 here, typing in the multi program text field (top left below Halion 6 logo), space is not working at all. It does work in their browser but that is a separate modeless dialog that seems to do something else. So, it's inconsistently done across the board.
EDIT #2: Found a bunch of other places where space is not working for text input in Halion 6, like any place where you can type in a value or rename things (like layer names in the mixer, pan value in the mixer, velocity/note values in mapping editor...), space purely doesn't work. So it seems like the patch browser filter field is the only place where space seems to work, so far.
Last edited by EvilDragon; 05-25-2020 at 02:24 PM.
|
|
|
05-25-2020, 11:15 PM
|
#23
|
Human being with feelings
Join Date: May 2017
Posts: 125
|
Quote:
Originally Posted by EvilDragon
Well for Surge itself you can check the source code, it's on Github, it uses straight VSTGUI widget for text input
|
I remember it. It was smaller than a postage stamp on my screen. And so ugly. Jesus was is so ugly. That's crime against VST plugins. But was there a input field for the preset search?! Maybe it is functionally great, but so ugly. Whoever uses that also drowns puppies.A bad example of open source for me.
As I said, Halion6 works great. I used it a lot. And why should I enter a space in a pan input field? That is deliberately suppressed. It's called text validation.
This leads to nothing. We are spinning in a circle. Everything is said. Was my last comment on this.
|
|
|
05-26-2020, 12:18 AM
|
#24
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
|
Wow you can be a moron, and also totally not up to date on the facts. It now has a fully scalable vector-based UI with arbitrary zoom levels. It's been developed for 2 years since it's been open sourced. It also has skin engine in developent, along with a dark skin.
https://i.imgur.com/DVg19Ht.png
It's absolutely one of the better examples of open source, considering everything that was added and fixed in the past 2 years.
Last edited by EvilDragon; 05-26-2020 at 12:25 AM.
|
|
|
05-26-2020, 12:21 AM
|
#25
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
|
Quote:
Originally Posted by Eisenspalter
As I said, Halion6 works great. I used it a lot. And why should I enter a space in a pan input field? That is deliberately suppressed. It's called text validation.
|
It's not deliberately suppressed, it's not text validation, because shift+space works in all those fields! It's a VSTGUI issue (since apparently JUCE works just fine with spacebar in Reaper, so it's possible to do it right on the UI framework side of things).
You also cannot use space when naming layers in Halion (which is something that you cannot say you would never use), but shift+space works. So, better get your facts straight.
|
|
|
05-26-2020, 01:55 AM
|
#26
|
Human being with feelings
Join Date: May 2017
Posts: 125
|
Quote:
Originally Posted by EvilDragon
It's not deliberately suppressed, it's not text validation, because shift+space works in all those fields
|
shift+space are you kidding me. You still testing in Reaper and not in another DAW. Dude, I'm speechless....
|
|
|
06-17-2020, 08:57 AM
|
#27
|
Human being with feelings
Join Date: Sep 2019
Posts: 24
|
Quote:
Originally Posted by Justin
You can enable “send all keyboard input to plug-in” for that plug-in and that will likely change the behavior to your liking...
|
Justin - yeah this (or shift space) is what we've been pointing windows surge users towards. Thank you.
A thought: Is there some way in the VST3 API that we can tell Reaper our synth wants this on by default to avoid the toggling? Either something I can message to your HostContext or some question you ask of the VST3 I can respond to in reaper or some other approach? I'd be happy to add that so surge defaulted into this mode.
(I've also figured out why JUCE works and VSTGUI doesn't. Short version is JUCE doesn't use windows controls and messes around with the content of the message queue using ::PeekMessage and a rewrite. But that's a separate issue).
Thanks!
|
|
|
06-17-2020, 10:06 AM
|
#28
|
Human being with feelings
Join Date: May 2017
Posts: 125
|
Quote:
Originally Posted by baconpaul
(I've also figured out why JUCE works and VSTGUI doesn't. Short version is JUCE doesn't use windows controls and messes around with the content of the message queue using ::PeekMessage and a rewrite. But that's a separate issue).
Thanks!
|
That's wrong. Basically, VSTGUI works as expected. This can be easily checked. Take a Surface tablet without an external keyboard. Go to an input field of your plugin and wait if the on-screen keyboard pops up. If not something has been incorrectly implemented. It's a bug.
|
|
|
06-17-2020, 10:19 AM
|
#29
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
|
It's not being incorrectly implemented, it's being implemented in a different way in JUCE. Which works fine in Reaper and all other hosts. It doesn't care about the touch keyboard for now, but that's not to say that they couldn't do something about it in an update. It's not like Surface users without a keyboard are the primary userbase for DAW production and so on.
However, I suppose Justin could give us an option to just have Send all keyboard input to plugin (when plugin window focused) enabled all the time, instead of requiring us to set this option for each and every plugin we have an issue with.
I also do wonder, why is Reaper so eager to steal the spacebar from the plugin? What if Space is NOT assigned to transport play?
(EDIT: When a different key is assigned to transport play, say Enter, then using Space in plugins works just fine! But curiously - Enter then also works in plugin typein fields! So looks like there's some hard-coded relationship between space and Reaper stealing it at all times...)
|
|
|
06-17-2020, 10:26 AM
|
#30
|
Human being with feelings
Join Date: May 2009
Posts: 29,260
|
Quote:
Originally Posted by EvilDragon
It's not like Surface users without a keyboard are the primary userbase for DAW production and so on.
|
Probably not. When I use my surface w/Reaper I always have the keyboard - that said, it should trigger the on-screen keyboard for consistency in general.... if that is what we're talking about notwithstanding all the posts above I didn't read.
__________________
Music is what feelings sound like.
|
|
|
06-17-2020, 10:34 AM
|
#31
|
Human being with feelings
Join Date: Sep 2019
Posts: 24
|
Quote:
Originally Posted by Eisenspalter
That's wrong.
|
Oooh good to know. Curious which part was wrong? I had both the vstgui and JUCE code open on my screen when I wrote that statement, staring at the event loop where they did what I said, but wondering what you saw that makes you think otherwise? If you have particular file and line numbers it would be super helpful!
Thanks
|
|
|
06-17-2020, 11:12 AM
|
#32
|
Human being with feelings
Join Date: Sep 2019
Posts: 24
|
Quote:
Originally Posted by EvilDragon
(EDIT: When a different key is assigned to transport play, say Enter, then using Space in plugins works just fine! But curiously - Enter then also works in plugin typein fields! So looks like there's some hard-coded relationship between space and Reaper stealing it at all times...)
|
yeah something about space indeed. I rebound to T and could get the value. And what's happening is something is eating the WM_KEYDOWN when you press space and are focused on a text control. Presumably there is code inside Reaper somewhere which does something when it reparents the plugin window that looks roughly like 'reset window proc; and give it events I don't consume". I'm not sure why the Reaper proc beats the vstgui proc to the event but I don't have the reaper code so hard to say.
Anyway when ran in a debugger VSTGUI doesn't even get the WM_KEYDOWN or WM_CHAR event for space.
This also potentially explains why JUCE works since it is not a win control, it's a hand coded, control, and it does an explicit Peek and remove. My theory is that whatever eats the event before me in Reaper gets its event eaten by JUCE by that Peek before the REAPER event loop.
Anyway maybe it would be nice if reaper didn't do this but they have an option to not, just it isn't sticky or togglable. So perhaps it would be nice if I could advertise to reaper to put itself in that mode, either permanently or transiently from within my vst3? (in the surge case for instance i could trigger it when i show the store dialog)
But right now nothing I can do to change surge so it would work normally.
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 02:52 AM.
|