Stream Deck Control of Logic Pro Fades

I came up with this way of controlling Logic fades on a Stream Deck which I think is pretty elegant, and I haven't seen it done like this elsewhere.

Basically, you press a green button to select the fade length you want. It will turn red to show that it's selected. Then you press one of the yellow buttons to apply a fade of that length to the selected region.

The Logic Inspector has to be open for this to work, but I've tried to make it fairly smart - it will detect whether the appropriate disclosure triangles are open, and navigate its own way to the Fade controls.

The green/red fade-length buttons must be connected to KM via the official Keyboard Maestro Stream Deck plugin, as that's the only one which allows the icons to be changed on-the-fly (this means specifying the correct row and column numbers in the Stream Deck app - be careful if you have existing buttons in the default positions as the macro changes the icon).

The yellow buttons for actually executing the fades can be linked with the KMLink plugin.

I made these for myself, so use at your own risk! And the kludgy AppleScripts used (because Logic doesn't properly support them) means that functionality may break in a future Logic or OS update!

Keyboard Maestro has to have two variables available: FadeLength and FadeLengthButton. I made these scripts a year or two ago (and was learning as I went along) so I can't remember if they are created manually on execution or if you have to add them yourself.

Hope this is useful!

There 2 downloads are the KM macros, and the icons for the orange/yellow KMLink buttons:
Logic Stream Deck Fades.kmlibrary (431.9 KB)
Orange Fade (49.7 KB)


Very nice indeed!

You could simplify your Fade Variable macro by using a Switch/Case group instead of multiple If/Else actions. If you reset all icons after each AppleScript, you only need to set one icon in the Fade Variable macro. I haven't set up my SD to test it, but see if this works for you:

Fade Macros (SD).kmmacros (521.8 KB)

Aside: here's what my SD looks like for fades:

Top row: nObcontrol fade-in, no fades, nObcontrol fade-out, Auto fades (key command)
Middle row: 4x fade in/out, prompt for fade amount
Bottom row: 4x equal power crossfades, prompt for crossfade amount

I like only having to hit one button, but I'll see if your approach works for me when I have time after today's session. Thanks for sharing!

1 Like

Cool, I’ll have a look when I’m back at my computer! I had a feeling that there must be something shorter than all the if then statements :joy:

Btw, were my icons included in the package? Never exported a macro before!

I really, really wish they would add proper AppleScript support to Logic, or at least expose a lot more to the key commands (so much low hanging fruit, like fades, region gain, colour selection, etc). For a power-user application, in a world of Stream Decks, TouchOSC, etc, they are seriously missing a trick.

1 Like

Yeah :+1:t3:

Yes this has made it quite a bit shorter! The only thing I had to add was to make all the buttons switch to the green icon as soon as the macro runs, so that only the selected button changes to red. I'll update the original post with this version!

That makes sense. With the post-Applescript reset, if you change your mind you'd have two red buttons.

Do you mean after the AppleScript that executes the fade? Wouldn't that reset all the buttons to their 'unselected' state (green) every time? I want to leave the current selection active forever until a new one is selected (so you don't have to select the amount every time you do a fade).

1 Like

Yeah. Much better the way you're doing it now. Hadn't thought of you wanting to maintain the selection.

1 Like