# Just got Keyboard Maestro...what should I do with it?



## Kent

Basically every composer I've ever done any work for in LA uses Keyboard Maestro, so I finally decided to get it myself.

Im interested to know what you all use macros for (with KM or any other macro program) to help speed up your workflow!


----------



## Jdiggity1

I use it for batch editing samples in pro tools. For instance you can make it tab to transient, go back a couple ticks, split clip, go forward a couple ticks, add fade in, and repeat that process 100 times.
I use it for tidying up clips on a timeline too, deleting the silence between clips but then adding in a custom amount of silence so they are all spaced equally.
Or you can be fancy and set up a plugin window like X-form and use the cursor location command to "click" a button after selecting a new clip and batch run plugin processes.

None of these are very 'fun' tasks, granted, but can be a big time saver if locked into using pro tools or another program that doesn't handle batch tasks very elegantly. I can just hit a command and let it do its thing for 20 minutes before i set it up for the next one.


----------



## lumcas

I'm using it in post - setting up a hot key for the RX de-click module was a cool idea...

Time saved so far: 27 hours

I set up another macro for dynamic auto-aligning of audio tracks (boom-lavs) but I don't need that one anymore since I bought auto-align post plug-in...

I think you can come up with various advanced macros but I am really not an expert.... BTW, can't you just ask your fellow composers what do they use it for?


----------



## Kent

lumcas said:


> I think you can come up with various advanced macros but I am really not an expert.... BTW, can't you just ask your fellow composers what do they use it for?


Isn't that what I'm doing? 

These are great so far!


----------



## bvaughn0402

Would anyone be willing to share a detailed example of something simple (and applicable to various DAWs) of using Keyboard Maestro? I'd be interested in how it is used ... like for instance if you use it to Normalize a track, how do you get it to wait until that is done before doing another command?


----------



## benmrx

bvaughn0402 said:


> Would anyone be willing to share a detailed example of something simple (and applicable to various DAWs) of using Keyboard Maestro? I'd be interested in how it is used ... like for instance if you use it to Normalize a track, how do you get it to wait until that is done before doing another command?



There's a number of ways you could achieve this. Looking for pixel values, an image, window name, etc.. There are lots of ways to 'pause' a macro when needed. For example I have a ton of KM macros for use with Pro Tools Audiosuite, where it waits for the progress bar to finish before moving on with the macro.

Another fantastic option with KM are the 'prompt for user input' options. I use these all the time.

FWIW, this video shows the largest/most complex macro I've created using KM as an 'assistant' of sorts when creating templates using VEPro where KM does 90% of the dreaded, dirty, monotonous, boring as hell work involved.


----------



## Babe

One example, I programmed Ctrl-uparrow, downarrow to move a automation node by one. I chose the node, click Ctrl-arrow and the mouse moves to the value box and changes by one. The window has to be in the vicinity of where you programmed the macro. I also have macros to shorten/lengthen notes by so many ticks. Instant legato.


----------



## martincraneV

I made a startup macro that connects to my remote midi MTC, opens cubase and connects my remote controllers, opens VEP and opens my template, logs into windows server and opens VEP, etc. It saves me 1 minute of minutia every morning when I start the day (I turn all my stuff off when I’m not at the studio to save power). And it feels so good!!

I found giving a second of pause between each step made the macros that interact with other software GUI stable. Also, the “zoom front window” feature… if you maximize a window full screen, the options and clickable menus in that window will always occupy the same pixel location on the screen no matter where you’ve moved them.


----------



## petejonesmusic

Keyboard Maestro is great. I've recently set up some macros to access the 'hide group' shortcuts in Logic, which enables you to have a 'cubase' like system where you can show, say, just the String tracks in your template (or Brass or whatever) with the click of a button. Very handy in a big template.


----------



## OleJoergensen

benmrx said:


> There's a number of ways you could achieve this. Looking for pixel values, an image, window name, etc.. There are lots of ways to 'pause' a macro when needed. For example I have a ton of KM macros for use with Pro Tools Audiosuite, where it waits for the progress bar to finish before moving on with the macro.
> 
> Another fantastic option with KM are the 'prompt for user input' options. I use these all the time.
> 
> FWIW, this video shows the largest/most complex macro I've created using KM as an 'assistant' of sorts when creating templates using VEPro where KM does 90% of the dreaded, dirty, monotonous, boring as hell work involved.



I think that is brilliant!
For the moment I just use KM for putting my folders and open programs in order on my screen )


----------



## OleJoergensen

petejonesmusic said:


> Keyboard Maestro is great. I've recently set up some macros to access the 'hide group' shortcuts in Logic, which enables you to have a 'cubase' like system where you can show, say, just the String tracks in your template (or Brass or whatever) with the click of a button. Very handy in a big template.


Can I ask how you did that?


----------



## petejonesmusic

OleJoergensen said:


> Can I ask how you did that?


You just set up shortcuts for the different 'hide group' options in key commands for logic, and then with keyboard maestro, you have it set to hide all the other groups (it fires off multiple different key commands to hide all the other groups apart from the one you want to see). When you're done you hit the keycommand again and it 'unhides' the other groups. Or you can set another option in KM to 'unhide all' to get everything back.


----------



## OleJoergensen

Thank you Pete.


----------



## petejonesmusic

OleJoergensen said:


> Thank you Pete.


No problems - I can send a screen grab if you like.


----------



## OleJoergensen

petejonesmusic said:


> No problems - I can send a screen grab if you like.


Thank you! It will be great


----------



## petejonesmusic

OleJoergensen said:


> Thank you! It will be great


https://www.dropbox.com/s/boc85h03vq059pu/Screen Shot 2019-05-07 at 21.01.43.png?dl=0

Like this kind of thing (add as many groups as you have etc). the keystrokes KM is firing are my shortcuts for 'hide group 1, 2, 3' etc etc. That make sense? I can do a little video if thats any use. Another handy one in logic is 'Quantise max note lengths to 16th' then 'repeat 3 times' for an easy way to get a little build.


----------



## OleJoergensen

Thank you Pete, I will try it out.


----------



## Land of Missing Parts

Logic Users--

Has anyone gotten Keyboard Maestro to move or resize a Kontakt window? I'm unable to get KM to recognize it as the active/front window.


----------



## Kent

Land of Missing Parts said:


> Logic Users--
> 
> Has anyone gotten Keyboard Maestro to move or resize a Kontakt window? I'm unable to get KM to recognize it as the active/front window.


Are you talking about Standalone or Plug-in?


----------



## Land of Missing Parts

kmaster said:


> Are you talking about Standalone or Plug-in?


As a plugin instance hosted in Logic.

I'm using KM to automate mouse clicks on the Kontakt window, but it only works when I have the window in the exact position on my screen. I'd like to create a shortcut that will place it where it needs to be automatically, but I think KM isn't recognizing the window, and instead moves the Logic windows, even when the Kontakt window is at the front and currently selected.

EDIT: I figured out a workaround with the "click at found image" action, though I'd rather use the "resize a window" action and have KM recognize the Kontakt window.


----------



## martincraneV

I've recently made a suite of macros that help w file management... they keep track of timecode, cut names, versions, date etc. So you can set up a project name scheme at the start of a project then press a button and it updates any part of the file name and archives the old file in an archive folder. It's been so helpful keeping the project directories clean. Also cuts down on errors. For example, it automatically goes into cubase and grabs the timecode when updating timecode info in the file name. 

Same suite can double check a delivery folder to make sure all files have the current date and cut. It creates a report with error codes (if all's good then it's just a list of files in a txt) that I include when I send off a batch.

others are
- a macro that dims my 2 working monitors so i can focus on the video monitor.

- a macro that automatically reads the new timecodes of a conform, makes copies of all the old sessions with the new cut name, new timecode info, and a conform prefix.

- a macro that automatically syncs LiveMTC to the correct timecode. 

- a macro that creates a nested folder hierarchy for a new project.


I'm in the process of refactoring everything for public use and was planning to post when I do. I know rudimentary javascript. The javascript for automation integration in KM makes it very powerful, and you can do a lot with basic arrays and regex. Being able to trigger macros w midi can also integrate it with a lemur or OSC controller as well as any computer connected via network midi.


----------



## petejonesmusic

martincraneV said:


> I've recently made a suite of macros that help w file management... they keep track of timecode, cut names, versions, date etc. So you can set up a project name scheme at the start of a project then press a button and it updates any part of the file name and archives the old file in an archive folder. It's been so helpful keeping the project directories clean. Also cuts down on errors. For example, it automatically goes into cubase and grabs the timecode when updating timecode info in the file name.
> 
> Same suite can double check a delivery folder to make sure all files have the current date and cut. It creates a report with error codes (if all's good then it's just a list of files in a txt) that I include when I send off a batch.
> 
> others are
> - a macro that dims my 2 working monitors so i can focus on the video monitor.
> 
> - a macro that automatically reads the new timecodes of a conform, makes copies of all the old sessions with the new cut name, new timecode info, and a conform prefix.
> 
> - a macro that automatically syncs LiveMTC to the correct timecode.
> 
> - a macro that creates a nested folder hierarchy for a new project.
> 
> 
> I'm in the process of refactoring everything for public use and was planning to post when I do. I know rudimentary javascript. The javascript for automation integration in KM makes it very powerful, and you can do a lot with basic arrays and regex. Being able to trigger macros w midi can also integrate it with a lemur or OSC controller as well as any computer connected via network midi.


Sounds fantastic! I do some rudimentary file name stuff with KM - naming of stems and file names but your method sounds much more advanced and useful. Looking forward to seeing what you've done when you get there!


----------



## MLP Aarts

I programmed a pop up window to search for plugins in Logic Pro, Google style. No more scrolling through submenus searching for a plugin, just type in part of the name and it's inserted. Saves me an enormous amount of time.


----------



## clisma

Sounds amazing, but how does one "search" for plugins in Logic and then insert it? I've been after this for a while...


----------



## MLP Aarts

clisma said:


> Sounds amazing, but how does one "search" for plugins in Logic and then insert it? I've been after this for a while...



First, it scans the plugin folder and scans all the plugins and extracts the name from it and builds a database. The search uses this database, and then performs a few mouse clicks to select it from a menu.


----------



## clisma

I see, thanks for clarifying. Sounds rather complex as a macro. Are you using “found image” to select your chosen plugin from the list?


----------



## esaruoho

MLP Aarts said:


> First, it scans the plugin folder and scans all the plugins and extracts the name from it and builds a database. The search uses this database, and then performs a few mouse clicks to select it from a menu.



I'd be really interested in seeing how you put this together with Keyboard Maestro. It sounds like this could be coupled with shortcuts that then load a specific plugin to a specific slot. That'd be amazing.



Ok, I've just recently gotten into Keyboard Maestro. Before that, I've been scripting shortcuts + functions into Renoise for about a decade. Keyboard Maestro is amazing.

Here's what I have thus far, after having looked at various tutorials and tried to glean ideas from blog posts etc.

1. Two macros for extra buttons on my mouse -> one boots up Renoise, another one boots up Logic. I click on one of the buttons, and whichever app I'm in, I'm suddenly in Renoise. If I press the mouse button again, I'm back to the previous app. Reason? during live performances, I use a mixture of Ableton Live, Renoise and Pure Data, and cmd-tabbing around gets really confusing after a while. Like, I just want to get to a specific app, by pressing one button, and have it work every time. It's currently set to Logic, but I'll probably disable it and set it to Ableton Live.
2. This one I found in a IMGUR link where people were listing what they have scripted into Logic: "Insert Note at Mouse Position". So I'll just hover mouse on the piano roll and hit ' and a note appears. That's much nicer than hovering mouse on a grid, pressing cmd down, trying to make sure that all templates are set to cmd -> pencil, and then clicking left mouse button.
3. Two (but soon to be more) shortcuts that will add either a Pro-Q (Shift-1) or a EQ8 (Shift-2) plugin into the selected track in Ableton Live. Just magic. I have a similar setup with Renoise with scripting, where let's say I type in Shift-E, Shift-R, Shift-V, Shift-D, Shift-A, Shift-W and I get (in order) Schaack Transient Shaper, Valhalla Room, TAL Reverb4, Valhalla Shimmer, Valhalla Delay, D16 Syntorus and George Yohng's W1. It's just mad quick. So looking forward to getting this stuff going with Ableton Live and specific plugins, too. I'm sure I'll get up to around 6 or 7 "go-to" AU plugins for Live and will be very glad when they're there. Maybe some for "Chord" and "Arpeggiator" too on the MIDI side? Let's see. -> The way these work is simple: You do a CMD-F to search, then input a specifically named plugin into the search bar, then press enter twice (select, load)and esc once (wipes the search bar).
4. combinations: Freeze & Flatten - this one takes the session midi clip or audio clip, freezes it, then waits for a while, and flattens it. (Ableton Live) so for me it's alt-f (freeze, set on macOS Keyboard settings) to shift-alt-f (flatten, set on macOS Keyboard Settings)- triggered by shift-cmd-f (Keyboard Maestro)
5. Crop Clip(s) <- now this one was amazing - there's no way to create a shortcut for "Crop Clip(s)" in the context menu, with native Ableton Live or regular macOS - but it was so easy to do with Keyboard Maestro. And it just works. Magic.
6. Maximized Session View & Minimized Session View - these are mostly for doing rudimentary arrangement by duplicating Scenes. They hide the Ins/Outs and the Disk Browser. Or bring them back! Being a big fan of screensets and just getting all the frills out and focusing on what's important, I'm in heaven.

Can't wait to get more stuff. Even came across some automation macro suggestions like "when connecting to starbucks, do x y and z" or "type .work and macro triggers and prepares your work apps and sets the correct settings". so I guess eventually I'll type ".hler" and it'll boot up Renoise, Ableton Live and Pure Data, with Pure Data set to specific midi channels, audio channels and a specific patch, and hopefully similar settings for Renoise, too.

What I'd prefer to get going with Logic Pro X would be to combine various functions such as chop an audiofile into transient segments, then load them into EXS24. Or some sort of other EXS24-related things that would make it quicker to load up stuff.

I want to find out more about what people are doing, and how. Tried downloading a big ProTools Keyboard Maestro thing but didn't find much usefulness in there. Am hoping to come across others that use Logic,Renoise,Ableton Live or similar things. Just need more ideas!


----------



## martincraneV

I recently re-factored a KM program I wrote that is indispensable to my sanity day to day. It more or less handles file naming and archiving within the DAW. My file names can be 60+ characters, and I always have typos when I edit the names by hand. This thing parses the name, increments a variable, then archives the previous file in a folder in the session. I made a video of what it does if you want to check it out. Much easier to see than read.



It's working on Cubase 10, 10.5, Logic Pro X, and Ableton. I'm on Catalina. Was thinking of starting a new thread on it, but I haven't given it to anyone to test other than my systems. 

You can download the script and the install instructions on this page I made with more detailed information on it:

upVersion Info Page


Cheers,
MC


----------



## mnp.fede

martincraneV said:


> I recently re-factored a KM program I wrote that is indispensable to my sanity day to day. It more or less handles file naming and archiving within the DAW. My file names can be 60+ characters, and I always have typos when I edit the names by hand. This thing parses the name, increments a variable, then archives the previous file in a folder in the session. I made a video of what it does if you want to check it out. Much easier to see than read.
> 
> 
> 
> It's working on Cubase 10, 10.5, Logic Pro X, and Ableton. I'm on Catalina. Was thinking of starting a new thread on it, but I haven't given it to anyone to test other than my systems.
> 
> You can download the script and the install instructions on this page I made with more detailed information on it:
> 
> upVersion Info Page
> 
> 
> Cheers,
> MC



@martincraneV I sent you a PM about a bash version of your tool that I'm currently developing. Might be useful to people like me who doesn't own KM 😉


----------



## AcousTech

So much good content in this thread!

If others are interested in learning Keyboard Maestro here's pretty impressive tutorial about what it can do. Granted it is not musician focused, but the tool is amazingly powerful:









Keyboard Maestro Field Guide


Make Your Mac Dance




learn.macsparky.com


----------



## noisyneil

esaruoho said:


> What I'd prefer to get going with Logic Pro X would be to combine various functions such as chop an audiofile into transient segments, then load them into EXS24. Or some sort of other EXS24-related things that would make it quicker to load up stuff.



you may have already figured this out, but logic automates that process nicely. it's called 'convert to sampler instrument'.

as for me, i'm interested in automating some functions of UA's Console App: I'd like to be able to set cue send levels to defined values with a key press, or example. Anyone who knows about how that works, hit me!


----------

