Triggering Stream Deck Profiles for Logic Pro Plugins

Hi @Jukobe and welcome to the forum! It's a lovely place full of very helpful people.

Congratulations on buying the Stream Deck and KM. It's an incredibly versatile combo. Make no mistake though, we're using it in a way that neither developer foresaw, so you're going to have to be patient and get your hands dirty. The first thing to do is spend a week or so getting to grips with each product's core functionality. Set up some SD profiles with hotkeys and explore all the other button types. Use your imagination and think about what problems they could solve for your own way of working. Go through the forum and download any macros that sound like they might be of interest to you. Open them and have a look through the actions to get an idea of the thought process behind them.

Before I start making videos, what is it you're confused by? I've done my best to lay out the steps above, so if any of it's unclear, I'm happy to explain.

1 Like

Thanks, Ive been researching the last 2 days a bit on stream deck and keyboard maestro. Im experimenting on mouse macros.

Im lost on how you mapped your cursor on each plugins respective control and how to get the profiles to switch when the plug ins open. Again thanks a lot.

The cursor mapping is done by nObcontrol. It comes with software ("nAc") within which you can set assignments which are triggered by hotkeys, which I have set to the Fn keys with modifiers if I need more than 12.

You haven't said you own a nObcontrol. You can use KM to move the cursor to predefined locations in much the same way, although I would advise you to consider buying a nObcontrol, as it gives you fine control over the parameters at which your cursor will arrive. I suppose you could use KM to control those parameters by increments, but I feel it's probably going to be less ergonomic than simply using a mouse.

As far as the profile switching goes, I've written out in detail a step-by-step guide above. Work your way through it and let me know if you have specific questions; just saying "I'm lost" doesn't give me any indication of how I might help you.

1 Like

Thanks. My first plan was to use the scroll wheel to emulate the nob function.but I did not know the nob software was so advanced till I just reseated it after reading your reply. The noc software has exactly what I what to do, I just watched a vid on plugin control with it. I am now looking online for a nob control for sale. When I get one and run in to any issue I will be back here. Thank you so much for your help Noiseil.

1 Like

nObcontrol is a family business and they do small production runs. In case it takes a while for you to get hold of one, perhaps you could try using the scroll wheel in the meantime and see if you like it. This should get you started.

First, get the SD Profile Switcher macros working.

Next, this macro will use the OCR result to get the plugin name when its window is at the front, and use it to position the mouse for you. All you need to do is change the plugin names and parameters to the ones you'll be using and store the parameter coordinates for the Move Mouse actions, with the "Get" button. To add more plugins, just hit the green plus button:

Pasted_Image_15_03_2022__11_04

To add more parameters, hit this one:

Pasted_Image_15_03_2022__11_05


MACRO:

Move Mouse to Plugin Parameter.kmmacros (35.8 KB)

Screenshot


Button example: For a button that takes you to to the "Intensity" parameter of Logic's Chorus plugin, set up KMLink as follows in the SD software:

image

You should be all set.

1 Like

I use metagrid, it is also triggered by application, so I tested it, but it didn't work. The blank app name only show me a very short time, it seems metagrid cannot be triggered manually or by some shortcuts. I don't know if i was wrong? (forgive my English)

If you manually open the blank app associated with a Metagrid profile, does anything happen?

Yes, metagrid will quickly show the blank app once and then back to the nomal, and I asked their forum , they said metagrid can also be triggered by sending midi, they will do a video to explain how to configure it.

Great! I wish Elgato would take note!

Firstly thank you for the work that you've put into documenting this. I'm an owner of nOb control (which I love) and have in the past been using Keyboard Maestro with an Electra One device to create a Mackie control surface. It kind of works but Logic has an issue when receiving and sending 14 bit CC controls to some devices so have struggled to get the granularity with things like faders that I would like. Hence purchased a nOb control.

Recently received a stream deck xl as a birthday gift. A bit of googling Logic Pro and stream decks bought me here to your thread.

A couple of questions

  • how are you getting the nob control to default to controlling the fader of the active track
  • with the plug-ins are you OCR images using KM then moving the mousepointer for the Nob Control or are you OCR images then using keyboard shortcuts to activate profile on the NAC software (which I haven't tried yet)

I've got the profile switching all working fine. Just thinking of the best approach to tackle next steps. Like you my goal is use the nOb control for fine control of plug-ins

EDIT - Think I've figured out point 1 using Nac, it's a little confusing to use at first but think I'm getting there

EDIT 2 - Think I've got point two figured out. If the plug in has a static interface (controls always in the same place) use Nac. If a plug in has a changeable GUI - thinking Fabfilter Pro 3 where the controls move around then perhaps use OCR to move the mouse pointer

This is really powerful stuff. Thanks for doing the work bringing it all together

Lucky you!!

I'll skip over the basics, as you will already be familiar... Set up a Midi Assignment in nAc like so:

CleanShot 2022-07-17 at 11.04.44

And have it triggerd by "Knob".

CleanShot 2022-07-17 at 11.05.36

That's the crucial bit for making fader control the default. Simply moving the knob will activate the assignment; other assignments will be triggered with hotkeys.

In Logic, set up a controller assignment for fader control as normal (move fader with mouse, hit ⌘K, move nOb), then make sure to set these two things as shown:

CleanShot 2022-07-17 at 11.12.20

You should be good to go.

The OCR has nothing directly to do with nAc, and is more related to loading SD profiles. I OCR the plugin window to get its name, in order to determine whether it's on a whitelist of plugins I'd like to load a Stream Deck profile for:

Name on whitelist: loads specific SD profile if one exists; otherwise loads generic profile.
Name not on whitelist: loads the Logic SD profile and triggers the nAc "Mouse" profile, which enables you to use nOb as a mouse emulator for any plugins that don't have bespoke assignments.

nAc automatically recognises any window for which an assignment has been made. So, as soon as you've added one Quick Assignment for a parameter you'd like to control in a particular plugin UI, nAc will always switch to the correct profile whenever the plugin window appears.

1 Like

Thanks for your help

I think one of the things I struggled with initially with nAc was not having the Quick Assignment setup. Then if you resize a window it kind of falls apart. I guess I'll just have to setup a logic template and commit to using particular window sizes for my favourite plug-ins. No biggy

How, if at all, do you deal with a plug-in like Fab Filter Pro Q 3 where the controls for Frequency, Gain, Q move according to which band is currently active. Or are you Midi learning those controls?

You don't need to set up a template. If you want to use a non-standard GUI size for a particular plugin, just save it as default in the Logic menu at the top of the plugin window and new instances will be sized accordingly.

Dio at nObcontrol is aware of this limitation, and was giving it some thought when I raised it with him. Admittedly, that was over a year ago. Midi control isn't ideal either as you may well have more than one instance per track. What I tend to do is manually position the pointer over a control and use nOb in mouse emulation mode. It's not perfect, but it still allows me to look away from the screen and use my ears.

1 Like

I had a go at using OCR to search for the main control group within Fabfilter Pro Q 3 then using relative mouse co-ordinates to position the pointer before using nOb in mouse mode. Quick testing it seem to work - so I think I may use that for Pro Q3 as that is my most used Fabfilter plug-in and revert to good old trackpad and nOb for the others

1 Like

Ooh nice! Care to share?

I will, I had it working then it stopped whilst I was fiddling with something and I’m not entirely sure what I’ve done to break it….

I'm away from tomorrow for a week so no hurry. If you don't manage to get it working by next Monday, share it anyway and I'll see if I can get it going. :+1:t3:

I'm actually going on holiday myself early next week so probably won't get round to touching it again for a weeks myself.

I'm going to change how I approach it and probably build on something you did

ie get the plug in name with the OCR of the bottom of the window so you know you're on the right screen
then try and OCR the rest of the for FREQ then position the mouse relative to that to whatever control I want

That's the theory anyway

1 Like

This is currently working for me - see screen grab below This puts me over the Frequency control in Pro Q3 - the screen shot I've used is just the word GAIN from Pro Q 3. I'm sure there are all sort of times when it could fail but should give you the gist of what I was playing around with

EDIT: worked out why it was failing. Need to edit my image a bit more. It was failing depending on the colour of the node because I left in some of the colour when I grabbed it. That's probably me down with this for a few weeks

1 Like

@noisneil Hi noisneil. Thanks for your video and explanation. Much appreciated.

I was curious as to why you had to use OCR to find out which plugin is active. Is this a Logic limitation?

I use Studio One which opens plugins in a non OS standard window, without the name of the plugin in the title.

Because nAc was still able to trigger the right plugin profile via a wildcard, I concluded that the necessary information must be available somewhere. Dio at nOb point me into the direction of the Accessibility Inspector which revealed that the plugin name is indeed available to the system, as part of the window name:

Check the bit at the bottom of the screen shot. Sure enough Keyboard Maestro could get to this info like so:

Does this work differently for Logic? I suppose if you can trigger profiles via a wildcard in nAc, the data has to be there...