Triggering Stream Deck Profiles for Logic Pro Plugins

Very hard for me to say without physically being there. I do know that the issue of constant triggering stems from the blank trigger app stealing focus for a moment. When focus returns to Logic, the macro will be triggered again if the semaphore lock doesn't take care of it. You might like to add a pause to the end of the switcher macro to ensure that the semaphore lock aborts on the second run. That's all I got I'm afraid.

Thanks for your reply.

Adding a pause does not solve the issue.

I guess that the issue here is that the trigger "the focused window title changes" is sent, even when the title is not changing. The title of the focused window is captured correctly.
Could it be that KM does not store the previous title?

Kind Regards,
Steven

It's impossible for me to debug a macro this complex via guesswork. If your mac were in front of me, I'd try to debug the macro by using the debugger or inserting "Display Text" actions at strategic points, to check whether parts of the macro are triggering correctly, or what the value of variables are at certain times.

I'll take one guess all the same: did you move the macros to another group or are they as they were when downloaded? The reason I ask is that the variable cleaning group must be globally available.

Hey Neil, I messaged you on youtube also - cheers for the reply.. Still pretty new to Nob, stream deck & KM.. I have set various NAC assigments for parameters within various plugins, EG nob + T will jump to Threshold etc, but then wondering how you are (presumably) triggering those assignments with stream deck, eg when you hit the saturation button etc.? Also haven't had any luck with the macros for syncing SD profiles with plug-in windows.. It comes up with "blank app" in the SD profile for the plugin even though i've directed it to the one I've named, definitely have SD window closed etc.. possibly missing a crucial step somewhere along the line but will keep experimenting..

nAc triggers, as I'm sure you know, don't require you to use nOb itself as part of the trigger, so I use Fn keys with/without modifiers:

Yeah it tends to do that, but should still work. Hard to diagnose without being there. Does no profile trigger at all?

Hey, cheers for the response.

Cool yeah, good call on using the F-keys for nob hotkeys - I was trying modifiers with various other keys with other unintended consequences!

Still no luck with SD profile changes.. No profiles are triggered at all..

I tried running KM debugger (still figuring out how this all works) and it's registering when I open and close plugins at least but not sure quite what else to do there yet..

I believe I've got all the paths & names right in KM, and have pointed the SD profiles to the appropriately named apps in my "Stream Deck Triggers" folder..

In case it sheds any more light on it - I also attempted the button profile switcher & in the debugger window it appears the last thing that registers is "Okay to run macro?" & then nothing more happens..

When you say it detects when plugins are open... Does the OCR run and return a result?

With the "pause new macros" option on in the debugger it pauses here:

Then when I play there is flurry of activity which I assume is the OCR (I think i glimpse the Is the window a Plugin? YES) and then it finishes & the debugger is blank, so shows no results..

That's not really the best way to use the debugger. You want to step through the macro, one action at a time to see what happens. With macros such as this one that have timing dependencies, I sometimes find it more useful to insert an action that displays the variable you're interested, at the point you'd like to check it.

For this example, I'd insert one such action below the OCR:

This should get as far as completing the OCR and display the plugin name (if the OCR working) before cancelling the rest of the macro.

If the plugin name is not OCR'd successfully we can look into why. If it is, then we know the issue is elsewhere.

I just figured out the step through in the debugger before I saw your reply.. (pretty new to KM!)
It displayed the name, in the case Pro-C 2, and then got to Set Variable "PluginMatchFound" to Text "TRUE" and then it runs throughs these actions


and ends.. There is a warning here

that says its better not to use default application to open as could be anything.. but tried a couple of other options just in case, to no avail

You can ignore that.

Does manually opening your Logic trigger app load the correct SD profile?

No it doesn't..

Does it not even flash up for a second?

Nope, although manually opening the Pro-C 2 trigger app is loading the correct Pro-C 2 profile.. I've triple checked i'm definitely point the Logic & Generic profiles to the corresponding apps in the same way as the Pro-C 2 one.. (again they all just display "blank app" in stream deck settings rather than a name, but that sounds normal..?)

actually i just re selected each app again in stream deck (including Pro-C 2) and now that one's not working also..

Yeah, don't worry about the app name in the SD prefs. Doesn't make any difference (as far as I know!). I suppose you could make a named blank app from scratch if you want to be 100% sure.

So we've established that the issue is between the OCR and the trigger app being opened... Carry on investigating with displayed variables and I'm sure you'll get there. Not much more I can do from here unfortunately.

Thanks so much for your help.. If none of the apps are manually triggering anything now, does that mean it could be a problem with the way stream deck is seeing them rather than anything in the macro?

When I hit ⌘O in the Finder to open my Logic trigger app, the SD briefly displays it before returning to whichever profile was displayed previously. Of course, it's important to disassociate your Logic profile with the actual Logic Pro app, but it sounds like you're aware of that already. If manually opening your Pro-C trigger app does display the profile, then presumably there's an issue with the switcher macro. As I said, you're going to have to dig in and be forensic about it. I wish I could be of more help.

If only Elgato would allow us to switch profile programatically, most of this would be unnecessary. It's all very annoying!

All, good i'll keep digging! Hopefully can figure it out somehow. Yep Logic is associated with trigger file rather than actual app..
Pro-C trigger app no longer doing anything, and no flashes on the SD when I open any of the trigger apps.. the plot thickens.

FYI, deleted all the trigger files, redownloaded your original blank app again, and after renaming and redirecting SD to them, they are all manually triggering the profiles (not just flashing). Progress at least, So will attempt some delving into the macro.. thanks!

EDIT

Sorry for all the messages, but I'm super close & just in case this saves me several more hours..
I figured out that for some reason specifying the actual paths to the trigger app directory, logic & generic apps in the Macro (rather than them being the %Variable%..) made it all almost work, even though the paths are exactly as displayed in the setup.
The plugins in Whitelist without specific profiles load the generic profile on the SD, the Logic profile loads when a non-whitelist plugin loads or a whitelist plugin is closed, and the plugins with specific SD profiles load but get stuck in a loop where the plugin window keeps flashing (at the rate specified in "Pause at end for semaphore lock")..
I tried adding one of these to the "force quit trigger apps" page but it didn't make any difference.
Strangely this is the behaviour if the plugin window opens on my laptop window, where i have mixer open, but if it opens on my external monitor (or I move it there), the plugin window stops having white border after a moment & the logic profile reloads.. This is only for the Plugins with their own profiles. The others behave the same on both monitors.. I can live with opening them all on my laptop monitor, but if there is any obvious way to stop them looping that would be amazing!

EDIT

Just reread the thread again & realise is the same problem someone else was having..
Hmmm..

1 Like