Long Shot: Copy Logic Pro Plugin Name to Clipboard?

I just bought a nObcontrol and it's great. Frustratingly, the one feature that isn't available to Logic Pro users is automatically loading profiles and assignments based on an open plugin window title. This is because Logic, unlike other DAWs puts the name of the plugin at the bottom of the window rather than in its title:

I'm wondering if among us there's some clever sausage who might know of a way to get the name of the currently open plugin from some real-time OS log, or by any other means.

I'm not holding my breath but I am crossing my fingers!

You could try using OCR - I suppose it's possible. Or if you have a set number of plugins you want to do this for, you could try finding images at that location of the window.

If this was a Mac-only application, then there might be other options, but I doubt they'd work here.

Thanks for the reply. Logic is a mac only application. Does that help?

I've considered OCR and I'm wondering how I can restrict the scan to just the 35 pixel tall bar at the bottom of the floating window. I don't suppose you'd know how to do that would you?

Yes it does. Download and install this KM macro: Front Window Analysis Tool Using AppleScript System Events (List UI Elements). Set it up to show on the KM menu.

Then when you have Logic running with a plug-in name displayed, launch the macro from the KM menu. It might take a couple of seconds. When it's done, it should display a text file with a tree-like list of controls. Post the result, and let's see what we can find out from it.

Ok this is interesting!

I ran it and got this:

application Process "Logic Pro X"
window Inst 1
button 1
button 2
checkbox "Button"
menu button "Editor"
static text "View:"
pop up button 1
static text "Side Chain:"
checkbox "Button"
checkbox "Compare"
group 1
button 1
button 2
group 2
button "Copy"
button "Paste"
group 3
button "Undo"
button "Redo"
pop up button 2
static text "Inst 1"

No mention of the plugin name.... BUT....

I ran it with that drop-down displayed and got this:

application Process "Logic Pro X"
window Inst 1
button 1
button 2
checkbox "Button"
menu button "Editor"
menu "Editor"
menu item "Controls"
menu item "FabFilter: FF Pro-Q 3 Interface"
static text "View:"
pop up button 1
static text "Side Chain:"
checkbox "Button"
checkbox "Compare"
group 1
button 1
button 2
group 2
button "Copy"
button "Paste"
group 3
button "Undo"
button "Redo"
pop up button 2
static text "Inst 1"

So what we've learned is that you're very clever!

As you mentioned, it does take a moment. I'm wondering, if the script was modified to skip outputting the file to textedit and just copied the 9th line to the clipboard, perhaps that might not take as long?

I tried a manual OCR of the bottom text and it works nicely, so if it's quicker/easier than messing with scripts, maybe that's still the way to go? What do you think?

Also, thanks again for sharing your expertise. I love this forum. Everyone's so nice!

No problem. I need to see it with the original indentation, like this:

application Process "Final Cut Pro"
	window Final Cut Pro
		splitter group 1
			group 1
			...

Here's how you do it: On an empty line, put three "back-ticks" (that's the key that has a tilde ~ at the top of it), like this:

```

Then paste in the text.

Then add another line with three back-ticks.

Also, give me a screenshot of this drop-down you're talking about. Having fun yet? :grinning_face_with_smiling_eyes:

Hi Dan. I hit a snag. It turns out not every plugin displays its name in that dropdown. So, I came up with an alternative idea.

I save a user setting with a non-alphabetical character at the start to ensure it appears at the top of the list. I then click the preset dropdown bar and run the window analysis. it returns the name of the plugin within the output. It’s one extra step that takes only a few seconds per plugin during the setup phase.

Attachment

Here's the output:

application Process "Logic Pro X"
	window D.I.
		button 1
		button 2
		checkbox "Button"
		menu button "111%"
		static text "View:"
		checkbox "Button"
		checkbox "Compare"
		group 1
			button 1
			button 2
		group 2
			button "Copy"
			button "Paste"
		group 3
			button "Undo"
			button "Redo"
		pop up button 1
		group 4
			checkbox 1
			checkbox 2
			checkbox 3
			checkbox 4
			checkbox 5
			checkbox 6
			checkbox 7
			checkbox 8
			slider 1
			slider 2
			slider 3
			slider 4
			slider 5
			slider 6
			slider 7
			slider 8
			slider 9
			slider 10
			slider 11
			slider 12
			slider 13
			slider 14
			slider 15
			slider 16
			slider 17
			slider 18
			slider 19
			slider 20
			slider 21
			slider 22
			slider 23
			slider 24
			checkbox 9
			button 1
			checkbox 10
			checkbox 11
			pop up button 1
			slider 25
				value indicator 1
			slider 26
			UI element 40
				UI element 1
				UI element 2
				UI element 3
				UI element 4
				UI element 5
				UI element 6
				UI element 7
				UI element 8
		UI element "Button"
		static text "D.I."
		menu "D.I."
			menu item "Setting"
			menu item 2
			menu item "Undo Peak 1 Gain"
			menu item "Redo"
			menu item "Include Plug-in Undo Steps in Project Undo History"
			menu item 6
			menu item "Next"
			menu item "Previous"
			menu item 9
			menu item "Copy"
			menu item "Paste"
			menu item 12
			menu item "Load…"
			menu item "Save"
			menu item "Save As…"
			menu item "Save A Copy As…"
			menu item "Save As Default"
			menu item "Recall Default"
			menu item "Delete Setting (User Default)"
			menu item 20
			menu item "- Logic Channel EQ"
			menu item "abbey rd reverb trick"
			menu item "vocal scoop"
			menu item 24
			menu item "01 Drums"
				menu "01 Drums"
					menu item "Brighten Hi Hat"
					menu item "Brighten Overheads"
					menu item "Clean Up Kick"
					menu item "Clean Up Snare"
					menu item "Cymbal EQ"
					menu item "Floor Tom EQ"
					menu item "HiFi Drums"
					menu item "Low End Kick"
					menu item "Modern Kick"
					menu item "Natural Snare"
					menu item "Overhead Mic EQ"
					menu item "Punchy Kick"
					menu item "Refresh Drums"
					menu item "Refresh Kick"
					menu item "Refresh Snare"
					menu item "Rim Snare"
					menu item "Ringing Snare"
					menu item "Rock Kick Drum"
					menu item "Rock Snare Drum"
					menu item "Room Microphones"
					menu item "Standard Hi Hat  EQ"
					menu item "Standard Kick EQ"
					menu item "Standard Snare EQ"
					menu item "Tom EQ Floor"
					menu item "Tom EQ High"
					menu item "Tom EQ Medium"
					menu item "Tom EQ"
					menu item "Vintage Drums"
					menu item "Vintage Hi Hat"
			menu item "02 Keyboards"
				menu "02 Keyboards"
					menu item "Clean Up Organ"
					menu item "Grand Piano EQ 01"
					menu item "Grand Piano EQ 02"
					menu item "Grand Piano EQ 03"
					menu item "Grand Piano"
					menu item "Gritty Piano"
					menu item "Organ EQ"
					menu item "Pad Warmer"
					menu item "Piano Bright"
					menu item "Piano High"
					menu item "Piano Low"
					menu item "Piano"
					menu item "Refresh Rhodes"
					menu item "Synth Brighten"
					menu item "Synth Lead Presence"
					menu item "Synth Lead"
					menu item "Synth Sub Bass Enhancer"
					menu item "Vintage Keys"
					menu item "Warm Piano"
			menu item "03 Guitar"
				menu "03 Guitar"
					menu item "Acoustic Guitar Bright"
					menu item "Acoustic Guitar Improve 01"
					menu item "Acoustic Guitar Improve 02"
					menu item "Acoustic Guitar"
					menu item "Acoustic Rhythm Guitar"
					menu item "Bass Boost EQ"
					menu item "Classic Guitar Improve"
					menu item "Clean Up Guitar"
					menu item "E-Bass EQ"
					menu item "Electric Funk Guitar"
					menu item "Electric Jazz Bass"
					menu item "Guitar Sweetener"
					menu item "Jazz Bass"
					menu item "Low Focus Guitar"
					menu item "Picked Electric Guitar"
					menu item "Push and Pull Guitar"
					menu item "Slapped Bass EQ"
					menu item "Ultra Bright Guitar"
					menu item "Upright Bass Standard EQ"
			menu item "04 Horns"
				menu "04 Horns"
					menu item "Alto Sax"
					menu item "Baritone Sax EQ"
					menu item "Baritone Sax"
					menu item "Horn Section"
					menu item "Muted Trumpet EQ"
					menu item "Pop Trumpet"
					menu item "Sax Section"
					menu item "Saxophone EQ"
					menu item "Soprano Sax"
					menu item "Tenor Sax"
					menu item "Tenor"
					menu item "Trombone"
					menu item "Trumpet EQ"
					menu item "Trumpet"
					menu item "Tuba"
			menu item "05 Voice"
				menu "05 Voice"
					menu item "Backing Vocals"
					menu item "Brassy Vocal"
					menu item "Bright Vocal"
					menu item "Choir EQ"
					menu item "Choir Overhead Mics"
					menu item "Classic Vocal"
					menu item "Clear Vocals"
					menu item "Compressed Vocal"
					menu item "Edge Vocal"
					menu item "Female Vocal Refresh"
					menu item "Female Vox 01"
					menu item "Female Vox 02"
					menu item "Fuzz Vocal"
					menu item "Male Lead Vocal"
					menu item "Male Vocal Refresh"
					menu item "Male Vox 01"
					menu item "Male Vox 02"
					menu item "Natural Vocal"
					menu item "Pop Vocal"
					menu item "Slammed Vocal"
					menu item "Soften Background Vocals"
					menu item "Soften Lead Vocals"
					menu item "Speaking Voice Improve"
					menu item "Vintage Vocal"
					menu item "Vocal Presence"
					menu item "Voice-Over EQ"
					menu item "Warm Vocal"
			menu item "06 Mastering"
				menu "06 Mastering"
					menu item "Dance Music Type EQ"
					menu item "Final Mix - Ballad"
					menu item "Final Mix - Dance"
					menu item "Final Mix - Hip Hop"
					menu item "Final Mix - Pop"
					menu item "Final Mix - Rock"
			menu item "07 EQ Tools"
				menu "07 EQ Tools"
					menu item "Add Brightness"
					menu item "Add Presence to Thin Sounds"
					menu item "Bass Boost"
					menu item "Bass Improve 01"
					menu item "Bass Improve 02"
					menu item "Bass Improve 03"
					menu item "Boom Box"
					menu item "Hi Cut 20kHz"
					menu item "Hi-Fi Boost"
					menu item "Hi-Fi EQ"
					menu item "Hum Killer"
					menu item "Improve Thin Sounds"
					menu item "Increase Attack"
					menu item "Kill Hum"
					menu item "Loudness EQ"
					menu item "Low Cut 30Hz"
					menu item "Low Cut 50Hz"
					menu item "Low Cut 60Hz"
					menu item "Low Cut"
					menu item "Make Darker"
					menu item "Make Warmer"
					menu item "Megaphone EQ"
					menu item "Megaphone"
					menu item "Phone Filter Notch"
					menu item "Phone Filter Wide Band"
					menu item "Presence +6dB"
					menu item "Presence +12dB"
					menu item "Reduce Bass Boom"
					menu item "Reduce Mids"
					menu item "Reduce Sharpness"
					menu item "Refresh Dull Recordings"
					menu item "Telephone EQ"
					menu item "Vinyl Recording Improver"

I'm not sure if line number would be helpful as there may be differences (or not?) between plugins. However, as the preset name would always start with "- Logic", perhaps it's possible to select and copy the text between that and the following quotation marks...? Or maybe there's a better way. I'm just thinking out loud.

Hey @ccstone or @JMichaelTX:

My AppleScript is a little rusty. Can one of you jump in and write up something that would return the name (or value?) of the menu item in menu "D.I." that starts with a dash (based on the above output)?

Thanks.

1 Like

Hi Dan,

I initially asked a similar question as part of a different thread about OCR in general, and I also made my own thread about it here. Subsequently, my question got moved by an admin to its own thread (I think I misunderstood the forum rules - my bad), so I ended up with two similar threads: this one exploring the window analysis route and the other one looking into OCR.

@JMichaelTX kindly just sent me a macro that works quickly and flawlessly using the OCR method. On an academic level, I'm interested to know how to extract the line from the code, but I don't want to waste anyone's time. Sorry for the double post thing. My fault entirely.

I think the OCR method might be easiest anway as it doesn't require making marker presets.

Thanks again! I hope one day I graduate to KM Ninja status so I can return the kindness somehow.

This is the best I can do without being able to tinker with an actual copy of Logic Pro.

Put this script in the Apple Script Editor (or better yet Script Debugger if you have it):

tell application "System Events"
   tell application process "Logic Pro X"
      tell window "D.I."
         tell its menu "D.I."
            return first menu item whose name starts with "-"
         end tell
      end tell
   end tell
end tell

Put this script in a Keyboard Maestro macro in an Execute-AppleScript-Action with a global hotkey trigger:

tell application "Script Editor"
   execute front document
end tell

Open your menu in Logic Pro.

Run the macro.

Examine the result you get in the Applescript Editor.

-Chris

1 Like

Thankyou! I know less than nothing about scripts, but I think I followed your instructions and hitting the hotkey doesn't seem to do anything. I've obviously got something wrong.

Also, for this to work on any channel in Logic, it would have to run the script on the front window rather than one that has the specific title "D.I.".

Honestly though, it's academic at this point as the OCR method works perfectly, so unless you're bored and enjoy this sort of thing, please don't worry about it on my account.

1 Like

You got the OCR method working! Congrats! Keep that script (the longer one), because it may still come in handy.

As I said in my other reply, congrats on getting it to work, along with @JMichaelTX's help.

I thought you had said that not all the plug-ins display their name that way, so you may still need the script @ccstone sent you. If so, just post a message and we can help you get it running - it'd be easy since Chris did all the hard work. :grinning_face_with_smiling_eyes:

Yeah OCR works great! I'm not able to use it until the developer adds the ability to trigger the nObcontrol profiles via hotkey emulation (hopefully within the next week or so), but I'm so excited about it.

Regarding not all plugins displaying the name, what I meant was not all plugins display their name in the "Editor" drop down list, which is why I rethought it and decided to try the dummy preset idea.

Thanks again Dan!

1 Like

Hey Neil,

You're looking at the description panel – not the result panel – so we're not seeing what got returned from Logic Pro.

-Chris

Hi Chris. I'm sorry, but I don't understand what you mean.

If you're speaking in reference to the below image, this was me showing you the Script Editor window and KM side-by-side to see if I'd set everything up correctly. When I ran the macro, nothing happened.

Screenshot

When you run a script in the Script Editor you get a result:

image

See those 3 icons a the bottom?

If you successfully ran the script I would expect some sort of result...

Agh! I wrote that execute script on Sierra, and it would seem Apple in their sub-infinite wisdom decided to remove the execute verb from the Script Editor's AppleScript dictionary. (I'm looking on Mojave at the moment.)

What nitwitery...

Okay. Download the Script Debugger demo. It will revert to its Lite version after 30 days, but it'll still be waaay better than the Script Editor.

Replace the script in the macro with this one:

tell application "Script Debugger"
   tell document 1
      execute
   end tell
end tell

Try again with Logic.

-Chris

This is what I got:

In case you didn't see the comments beneath your initial script, the OCR method works great, so there's no real need to see this through. That said, if figuring this kind of thing out is fun for you, I'm up for carrying on. I might learn something!

Hmm...

Let's back up. Run this:

tell application "System Events"
   tell application process "Logic Pro X"
      tell window "D.I."
         it
      end tell
   end tell
end tell

Let's see what we get.

-Chris

Here's what came up: