Create "Listen Keys" in Pro Tools for dubbing sessions

Hi folks.

I'm new to Keyboard Maestro, but I'm sure there's a way to do what I need...

I'm recording dubbing sessions for training purposes.
I have an OV track (noted VO here, cause I'm french :wink:). A M&E track, Music and Effects (VI here) and let's say one track I'll record on (even 16 are shown here...), VF is for "french version"

I'd like to have 3 shortcuts that define a "listen key", or, let's say, a specific configuration :

1 - pressing one key (let's say F13) will automatically Mute the VI and the BUS VX so the actor will listen to the OV only

2 - pressing another key (F14) will mute VO, VI, VF.... well... everything, and put Audio 1 track in Record Ready, so we can record the actor during playback of the video only.

3 - pressing F15 will mute the VO, unmute the VI, unmute BUS VX and REVERB AUX so we can listen to the performance with the Music and Effects track, plus reverb.

Thanks so much in advance for your advices to perform those shortcuts. :pray:

Here's a screenshot so it's easier to understand :

Welcome! I do a lot of scripting with Pro Tools. What you are looking for can be done, but with some caveats.

Here's an example of a simple macro that just clicks the mute button of an Audio Track called "VI" and an Aux track called "BUS VX"

There are some caveats:

  • All the tracks you are looking to click need to be visible on the screen when you execute the macro.
  • This macro does not detect the state of the mute on the track, so if it's already muted for some reason, it will un-mute.

You should be able to use the actions in this macro to create the other macros you want by:

  • Changing the value of the track name in the appropriate applescript action.
    (Keep in mind that the Applescript group contains the track type, ex:
    "Track Name - Audio Track "
    "Track Name - Aux Track " - note the trailing spaces!
  • Changing the variable that holds the location of the needed button in the Applescript action and click action.
  • Changing "Mute" to "Record" in the applescript where you need to click the record arm button.

Good luck!
Pro Tools Track Mute Click.kmmacros (5.3 KB)

1 Like

Hello Evan and thank you soooo much for the time you took to answer me !

I know i'm looking for something kind of tricky with these macros... :wink:
For now, i managed to do what i want, well... sort of. Still missing something.

The sessions i'm gonna work with are ALL routed and presented the same way, as they are for educational purposes. This helps... Therefore, the first 5 tracks will always be the same, at the same place, and with the mix window always open on the right screen.
I'll join a screenshot of the session, so you'll get a better view :

The macros i used are joint as files so you can see what i did (i'm a very very newbie to Keyboard Maestro... ! )

When i press F 13, i got this, only VO :

Capture d’écran 2023-09-08 à 15.45.47.png

If i want to switch to another configuration, the problem i got is that i have to press the previous config shortcut again, like an "on / off" switch, before selecting the next.

So if i want to be in Rec Ready mode, i press F13, to turn off "VO mode", then press F14, which gives me that :

Capture d’écran 2023-09-08 à 15.45.59.png

Same for playback mode, i have to press F14, then F15 and i go to Read mode, with recorded voice + VI :

Capture d’écran 2023-09-08 à 15.46.09.png

I wish there was a CLEAR ALL MUTES, as it already exists a CLEAR SOLOS under the time code window... but the Mute "led", just indicates if a track is muted, it has no action, unfortunately, if i click on it.
Same for CLEAR ALL RECORD ENABLE TRACKS... it could have solved my problems, with starting every macro with a "CLEAR CONSOLE".. (clearing all mutes,solos and rec ready tracks).

For now i'm stuck there.
It works, and it's pretty much better than muting, soloing, and record enable eache track with the mouse, but i'm sur i can go further, and juste have to click on F13,14 or 15 to directly access the mode i want.

Well, thank you soooo much if you find the solution. I really admire skilled people with coding, apple script and all those languages that are not mine. I'm just an sound engineer trying to improve his workflow, whithout have to pay a monthly subscription to Sound Flow, which, for sure, would do that easily, i guess.

Kind regards from Paris !


REC READY (Sans VF).kmmacros (5.3 KB)

VF.kmmacros (3.32 KB)

VO.kmmacros (2.42 KB)

If your window location is static, those absolute mouse clicks will work, but it's definitely a bit..... fragile!

A simple way to "clear" a mute, would be to option click any muted track. You could do that with a found image search like this:

And do the same for "Clearing" record armed tracks.

If you "Clear Mute" and "Clear Record" action at the beginning of each of your macros you could clear all mutes and records. Just make sure you uncheck "failure aborts macro" and "notify on failure" in the gear icon of the clicks actions if you'd like the macro to continue if keyboard maestro doesn't detect the found image of the mute and/or record icons.

1 Like

And this will not affect the unmuted tracks ? Just like a "clear all mutes" would do ???
I'm not familiar with the "found image" ...

If it works, and also with "clear rec enable", this would definitely solve the problem !

I'll try on monday at the studio, but i'm dying to dig into that.
What exactly do i have to do for this "found image's center" like this ? do a screenshot of the mute button ? And then KM will recognize only the muted tracks when i import the screenshot into the action ?

Sorry for my naive questions... and thank you again so much !


No problem!

Basically a "found image" click, will only click if it finds the image you put into the box.

  • So take a screenshot of the inside of the mute button or record arm when it's engaged, copy it to the clipboard (you can just use control+shift+command+4) to do this directly.
  • Paste it into that box in the "Click found image" action, and modify the settings as follows.
  • Change "Unique" to "Best", unique will only click if there is exactly 1 of the found image.
  • Add the option modifier in the "with modifiers" section.
  • In the gear icon, check 'restore mouse position'. (this really drives me crazy if it's not on)
  • In the gear icon, uncheck "Failure Aborts Macro" and "Notify on Failure".

Good luck!

1 Like


I'll try on monday and of course, will tell you if it works !

Hats off...

:pray: :pray: :pray:

Damned... i did exactly how you said, but nothing happens...
Or maybe i missed something.
If i have a muted track before activating the REC READY Macro, well, it stays muted, but the rest of the macro is perfectly working.

To capture the image of the Mute button, i did Shift+Command+4, then drag the png image obtained from the desktop to the "Image" Box in Keyboard Maestro.

If i click on "go", the mouse pointer doesn't move either. Seems like it does not detect the image. Even with Pro Tools as front window.

EDIT : It was due to the permission in the pref panel, which should be enable to record screen !

Now it works, almost fine... i'm playing around with pauses ... VO and Read Mode (VI and recorded track) work fine, but often, REC READY MODE will skip to mute a track, or sometimes to put the track in Record Enable ... Strange.. So as you said, a bit "fragile" for now. I still have to "consolidate" the macro, but huge step from the beginning ! Thanks again Evan :slight_smile:

REC READY.kmmacros (19.3 KB)
VO Only.kmmacros (15.3 KB)
Playback.kmmacros (16.5 KB)

Capture d’écran 2023-09-12 à 11.23.13

I imagine this is because the REC arm lights flashes, so it's probably not finding the image during the flashes. I'd have to think about how to consistently get that, probably some adding of pauses or a while loop

Damn you're right.
Obviously it's caused by the flashing rec light...
Hope there is a solution, we're almost there! :blush:

I think i found a way to do this. It's a little funky but I think it works.

Create a while loop with an always true condition, like 1=1. Set the action timeout to 1 second, and uncheck 'failure aborts macro' and 'notify on failure'. This will try to click the record button for 1 second, break from the loop if it clicks, and move on once the while loop times out. You could probably go shorter than 1 second, but experiment and see what the shortest time you can set it to would be.


1 Like

Well, seems to work "almost" super fine !

Way less errors than before, but sometimes, when i switch from Playback to REC Ready, the aux BUS VX does not mute, as it's supposed to be. Then if i press the REC Ready shortkey again, VI mute is lit off, BUS VX lit on, and i have to press it a third time to have the configuration i'd like (VO,VI,BUS VX muted, and REC track in REC READY)

But it occurs like once upon 5 or 6 times, not very bothering, i just have to pay attention if it's muted or not. Even if i can't explain the possible cause ... i tried with different pause times, but still.

Anyway, a huge thanks and a great "bravo" for your amazing and sympathic job helping me like you did.

We're that close to the final solution :slight_smile: :slight_smile: :slight_smile:

Capture d’écran 2023-09-14 à 08.32.39

Playback.kmmacros (19.4 KB)
REC READY.kmmacros (21.8 KB)
VO Only.kmmacros (18.2 KB)

Any idea what could still be missing to run perfectly dear Evan ?

I tried at the studio too, same, works almost fine, but still not "solid".

Another huge thanks anyway for what you did :)))

Hard to diagnose since I can't really test the macro myself due to it being based on absolute mouse clicks for the majority of your clicks.

One suggestion i could make is to insert overly long pauses (2-4 seconds) around the actions where the macro is failing and see if you can spot at exactly what step the macro is failing and why. You can also insert "debug" actions to have the macro manually "step" through. Using the debug feature has a bit of a learning curve, and I don't use it particularly often myself.

I'll try that Thanks.

Maybe absolute mouse click position is not the best choice and there's another way to achieve that?
Still.. Haven't found better than what you did ! :slight_smile: