Logic Pro Macro List – ADD YOURS!



There isn't a megathread on Logic Pro macros, so I thought I'd start one. Here are those of mine which I think might be useful to most people. Please feel free to add your own!

After installing any of these, pay attention to any green actions.

NB: These all work for me, but you may need to tweak them to work with your own setup, depending on screen configuration, software versions, etc. Basic familiarity with KM will be very helpful. I've now upgraded to Monterey, and I constantly tweak my Logic macros, so the versions uploaded here may not be up-to-date. If you like the idea of a macro but, for example, the AppleScript isn't working because you're on v10.7 onward, comment below and I'll update it for you.

Bypass:Mute:Solo:Clear Solo.kmmacros (75.8 KB)


I have this on a Stream Deck button, but you could equally use the hotkey.

  • Tap = mute track(s) OR bypass plugin when plugin window is selected
  • Slightly longer press = solo selected track(s)
  • Double-tap = clear/recall solo

Apply My Defaults.kmmacros (45.5 KB)


Handy when opening someone else's session on your machine. It will impose your defaults (screensets and so on), as found in your usual template.

Set Buffer.kmmacros (27.9 KB)


Change the number in the green action for different buffer settings.

Click for Count In Only (Toggle).kmmacros (121.7 KB)


Toggles the metronome between always active while recording and active only during the count-in.

Fade In:Out Prompt.kmmacros (102.8 KB)
Fade In:Out:EqP Prompt.kmmacros (103.5 KB)


Prompts for fade length and then applies the fades/crossfades to the selected regions.

Fader Reset - Relative.kmmacros (56.3 KB)


Select multiple faders in the Mixer window, then trigger this macro. It will set the fader with the highest value to 0db while maintaining the other faders' relative values.

MIDI - Fifth up copy.kmmacros (48.8 KB)
MIDI - Fourth down copy.kmmacros (48.9 KB)
MIDI - Octave down copy.kmmacros (48.6 KB)
MIDI - Octave up copy.kmmacros (48.6 KB)


These copy the selected midi notes up a fifth, down a fourth, down an octave or up an octave, respectively.

Chords to Divisi.kmmacros (62.1 KB)


Separates a polyphonic MIDI region into multiple monophonic lines (user prompt for number of lines). Very useful when trying to turn chords into individual string parts, for example.

New Send.kmmacros (146.4 KB)


Creates a new send for the selected channel on the first unused buss.

Region End to Playhead.kmmacros (41.1 KB)


Handy if you want a region to end exactly at a certain point, for example: reverse cymbals that end on a downbeat. Place your playhead where you want the selected region to end, then trigger the macro.

Reset Tempo Data.kmmacros (49.0 KB)


Removes an audio file's embedded tempo data and writes that of the current session to it instead. A time-saver whenever an audio file won't play ball with flex-time.

Select Muted Regions (on selected track).kmmacros (26.0 KB)


Does what it says on the tin! This is the simplest macro on the list, but it's handy.

Set freeze to pre-fader.kmmacros (78.4 KB)


Sets the selected track's freeze function to the green Pre-Fader version, which is generally what you want if you're trying to reduce CPU usage induced by plugin chains. I could make this a toggle, but I never really use the Source Only option.

Trim region edges to nearest bars.kmmacros (41.1 KB)


Trims the selected region's start and end points to the nearest bars. Saves a few clicks, once in a while. Uses custom Logic key commands, so be sure to set them to whatever yours are before trying it. The actions are labelled for this purpose.

Delete All Groove Templates.kmmacros (34.1 KB)


Does what it says on the tin.

Delete Unused Audio Files.kmmacros (26.9 KB)


Does what it says on the tin.

Varispeed Region to Project Tempo.kmmacros (119.6 KB)


Automates the process of applying varispeed to a region so that it syncs with the project tempo. Great for sloshy drum loops!

Bounce Tracks.kmmacros (85 KB)


Enter the number of tracks to bounce or select "All tracks"; optionally enter a custom folder name. Tracks are bounced to a folder on the desktop, named according to the project name. If subsequent batches of tracks are bounced from the same session, the folder numbers are incremented. The green action contains a custom key command; change it to your own before use.

Bounce all Markers.kmmacros (41.2 KB)


Bounces individual audio files for each marker section with a prompt for the number of markers to bounce and the name of the folder that will be created on your desktop. The resultant files will be named (and numbered) the same way. Requires you to set create a key command in Logic for Set Locators by Marker and Enable Cycle as one does not exist by default.


Do you ALSO have a Stream Deck? If so...

First off, get the KM Link Stream Deck plugin if you don't already have it. You will use this plugin to select the macros below. The important differences between this and the bundled KM plugin are:

  • It passes on a parameter (TriggerValue) to KM.
  • It allows you to move the buttons without macros becoming unlinked.
  • You can select the macros from within the plugin's drop-down menu, with the most recently edited macro showing at the top of the list.

Example Profile.streamDeckProfile.zip (150.6 KB)
Now import this profile using the Stream Deck app. It contains folders and buttons pertaining to the following macros, which you can then copy to your own Logic profile... if you like them.

Ready? Ok then...

Dynamic Buttons & A:B Two Plugins.kmmacros (84.2 KB)

  • Dynamic Buttons: Handy for clicking parameters you haven't pre-programmed and I use them often for incrementing/decrementing plugin presets. Make two KMLink buttons, with different hotkeys (comes set to ⇧F11 and ⇧F12). Position your mouse over whatever you'd like to click and double-tap one of the buttons to save its position. From then on, a single tap will click it.
  • A/B two plugins: Place your mouse over the bypass button of the first of two consecutive plugins (one of which is bypassed) and double-tap to save this position. From then on, a single tap will quickly flip the bypass state for both plugins so you can hear them individually. Comes set to ⇧F9.

Colours.kmmacros (71.8 KB)


This is a region colour palette for your Stream Deck. The colours are selected by their location in relation to the centre of a found image of the colour picker's title, so if you don't want to use the same colours as I do, you will need to adjust these coordinates accordingly. I tried to figure out a quicker way to obtain these coordinates, but ended up using the mac screenshot tool to get them. If anyone knows a better way, do let me know.

F Keys Multi-Tap : Long Press.kmmacros (114.8 KB)


Enables double/triple taps and longer presses for Stream Deck buttons that can be used to trigger different macros.

Fade - EqP.kmmacros (101.0 KB)
Fade - In:Out.kmmacros (100.8 KB)


These macros apply fades to selected regions, based on preset values set to Stream Deck buttons. There are two rows; one for in/out fades and another for crossfades. Both rows also contain a button with a question mark, which will prompt you to enter your own fade length.

New Audio Track.kmmacros (79.2 KB)


Creates a new audio track whose input matches the text entered into the KM Link parameter box.

Region Gain Presets.kmmacros (55.7 KB)


Increments region gain up or down by increments of 1db, 3db, and 6db.

Strip Preset.kmmacros (55.0 KB)


Loads a Channel Strip Preset for the selected track. Type the folder hierarchy into the KM Link parameter box, separated by a comma and a space. As an example, let's say I want to load the Jazz Standard organ preset.

I'd type this into the parameter box:

leg, log, 05, 02, jazz

Notice that you don't have to type the entire line; a few letters are enough for it to drill down through the hierarchy.

Strip Preset - Mix Buss.kmmacros (78.2 KB)


As above, but scrolls to the far right of the Mixer window and loads a channel strip preset on the Mix Buss. I will try to create a version that uses the horizontal mixer pane within the Tracks page, if requested.

Strip - Kontakt (Purge).kmmacros (179.4 KB)


Use this variation on the Strip Preset macro when loading Channel Strip presets that include Kontakt as the instrument, if you'd like the library to load already purged.

New Send with Preset.kmmacros (70.7 KB)


This uses New Send from earlier in this post as a sub-macro and then selects a preset for the newly created buss, as described in the Strip Preset macro above. The example button selects the factory reverb preset, "1.7s Nice Hall".

Stack.kmmacros (98.7 KB)


Loads Track Stacks saved to the Library. Select the macro via KM Link and enter the name of the patch you'd like to load into the parameter box. To avoid errant search results, it's best if you type the entire name of the patch, and that the names be unique enough to differentiate sufficiently from one another.


Do you ALSO use PlugSearch? If not, you should! If you do...

NB: The latest version of PlugSearch brilliantly allows you to load favourite plugins via Midi. This will be enough for the needs of most people, but if you want options...



In PlugSearch prefs, I have Universal set to ctrl+Β§ and Instrument set to alt+Β§. If you don't want to use these keystrokes, you will need to replace them within the macros. They're marked out in green for you to see easily.

Logic - Plugsearch.kmmacros (559.6 KB)

  • De-Ess: Inserts Melodyne ARA and reduces sibilance by 40%.

  • Plugin: inserts a plugin in the next slot. Select this macro in KM Link and type the name of the plugin you'd like to load, as it appears in the Logic plugin menu, into the parameter box.

  • Plugin (Waves): inserts a Waves plugin in the next slot and accounts for mono/stereo instances. Select this macro in KM Link and type the name of the plugin you'd like to load, as it appears in the Logic plugin menu, but without the (m) or (s) suffix, into the parameter box. (For the example button, I've typed "rvox" rather than "rvox (s)" or "rvox (m)".)

  • Instrument: Adds an instrument, creating a new instrument track beforehand if one isn't selected. Select this macro in KM Link and type the name of the instrument you'd like to load, as it appears in the Logic plugin menu, into the parameter box.

  • Search (Plugin): enables you to trigger PlugSearch via a single keystroke, rather than one with a modifier which is the default requirement.

  • Search (Instrument): this will search for an Instrument if an empty instrument slot is available; if not, it will create a new instrument track for you first.

Vocalign Auto.kmmacros (82.0 KB)
Prompts for number of tracks to sync to the the Master Track, and automates the entire process.


I'd like to direct you to another post I've made about triggering Stream Deck profiles for Logic plugins. It's too involved to add here.

I hope you found something useful here. I've put in the hours and got these all working reliably on my system. Some of them use found images, so they may need some modification, depending on your screen resolution. It should be self-evident which images need to be captured, but let me know if you need clarification. If any of these don't work for you, it may be due to the configuration of your screens differing from mine. In that case, you may also need to go through the offending macro and check that it's searching for images in the correct screen.

At the very least, I hope they can act as starting points to be adapted to fit your needs. I've tried to make them as easy to understand and customise as possible, so I can't see why they wouldn't work for you too!


that’s really a great collection of Macros for Logic ProX!
I would like to use a few, but couldn’t figure out which Set of KeyCommands in Logic are used. Can you export your Set so I can find out which are used in your macros an adopt to my Set?
Thanks - Herbert

1 Like

Sure, here you go :slight_smile:
KM.logikcs.zip (6.3 KB)

1 Like

Excellent thread!. Will add some of my own soon.

These are great. I hope you keep them updated. I'm using the PlugSearch + StreamDeck macros already

It's taking a little more to get others working. For example, to get pre-fader freeze working I had to replace with my own screenshots and set the search area back to Front Window.

Yeah, these are likely to require a bit of finessing according to your screen configuration and which version of Logic you're on. I'm still on 10.6.3, so icon images will need to be re-grabbed if you're on 10.7.x. Hopefully what I've offered up is still helpful despite that. I've actually replaced a few found image conditions with UI scripting, but I'm hesitant to post them here as they're trickier to adapt to your own setup if they don't work for you.

They’re more than a little helpful, thanks so much again!

I’d also like to make them image-less where possible.

  • Where do I start with UI scripting? I’d love to try

  • I tried to set the Color panel using the coords relative to the front window, but it wasn’t working. Did you find the same?

  • Have you found any way to use your nOb for parts of Logic that ask for a click and drag e.g. quantize strength, or the velocity tool

Any clues on any of the above would go a long way

No worries! :blush:

  • Demo UI Browser to get your head around UI scripting. There are various other methods of getting UI element information, and if you don't fancy buying UI Browser once the demo expires, you could for example try this window analysis tool. Shortcat also looks interesting, although I haven't tried it myself.

  • The Color palette is a floating window, and while there may be some clever way of interacting with it that I'm not aware of, I opted for clicking relative to the location of a found image of the window title. You can see how I've set that up in the macro above. The easiest way to get coordinates is to use Mac's screenshot tool which displays coordinates when you click and drag; make a mental note of the numbers and press escape before it actually takes a screenshot. Alternatively, this macro will return relative coordinates. Trigger it, then click at the start point (in this case, the centre of the found image) and end point. It is set to display the values in a window, but if you enable the final group, clicking in the first coordinate field of the mouse click action (after the first two clicks) will paste the values in for you. I experimented with incorporating the coordinate grab into the Colours macro, but it seemed to be more hassle than it was worth.

  • nOb functions as a mouse emulator so clicking and dragging is easy. Set up a Quick Assignment in nAc (nOb's companion app) and set the location to the parameter you'd like to click and drag, while making sure the drag direction is appropriately set using the hardware switches. When you trigger this assignment with a shortcut, the mouse will jump to the parameter location and nOb will click and drag for you.

  • Thanks so much.
    I had a poke around in UI Browser.

As an example, Pre-Fader on a Software Instrument and Audio Track gave me different values. (Nevermind why you'd want to do this on an audio track)

Pre-Fader on Instrument Track
click pop up button 1 of row 6 of table 1 of scroll area 1 of group 2 of list 1 of group 2 of window "Untitled 1 - Tracks" 

Pre-Fader on Audio Track
pop up button 1 of row 3 of table 1 of scroll area 1 of group 2 of list 1 of group 2 of window "Untitled 1 - Tracks"

I also tried the record function on Keysmith which came up with a macro to click 'Pre-Fader' that worked on both kinds of track.

So it's finding the menu item in a more flexible way. And I'm not sure how to do this in AppleScript or KM.

  • That makes sense, and thanks for the link to the other macro

  • That's pretty great. I'm using Monogram which is limited to scroll, click and keyboard events. I've tried emulating mouse down events in KM and moving the mouse with key events.

Yeah this is why I still use found image for selecting pre-fader freeze. It's actually pretty snappy so I'm not too worried about it. Interesting that Keysmith can click it consistently though; I wonder how it's doing that. Does it work regardless of whether you move/resize the window or if the 'More' button under the Region inspector is open/closed? I don't feel like I need another piece of software running all the time, so I don't think I'll investigate it for now, but I'd love to know what it's doing.

No, it won't recognise if Region is closed, but it will work wherever it is on the screen. The record function sees which UI elements you click rather than mouse location.

It makes some of the existing macros incredibly simple, like opening the library, clicking the search bar, pasting and clicking the result. Also just about worked for clicking a colour. But there's no variables either, so you'd have to record that over and over.

It's pretty magic but I also wish I could do it without another piece of software running, as I already have all the automation apps running.

I meant when you close the "More" box, thereby changing the item position onscreen but it seems it will work anyway. Impressive. I'd love to know how it's doing it. Presumably it doesn't have an option to spit out a script so it must be doing some clever stuff behind the scenes. Must admit I'm tempted.

It seems to find it pretty reliably. The pitfall is it will find the menu 'Pre Fader' reliably but then you need a separate macro to find 'Source Only'. On something like Flex Mode though it will always find the flex menu, no matter what is selected, as long as it's visible.

This is quite a basic one but it sets Logic's Buffer Size to a value passed through Stream Deck.

Buffer to….kmmacros (6.2 KB)

@noisneil Did you ever manage to use a menu condition to determine, for example, if the Library is open. I found that KM says 'Show Library' and 'Hide Library' both exist at the same time.

I have a similar macro. Only difference is the end is a bit simpler, as pressing apply before closing the window isn't required.


For the Library, I just use this:


I may switch to using Keysmith for anything to do with the Library, as it seems a bit snappier, but I'm not sure I want yet another piece of software running all the time in the background.

You're right. I just tested and it is an unnecessary step.

For the Library my idea was a menu condition, if 'Hide Library Exists' then the library should be there. But it hasn't been working as expected.

The menu item seems only to be updated once you open the View menu. I just tried manually scripting it and got the same result. This is why I opted for the found image condition.

If you prefer not to use found images, you could use this, with the action set to return to a variable:

activate application "Logic Pro X"
tell application "System Events"
	tell process "Logic Pro"
set tracks_window to title of first window whose title contains "- Tracks"

		if button "Revert" of group 1 of group 3 of window tracks_window exists then
			return true
			return false
		end if
	end tell
end tell

If you checked this list a while back, I've added a few. Here are some recent additions:

Chords to Divisi
Set Buffer
Fader Reset - Relative
Delete All Groove Templates
Delete Unused Audio Files
Varispeed Region to Project Tempo
Bounce Tracks
Bounce All Markers
Vocalign Auto

Again, if anyone has suggestions on how to improve these, please let me know!

1 Like

Ok Noisneil wow amazing job.
I had no idea anyone else was working on this until just now!! Gonna dig into what I've done and see if there's anything that would be useful to you or anyone else.

1 Like

Hi, I tried some of the macros but they didn't work on my system ...
fe the strip macro stopped here : "Macro Cancelled
Move or Click Mouse no unique image
found. Macro "Strip" cancelled (while
executing Move and Click at (0,18) from
the Center of the Found Image)."

Am I supposed to change mouse settings or is it a Logic Version issue.
Would love to use your macros, the seem to be quite helpful. MY Logic Version is 10.7.4
kind regards, Jens Oettrich

1 Like