Thanks to everyone who found my last post through Reddit! Moving forward I’ll be posting on a weekly schedule, and you can join my email list at the bottom of this page to keep up with updates.
Today I’m writing about the tool that has made the single biggest difference in my daily life as an assistant editor: automation.
Many people in post-production think of automation as unknowable programming voodoo – or a dangerous skillset that could pigeonhole them into technical roles. This is incorrect.
Over the next few posts, I want to de-mystify the process of automation and advocate for its place in the creative artist’s post-production toolkit. I’ll be speaking from my background as an offline picture assistant editor, but the principles will carry over to all facets of post.
First, let’s look at why automation is valuable.
- Have you ever spent a whole afternoon mindlessly repeating the same keystrokes?
- Have you ever stayed late at the office to slog through an endless list of preps or conforms?
- Do you get exhausted with menial technical work, leaving no energy for high-effort creative tasks?
- Have you ever had impatient producers ask why a “simple” task is taking so long?
Mastering automation will solve all of these problems (okay, maybe not that last one). Using macros, you’ll get through days of work in hours or minutes – and you may not need to be at the computer at all.
What are Macros?
Macros are small executable processes that automatically perform a series of computer actions, like keystrokes or mouse clicks. At their simplest they can run through a list of keyboard shortcuts, but they get a lot more intelligent when adding in complex functions like if/then statements and variables.
It’s sort of like programming – wait, don’t leave yet! It’s not as overwhelming as it sounds, and we’ll walk through it together.
Since macros operate at the system level, they will work with any program that uses a keyboard or mouse – Avid, Premiere, Google Sheets, even Call of Duty.
Macros are built and run with macro editing applications. I use a program called Keyboard Maestro, and will be using it for all examples on this site. (I’m not affiliated with them, but I do highly recommend them.) It runs on Mac, costs $36 USD, and has a fully-functional 30 day free trial.
If you’re on Windows, I’ve read good things about AutoHotKey – although it involves more direct scripting, and I haven’t used it myself.
Once you create a macro, you’ll trigger it with a keystroke, hardware peripheral input, or by clicking on it within the macro editing program. I use the Elgato Stream Deck (paid link) to easily deploy dozens of macros, but today’s example will be triggered by the keyboard.
This is all well and good, but what can I actually do with macros? I need examples to understand what you’re talking about. On recent jobs, I built macros to automate:
- VFX conforms. I built a macro that read a plate name, looked up the shot’s latest VFX version in our database, located it on the server, brought it into the NLE, chopped off its handles, and inserted it into the timeline with proper attributes copied over from the plate – all with a single keystroke.
- Dailies ingest. I have a series of macros that syncs, names, and corrects a whole day of footage in minutes. (I described this manual process in my last post, focused on Premiere.)
- FCPX timeline migration. I created a Godzilla-sized macro that completely rebuilt a 30 minute Final Cut timeline in Adobe Premiere while I ate dinner.
I’ll describe all of these processes in-detail in future posts, but for now we’re going to start simple. Very simple.
Build a Macro that Types the Current Date
As an assistant editor, I often must type in the current date in YYYYMMDD format (whenever creating a new sequence, backup, or export). I may do this five times on any given day, so I’ve set my tilde key (~) to automatically do this for me. It’s a small luxury that saves me a few hundred keystrokes per week. Plus, I never have to think about what day it is.
Getting Started with Keyboard Maestro
Install the Keyboard Maestro 30-day free trial from their website. It will also install a background task called Keyboard Maestro Engine, which is the program that executes macros when the primary program is closed. On first open Keyboard Maestro will require you to grant security permissions like Automation and Screen Recording. More info can be found on their official installation instructions.
Once it’s installed, pop that app open and let’s have a look inside. The Keyboard Maestro window is divided into panes. On the left is the Groups pane, which are folders of macros that can be enabled and disabled together. Today we’ll be working in the Global Macros group, but in the future you’ll create others to correspond with specific tasks, programs, and jobs.
Create Your First Macro
On the window’s bottom row, press the middle “+” button to create a new macro within the Global Macro Group. Name it something like “Date yyyyMMdd.”
Press the New Trigger button, and select Hot Key Trigger. Choose a rarely-used key since you’re overwriting its normal function. For me, that’s the tilde (~) key.
Next, hit New action. Two columns will pop up with hundreds of available macro actions. Over time you’ll become familiar with these actions, but for now we just want one. Use the search field to find Insert Text by Typing. Double-click or drag to insert it into your new macro.
Now, whenever you hit the tilde key on your computer, Keyboard Maestro will type whatever text you specify in this box. That could be static text (like an email signature), or it could be something more complex using tokens. Tokens are pieces of data taken from the current system state, or they can be user-specified custom variables – wait, stay with me!
Format the Date
For this macro, we want a token that will insert the current date. Click on Insert Token on the right side of the text box, and select Date > Formatted (ICU) Date Time. The text box will populate with:
%ICUDateTime%EEE, MMM d, yyyy h:mm%
To break this down: %ICUDateTime% is essentially your way of telling Keyboard Maestro that you want it to output the date and time instead of a static text string. EEE, MMM, D, yyyy h:mm specifies the date/time format, which we’ll be changing . To see it in action, click on this text box and press your tilde (or other hotkey):
Too much info, right? That’s not a useful format for us in most post-production applications. Change the token to read:
Here, yyyy specifies four digits for the year. MM specifies two digits for the month, and dd specifies two digits for the day of month. (A lowercase mm would specify the minute, and uppercase DD would specify the day within the year.)
For alternate options, consult this ICU documentation grid. There are many values so you can tailor the token to suit your workflow’s naming conventions. For example, if you want to include military time, like this:
Your token should look like:
(If you’re reading this page on a mobile device, the above code block may have been broken up by a line break. There is a space between yyyyMMdd and HHmm. You should not insert a line break into Keyboard Maestro.)
Special characters like spaces, commas, and other characters will flow through into the output text as entered in the token.
This is… a bit much. Can’t I just download your macro files? When possible, I’ll be uploading my macros to this page. However, pre-made macros can only do so much. Really advanced macros will need to be tailor-made for each individual project, so I highly encourage you to follow me along and learn the ropes yourself.
Did your macro work, or did anything give you trouble? Please leave a comment with your successes and frustrations. I’ll help out however I can.
This is just scratching the surface of all that you can do with automation. In my next post I’ll guide you through a macro that uses variables to perform a repetitive action within your NLE, and we’ll eventually work our way up to intelligent decision-making macros that can do your work while you’re out for lunch. (It really is like magic.)
Subscribe to my email list below to stay updated with future posts, and leave a comment if you have any questions about automation!
Leave a Reply