Add Key Commands to control Window focus (Metagrid users you want this)

The Key Commands’ Focus section needs a bunch of additional commands to control the focus to specific windows. Things like:
Set Focus to Project WIndow
Set Focus to MixConsole 2
Set Focus to Key Edit window or to next Key Edit window

Currently there are Shortcut Keys/Key Commands which only operate correctly if certain types of windows (Project, Mixconsole…) have the current focus. If a ‘wrong’ window has focus the command has no effect. This forces us to use the mouse to set the focus (and curse when we forget to set focus) beforehand.

If we had Key Commands to set the specific focus it would be easy to create macros that ensured the focus was correctly set before executing a command.

This limitation within Cubase also inhibits what can be done with 3rd party tools like Metagrid (quickly growing in popularity within the Cubase community - hint, hint).

Sidebar: I’ve never understood why Cubase doesn’t include KCs for everything that Cubase can do (example: Save Track Preset - no KC I can find).

Yes please.

Not just for Metagrid, but great to have in Cubase when working with more than one screen.
An older version of Metagrid was capable of locking itself to a application, e.g. Wavelab while working in Cubase one could start/stop WLab
via Metagrid even thought the focus was on Cubase. Unfortunately that functionality got lost(: To have similar thing on key command level would be great.

Cheers R

Remote devices do not have that limitation. In my opinion, sending commands to windows that are not visible, or not frontmost should remain the domain of remote devices, except in certain cases, such as File>Save and other global type commands.

In regard to metagrid, in that other thread there does not appear to be a clear understanding of how it works. Is it MIDI? Keystrokes? By what method does it determine which window it is sending to? If Metagrid can’t send a command to a particular window, how is it up to the SB team to sort that out?

I say this, because I use autohotkey, which reveals that it is indeed possible to specify which window a command should go to, to exclude windows by filtering various parameters, etc.

Metagrid while it communicates with Cubase via the Remote Devices (and thus midi), it functions more like a huge computer keyboard with the ability to have an unlimited (?) number of keys/buttons. When you create a new button you can set it to execute one or more Cubase Key Commands. It will execute Key Commands that have keystrokes assigned to them and also those that don’t. But in every case it behaves just like typing one or more assigned keys on your computer keyboard. It apparently has no knowledge about what window currently has focus (although it does know what program has focus). It issues commands in the context of the currently focused window. If you assigned a button to the ‘close’ command, that button will behave just like ctrl+w. If the current focus is the Project Window it will close the whole Project. If the focus is any other window, then that window would close.

When you add a command to a Metagrid button it opens a list to choose from that mirrors what you see in Cubase’s Key Command window (including any Cubase Macros, Logical Editor Presets etc. you’ve created). There are some new features recently added that I haven’t explored yet.

That said even if Metagrid did not exist there is still a problem in how regular old Key Command behavior is dependent on which window has focus. Pretty much every day I’ll type a keystroke, wait a bit and then mutter, “Why didn’t that do whatever… Oh the focus is on the Mixconsole.” Grab mouse, click, redo keystroke - gets old. This is the fundamental problem and it is all internally contained within Cubase.

Metagrid comes into play mostly because it shines a big spotlight on this limitation.

When using a computer keyboard to issue Key Commands there is an upper boundary on the total number of keystrokes you can use. At some point it becomes too many to remember, so we only use a subset of the available commands. With Metagrid the problem of remembering keystrokes disappears. I could assign every Key Command that exists to its own button. Each button clearly labeled and color coded. Because I can now readily access a much larger number of commands, the focus issue is more apparent just because of the increased number of commands in use.

Nope you can still lock it to a program - I’m doing it right now (with the latest version). But the only programs you can lock it to are some DAWS which are listed in their documentation. Cubase is one of those supported for this. Just have it open to Cubase and double click the WiFi button (why that?).

Thats not up to the SB team. The issue with Steinberg should be focus. Other than the functions to open/close the 3 mix consoles which then give automatic focus, and the Windows KC ctr+tab that cycles through the windows, there is no way to navigate or select different Cubase windows. Cycling through is not a good way. Obviously clicking on the Cubase window is not a good way. Once there is multiple KC’s for focusing different Cubase windows, Metagrid would use the same KC’s. I think this is what the OP really wanted in the other thread.

Regarding Metagrids shortcuts, there is 2 separate ways. When you are in the Metagrid Action Queue screen…

  1. Keyboard Shortcuts. In Metagrid, just assign whatever custom or factory KC you wish for whatever KC you select just like on your keyboard. Now instead of pressing ctr+Z on the keyboard for undo, you have an “undo” button showing whatever Cubase icon and colors you wish.

  2. Application Specific Command. This would be similar to the list of Cubase Key commands, but also adds Metagrid LE Macros, (cc commands thanks to Jononotbono) Metagrid Scenes, (very useful for anyone dealing with large number of tracks) and Megatrid user Macros. This is why I also gave the link to VI control since there seem to be a lot of film composers who not only need Cubase Key Commands on the iPad, but also a quick way to select a orchestral track when dealing with hundreds of Cubase tracks. Add in the 210 possible user macros created by Jono, and workflow becomes more efficient.

Also in the Action Queue screen there is midi messages. In midi messages there is Note, (midi notes) CC , (midi 1-127 plus select which channel) and PC The problem is I have never messed with this stuff. :blush:

If there is a secret Cubase CC to focus each different Cubase window such as project page, midi key edit, midi drum edit, sample editor etc, please let me know! We have been begging for this for years, and as more users use multiple screens/larger screens more Cubase windows plus Key Commands, it becomes a larger mess.

PS IMO, Paying $14 for the Metagrid app, assuming you have a iPad, is a fantastic enhancement. Unfortunately, what I think the OP wanted in the other thread simply is not possible, until there are better focus options in Cubase.

Thanks for the great explanation, raino. And I agree with you 100% about the key command stuff.

But in the other thread, the Metagrid people were cited as saying it uses the generic remote and midi. Is that the case? If it is, the focus problem shouldn’t be there for commands that are sent to the remote from the iOS device as opposed to those sent as keystrokes.

My FR for Key Commands was to have them organized by category such that you could have ctrl+k do one thing in the mixer, and another the editor, and have also a global set that works without requiring actual keyboard focus on a window, and to be able to freely set particular commands to be global. This would solve the problems you describe. Why not dream big. :wink:

Hi all

Not sure about the details, but a key command for window focus would open a heap of possibilities for macros so I’m all for it.

Best Regards, Dave

Yes that’s true. Metagrid puts a server on your computer & it talks to both the iPad & Cubase via a virtual midi cable.

From the manual

App-specific commands are handled by dedicated plugins, devices or keybiding files depending on
your DAW application. For example, in Logic it is a dedicated plugin bundle file, in Cubase - a Generic
Remote device. However, in all cases Metagrid sends MIDI CC messages to trigger them through
Metaserver dedicated MIDI ports. Each time you press a button with a app-specific command, your
DAW is responding to a MIDI CC command received on the MIDI port available through Metaserver.
This way Metagrid can control Cubase and DP opened on the same computer without any routing issues.
Additionally, you can use Metaserver’s MIDI port to send some generic MIDI messages to the
specified DAW.

This is what my Generic Remote looks like for a Metagrid button that toggles ‘cycle’

Notice the manual refers to “app-specific commands” which are only available for a handful of DAWS. In Cubase’s case those commands consist of every item in the Key Command Dialog one-to-one. But that’s not the only way MG communicates with programs. Entirely outside the Generic Remote it can send text and keystrokes like you were typing them. While I haven’t tried it, I should be able to send the text “g” to Zoom Out and not use the Generic Remote with the same end result as using the Generic Remote and the app specific command. This also lets MG communicate with programs like Word, Chrome, etc.

And it can also send out raw midi messages. These are delivered via a second virtual midi cable that does not go through the Generic Remote.

Finally Metagrid doesn’t introduce any additional focus issues outside those encountered when using keystrokes in their normal manner. I want to put up a Metagrid-free post looking at how focus & computer keyboard input interact. But this has already made me think too much…so later.

Do the commands in your jpg work regardless of keyboard focus?

I just am pointing out the misunderstanding. If MG is sending midi to a Generic Remote, there is no focus problem. Window and keyboard focus are irrelevant.

One must deduce from all this that Metagrid is sending keystrokes in cases where focus is a problem, and the solution presumably would be to have MG send the equivalent command via midi to the generic remote instead.

But I think the misunderstanding is yours Steve. Metagrid is sending MIDI commands - I can see them in Cubase, and Metagrid have confirmed it to me.

Also, Cubase IC Pro has exactly the same issue and that’s not using key commands either.

I don’t know how your solution works but as you can see I’m not the only one reporting this issue with Metagrid, etc.

So there certainly is a “focus problem”.

I wish I could test it with an iOS device. But my thinking is that if something comes in on a MIDI port routed to the GR, it doesn’t matter what kind of device is sending it as far as the result goes, so I tested a couple scenarios. Those worked regardless of which monitor the mixer was on, or which window had keyboard focus, or was frontmost.

I read raino’s explanation, and manual citation, and it certainly sounds like it should work. The transport commands in his jpg are global commands, so they’re not good ‘test subjects’

Could you possibly post a pic showing the same thing as raino’s, but with commands in the lower pane that are “focus-sensitive”? Or just tell me what commands are problematic this way?

I was going to ask the OP for a known example that we can look at, but you beat me to it. :confused:

For some commands it is reasonable that the current focus gets taken into account. For example if I have both the Project Window and the Key Editor open. Then I type “4” which selects the Glue Tool - does the tool change in the Project Window, the Key Editor or both?

The way it works now is if the Key Ed has focus then its tool changes. But if the Key Ed does not have focus then the tool will change in the Project Window. This occurs not only if the Project window has focus but also if another window such as the Mixconsole or a VSTi has focus. So when there is ambiguity in how the command should work Cubase uses focus to resolve that ambiguity. That all kind of makes sense, except in most cases we can only set focus using the mouse (ugh).

If Cubase had a set of window focus commands I could write a couple of (faux) macros like:

set focus keyeditor

set focus ProjectWin

Now those two macros actions are not ambiguous and I can select the glue tool for a specific window without any risk of needing to use the mouse :astonished:

In Metagrid I could then create a button to do the same thing for the Key Ed in two ways.

  1. Have its Action Queue run my macros.
  2. Have its Action Queue run these commands
    set focus keyeditor

So anytime a command could be applied in multiple windows Cubase uses focus to resolve the ambiguity between which window to apply the command to. Having focus commands would let us automate focus selection.

To the OP can you provide an example where you need to set the focus with a mouse even though there is only one window where the command(s) could be applied?

Only the window that’s frontmost, what possible need would there be for it to be otherwise?

On a single monitor because of windows overlapping you do usually have the intended window at the front. But with multiple monitors each monitor will have one window in the front. But only one of those front windows will be the one with the focus. So it is easy to set the tool for the window which has the computer’s focus but not the window which I’m focused on & want to change the tool on.

Plus always on top windows will be in front but may or may not have focus. In the middle of a Project I’ll often have the Project Notepad open with a to-do list. Cubase seems to set the focus there out of pure meaness at times.
Me thinking, “let me play that back”
Hits spacebar - nothing plays
“humm, did I forget to stop playback the last time & I only just stopped it now?”
hits spacebar again - still nothing plays
Cursing follows as I realize I now have a couple of unwanted spaces in the Notepad text.

Only the window that’s frontmost, what possible need would there be for it to be otherwise?

Just in case raino didn’t explain it best for you, please let me know which one is focused here. :mrgreen:

(this is with 3 ultra-wides)

Metagrid has a MIXER view pre-installed. None of those work unless I first select the Mixer. “View Inserts”, “View Sends” for example. They all work fine if I first focus the F3 mixer window on monitor 2 but do nothing if monitor 1 is focused (which has no mixer anywhere). The same commands in Cubase IC Pro also don’t work (& do work) in the same scenarios. So it’s not a Metagrid issue.

For anyone reading this interesting conversation, which caught my attention on a dull day as I grappled with AHK syntax, Metagrid can’t force focus as they say. However Stream Deck ca. Stream deck will trigger an ahk command that in turn can, say, set focus on the project window, then show channels with data only. (Do this normally in the mixer window and all your mixer channels will disappear.)
This has resolved a frustration lasting years. Sadly Metagrid isn’t the answer this time.

Metagrid is abiding by the exact same focus restrictions as Key Commands. If a Key Command can’t execute because the wrong Window has focus you will run into the same problem when trying to have Metagrid do the same task and vice-a-versa.

Was really hoping C10 would bring some new focusing capability to Cubase. It would open a whole bunch of doors.

T-bag - this is news to me and might make me want to buy a Stream Deck. Is there some tuturial about how Stream Deck could specifically force focus on a window ?