Use Quickeys/Keyboard Maestro/Autohotkey to enhance Cubase


Sorry to hear that Rhino… Hope you get it sorted down the line.

In other (Mac) news, here’s an applescript to launch the last saved project. You load it into Keyboard Maestro, or use Applescript Editor to make it into a double-clickable app.

if application "Cubase 7" is running then
	tell application "Cubase 7"
		activate --bring cubase to front if it's running already, then exit script.
	end tell
else
	tell application "Cubase 7" to launch
	tell application "System Events"
		key down command --press command key
		set timer to 1 --to permit script to timeout gracefully
		repeat
			delay 1 --wait 1 second
			if (window 1 of process "Cubase 7" exists) then
				exit repeat
			end if
			set timer to timer + 1 --increment timer value
			if timer > 10 then --script will release command key after 90 seconds in case Cubase couldn't launch or something else goes wrong You can adjust this value to suit. My system has an SSD, Cubase launches in about 8 seconds.
				exit repeat
			end if
		end repeat
		key up command --release command key
		tell application "Cubase 7"
			activate --bring cubase to front
		end tell
		keystroke return
	end tell
end if

edit: (and this is assuming Cubase is not already running…)

This is the way I get Cubase to load the most recent project. It’s assuming that Cubase is already running.

Create a macro in Keyboard Maestro, add Execute AppleScript event, and fill in this code:

tell application "System Events"
	tell application process "Cubase"
		click menu item 1 of menu "Recent Projects" of menu item "Recent Projects" of menu "File" of menu bar item "File" of menu bar 1
	end tell
end tell

You can then assign it a global keyboard shortcut. I assign it Cmd+Shift+O which is Pro Tool’s open recent command.

I’d never come across AutoHotKey - it’s very useful, thanks, Steve! :smiley:

Here’s what I’ve done with it so far:

;>>>>>>>>>>> Cubase macros and key commands: <<<<<<<<<<
;<><><><><><><><><><><><><><><><><><><><><><><><><><><>

;<><><><> Functions to check for and change conditions <><><><>

focusCubase(inputKey) ;Checks if Cubase is running and brings to front.  Passes key command and exits if Cubase not found.
{
IfWinExist Cubase 7
	WinActivate
else
	{
	send %inputKey%
	exit
	}
}

focusProjectWindow() ;Brings Project Window to front.
{
IfWinExist, Cubase 7
	WinActivate
else
	return
}

focusMixer() ;Checks if Mix Console is open (opens it if not) and brings to front.
{
IfWinExist, MixConsole
	WinActivate
else
	{
	send {F3}
	WinActivate
	;msgBox Opened mixer for you
	return
	}
}

focusKeyEditor() ;Checks if Key Editor is is open (opens it if not) and brings to front.
{
IfWinExist, Cubase, Key
	{
	ControlFocus, Key, Cubase
   	;MsgBox Key Editor already open. I've brought it to the front for you.
	return
	}
else
	{
	send ^e
	ControlFocus, Key, Cubase
	;MsgBox Opened the key editor for you
	return
	}
}

;<><><><> Key commands <><><><>

; >>>>>>> Search for track in Project Window (ctrl+F)<<<<<<<<
$^f::	
inputKey = ^f
focusCubase(inputKey)
focusProjectWindow()
send %inputKey%
return

; >>>>>>> Search for channel in Mix Console (ctrl+alt+F)<<<<<<<<
$^!f::
inputKey = ^!f
focusCubase(inputKey)
focusMixer()
send ^f
;send {#}{space}
;I use the above line because I have all my VSTi outputs named with the "# " prefix to filter out all the other channels when I search - remove the semi-colon if you like this.
return

; >>>>>>> Open channel editor (alt+E)<<<<<<<<
$!e::
inputKey = !e
focusCubase(inputKey)
focusMixer()
send %inputKey%
return

; >>>>>>> Open VI editor (V)<<<<<<<<
$v::
inputKey = v
focusCubase(inputKey)
focusProjectWindow()
send %inputKey%
return

; >>>>>>> Open Key editor (ctrl+E)<<<<<<<<
$^E::
inputKey = ^E
focusCubase(inputKey)
focusProjectWindow()
focusKeyEditor()
return

Hope it’s of some use or gives some ideas to others.

I’ve been using Keyboard maestro with and X-Keys controller for a while. It greatly enhances work flow. Glad you started this thread!

-Rich

Nice addition. If you write others do share! Maybe include a description for those who aren’t (yet) fluent in codespeak…

Those look really solidly built.

In the spirit, here are a couple Keyboard Maestro macros that enable horizontal scrolling in Score Edit view via keyboard commands (or any other trigger KM can use)

You can get a demo of it at keyboardmaestro.com.

Unzip these files and import them in KM.
Scroll Score Right.kmmacros.zip (1.29 KB)
Scroll Score left.kmmacros.zip (1.29 KB)

I’ve made some improvements (changed the code block in my post above) and also commented what I’ve done better. I’ve set it up now so that the first thing that happens with any AutoHotKeys keycommand in the script is that it checks if Cubase is open and brings it to the front if it is. If Cubase isn’t running it passes the key stroke through with no action - so that key commands in other programs will do what you expect if Cubase isn’t running.

I have got separate functions for “focus project window”, “focus (or open) the mixer” and "focus (or open) the key editor so that others can easily use those as part of other macros. Hope it’s useful. BTW, I’m in no way a proper coder so what I’ve done may not be very elegant… but it does seem to work fine.

Posted By AndrewW in the thread about Pro Tools style automation trim (thanks lukasbrooklyn and Winter Rat) cubase ninja - pro tools-style trim automation macro - #37 by Tompa - Cubase - Steinberg Forums

nice!

what does the ‘$’-sign mean in the hotkey definition btw? (as in, $!e::)

thank you.

Thanks Steve, this is one of those things that never really bothered me but glad to see working better now that I see the light. This of course no longer lets the mix window toggle which is fine since command+w closes it quickly when you want it closed. It makes sense the Project window does work right because you always have to have it open unlike the Mix window, so hence the toggle state when you press the shortcut.

Where in the key commands have you assigned it to a shortcut? I know it is in the Windows Menu but it doesn’t show up in the key commands list under windows or any other place I can find.

Related it would be so helpful to have multiple project windows open so you can be in different locations for editing, this is so helpful in Logic and even better in Pyramix with an integrated window. Maybe you have found a magical way to make that happen :exclamation:

I would love to look and any and all Cubase shortcuts you have in QuicKeys as I use that all the time.

Project>Bring to Front

I mainly use Keyboard Meastro, and just use Quickeys (which I bought years and years ago) for certain window switching stuff, since Maestro can’t see Always-on-Top windows and palettes.

Here’s one I use to make the Mixconsole open if it’s closed, or to bring it to front if it’s open, rather than the simple toggle that’s native to Cubase.

The other Quickeys macros I have only work in conjunction with Keyboard Maestro.

Great thanks Project:Bring to Front very helpful no more cmd+` through windows.

Thanks for the quicKeys script, looks like the first one you posted with future proofing of Cubase 8 (unless you have a beta). What does cmd+option+a do for you in the shortcut? For me that selects all tracks (not aware of a default in Cubase for this).

Oh, I already posted it in the OP! Yes, future proofing.

cmd+option+a is assigned to Agents: Undo Visibility Change. I don’t remember why though!

Hopefully others find this useful, I have been so frustrated and missed the function Pro Tools has of Control+Shift Click on the channel you click. This lets that track become the left most fader on your control surface. Well this Quickeys action in someways is better in other ways not as nice.

The way it is better is that it works for all selected tracks even if they are not contiguous, and focuses them to the fades on your control surface.

The way it is not better is it doesn’t move the top selected tracks to the top in the Project window and it hides the non selected channel strips in MixConsole 1.

In order for this to work the best without hiding the selected channels you want to have Sync Project and Mix Console turned off (turn it on if you want to hide the other tracks in the project page as well).

This is a wonderful solution I wish I and thought about much, much earlier. I might send my PreSonus FaderPort back now that didn’t run in 64 bit mode with Cubase and just stick with the MCU (Mackie Control Universal) now that I can easily focus what I am on.

If there is a way to do this accurately with using a macro only I am all in favor please let me know. The problem I found was that you would have to write the Macro to depend on the MixConsole 1 being open or closed respectively. For me I just want it to work regardless if it is open or not.

By the way the track show hides don’t work with the other MixConsoles that I could find unless there is a preference to change this behavior. I would really like to not hide the main MixConsole 1 channel strips with this command but that is the only way I could find to pull this function off.

In this QK file control+option+command+end is “Agents: Show Only Selected Channels/Tracks” and control+option+shift+F3 is Project: “Bring to Front”. Those aren’t menu items so assign those to whatever key commands make sense and modify the last two commands accordingly.

Thanks Steve for the focus MixConsole tip that helped kick off this macro.
Cubase - Focus Control Surface on Selected Tracks.qkmx.zip (5.07 KB)
Sync_Project_and_Mix_Console.jpg

These days I am working on a Windows PC, so I don’t have quick access to the macros. I’m not sure how helpful they would be to you, anyway. Also, in Cubase 8 the mixer no longer has always-on-top, which means I would have to edit the macros to accommodate.

As far as QK and KM competing with one another, I avoided that by making sure manually that no duplicate keystrokes were assigned.

Thanks Steve, this looks like the only uploaded Keyboard Maestro macros ever posted other than the one I posted (excluding screenshots since that is more difficult to search for Google). I like the idea of how you had the macro repeat while the key was held down, smart and useful method.

I slightly modified the scroll left for the score since it depended on the inspector being closed in modern version of Cubase. I thought about updating it to be based of an image but chose not to so I just disabled your version if someone wanted to bring it back. I like how you made it scroll regardless but also work in the score. From the name I was thinking it was only for scrolling in the score. I use the magic trackpad for a lot of this but will start using these key commands more since they feel much more accurate to me then the two finger scroll.

Also added some other scroll up and down and zoom in commands to the attached six Keyboard Maestro macros. The zoom commands depend on command being part of the modifier to work. Also the reason I mapped them to Home, End, Delete and Page down is because those are what I often use as alternates to the arrow keys on a full size keyboard since it is mapped to the same shape just above the arrow keys.
Scroll and Zoom in Cubase.kmmacros.zip (73.8 KB)

Waveform Zoom
Here is zooming the waveform using Keyboard Maestro for the Mac.

There are six macros
-Two of them move your cursor and zooms in and out smoothly.
-Two of them jump in increments and return your cursor to the previous location
-And finally two of them jump to max and normal wave form zoom sizes.

I have them mapped out to the home, end, delete and page down keys because they are like the arrow keys and the smooth zooming I mapped to the number pad plus and minus keys. Note you need to at least show the Status Line for this to work. You can also show the Status plus either the Overview or the Info Line but not both since it clicks relative to the window location. I have included one other example macro that works based on image, it is only slightly slower in execution but has less variables like if you show the docked racks.
Waveform Zoom.zip (130 KB)

1 Like

Hey Steve - I’m wondering if you happen to have a script for opening plugins? If not I’m willing to “hire” you to create this ($50). I’m in desperate need of this script and not rely on automation recording. Please let me know :slight_smile:

Hi @greywind,

I don’t have one, sorry.

Creating an external script for opening plugins is not something you should another pay user for, because as Cubase evolves the script would need to be updated. Individual users can’t be expected to provide that kind of support.

However, as you can see in the old thread, and in others, people are willing to share their scripts, so maybe that’s s a route you could take.

Thanks for the response! I see some AHK scripts, no KM ones… here is what I have done so far - I have recorded automation to load a specific plugin in KM, not ideal but it works. Re’ payment - I think a small sacrifice for a reliable working script will be godsend, plus I only use Cubase 11… anyway I’m glad I found this thread.