Find text in menu (without using Found Image) [SOLVED]

Is it possible to have KM find a particular text and click it, instead of using the Found Image action?
For example, when I click a button and it shows me a menu with different options, I would like KM to find the text and click it. This would avoid issue in the future if the app changes the font, or changes the color scheme, etc.

Here's what I have and it seems that this is the front window, because it's overlapping the plugin window on the right:
Screen Shot 2022-06-04 at 11.13.14 AM

As you can see, when the mouse is hovering a certain option, the background becomes blue, so I would always have 2 images for KM to use one or the other, so finding the text itself would bypass this extra image.

For those using Logic, I'm already using PlugSearch, but there are a few things I don't like about it so I would like to recreate the same behavior using KM so I could add extra features.

Hiya Danny!

Once you have a plugin selected as shown in your screenshot, you can just hit Enter to load it.

Incidentally, what is it you don't like about PlugSearch? I'm a long time user and am beta testing the latest version. I'd be happy to pass on any comments about ways you think it could be improved.

I added some extra features myself, some of which are being adopted into the next release. Check out the PlugSearch section here: Logic Pro Macro List – ADD YOURS!

Thanks for the reply.

My goal is to emulate what PlugSearch does. I would have a shortcut to open the menu, then an action to find a certain text (for example "Alchemy") and then it would press Enter. My issue is that I can't seem to find a way to have KM find a text without using the Click on Found Image. As I mentioned, if Logic decides to make changes to their color scheme or something like that, then I will have to update everything, because the images will not match. Also, I will always have to deal with the fact that when the menu opens, the mouse could automatically be in a position where it's hovering over a certain option, making the background blue, meaning I would need to have 2 images for KM to find. Hope it's making any sense so far...

I saw your post here about all the Logic macros and I saved it for later research once I have some free time to explore them. Thanks for sharing that!

There are a few things about PlugSearch that I don't like:

  • Sometimes it takes a little bit to open the window. Sometimes it's like 2 seconds. I know it's "just" 2 seconds, but it just feels weird that it doesn't open right away.
  • As of now, if you want to insert a plugin in between 2 plugins, you can't. You know when you hover over in between 2 plugins and you see a line and then insert a plugin there? With PlugSearch, you can't do that.
  • It annoys me that if you already have a plugin inserted in a slot and you try to use PlugSearch, you are required to first remove it in order to then add a new one on that same slot.
  • Since I'm already running KM, if I can emulate the same behavior there, I would not be using another app that's running in the background. I want to avoid having too many apps running at the same time.

So my question still remains: is it possible to have KM find a particular text on that menu without using the Click at Found Image? :slight_smile:

You don't need to. Once the menu is open, just type enough letters for the plugin to be selected and then hit ↵ :

image

Are you on the latest release? It opens immediately for me.

...and you won't be able to with KM either. I've been speaking to Rinus (the developer) about this. The latest beta allows for drag and drop to any empty slot and he's working on trying to implement dropping between occupied slots.

Triggering PlugSearch when the mouse is positioned over an occupied slot will automatically remove the currently loaded plugin. However, I'll suggest to Rinus that he include an option to replace that plugin. I think that's a good idea!

PlugSearch is very resource-light, so I wouldn't worry about that. When I sort by CPU usage, it doesn't even appear on the visible list. I'd understand wanting to try to emulate PlugSearch's capabilities if you hadn't already bought it (I'm assuming you have...?), but you're not going to be able to recreate that functionality entirely.

1 Like

It's more "complex" that that, because of the hidden plugins such as delays. I will have to create an action for DELAY, Right Arrow, Delay Designer (for example). But yeah, you pointed out a good thing that will certainly help me emulate it by typing. Thanks! :slight_smile:

Yes, version 3.1.
It's not as immediate as clicking the slot. Maybe it's something to do with my computer, I don't know, but it's not 100% immediate. As I said, it's "just" like 2 seconds, but it's enough to get a bit "annoying" haha

Yes I will. I just need to place my mouse where I want the plugin to go, type a shortcut to show all my macros for each plugin, type the text to find the right macro for the plugin I want to insert, then that macro will make the mouse click, type the words for the plugin as you suggested, etc. I will also be able to replace the current plugin without first removing it.

Yes, that's what I mean. You first need to remove it by triggering PlugSearch. With the macro I'm thinking about, I won't need to. It will behave the same way as if I was doing it manually.

Maybe it's just me being "paranoid", but even if an app is not using a lot of resources, if it's running it can eventually cause some kind of conflict with another app, or create spikes here and there. I don't know. I try to stay away from having too much stuff running. Also, I want to have everything as grouped together as possible and having few apps installed. I also bought the GainControl plugin, but I'm also trying to convert that into KM so instead of 3 apps running at the same time, I will have only one.

I did, and it served its purpose for a while, but since I started using KM, I'm trying to bring everything into it as much as possible.

Delay Designer.kmmacros (4.2 KB)
This is an example and it's working :slight_smile:

Sure, this is extra work compared to PlugSearch where you just drag and drop all the plugins and you can even scan new ones, but having the option to have plugins in between other plugins and replacing the current plugin with another one, seems like a good thing.

Yes, that goes without saying.

Drill - Plugin.kmmacros (48 KB)

Macro screenshot

I used to have my own mouse positioning macro, but I got rid of it when PlugSearch included it, so add your method at the top and replace the plugin hierarchy, delimited by a comma and space, as shown.

If you mean this, yes you can, and PlugSearch already does that. It selects the first available slot. In addition, the new drag and drop feature (in beta) means you can drop a plugin in any preferred empty slot.
Pasted_Image_04_06_2022__18_37

If you mean this, no you can't do that with KM, and neither can PlugSearch, but it will soon.
[Edit above: I was talking out my :peach:]

Pasted_Image_04_06_2022__18_36

Yeah that's something PlugSearch can't do yet. I emailed Rinus about it today.

Nope, not once in all the years I've used PlugSearch has this ever happened. For peace of mind, you could get KM to launch it when you launch Logic and quit it when you quit Logic. That way it's only running when you need it.

You sure can. I just did it. If you place your mouse in between them and you use the macro I shared, you will. You need another macro to open the other macro. I forgot to share that, but it's just a macro that triggers the Trigger Macro by Name action.

That's also a good option. Didn't think about it. Maybe I will be able to use it for GainControl, since it seems that I won't be able to emulate that with KM. Or at least, not yet haha

I will check this and see if I can understand your thought process there with the variables and all that. For now, my method seems to be working just fine, but I'm always curious about how others get to the same result, since I'm still learning KM.

I mean, I've seen lots of people having issues with Logic and I haven't experienced them ever, so I guess each computer is different. And even when something weird happens, it's not always obvious or easy to know what caused it, even if it was a light-weight app such as PlugSearch. At least, not for a regular user such as myself. :slight_smile:

I apologise. Yes, you can indeed! I stand/sit corrected!

If you really want to remove GainControl from your setup, I've provided Region Gain and Fade macros that do the same thing and can be easily adapted to work however you like.

It's quite simple. Instead of having to create separate actions each time you want to type and hit the right arrow, the macro automates that. So you just type the hierarchy of the plugin you want into the box with commas and a space between each level.

Let's say I want to select this plugin:

image

The way you're doing it, you have to do this:

29ed61c53a04d9aaf8c65fb139ec21d90b99bb57

...whereas with the Drill macro, you just edit one box and the rest is done for you:

I've added a click at the current mouse location to the start, so it will work out of the box. Try it for yourself:

Drill - Plugin.kmmacros (49 KB)

Macro screenshot

Yeah tell me about it man! All I can say is that every time I have had an issue, it ain't PlugSearch, as it doesn't do anything until you tell it to. It isn't 'working in the background', so to speak.

Thanks. Just downloaded it. I can't seem to understand how to make it work:

  • It's not reacting to my shortcut. I added the control+option+up arrow as my trigger. Also changed the AppleScript code line to my Logic version (10.6.3). Nothing happens.
  • How would I know how to set a shortcut to 1dB, 3dB or 6dB? And do I know if it's increasing or decreasing? I'm not familiar with AS... Can you clarify how to achieve that? :slight_smile:

Awesome! I just made it work. Thank you! It's still a complex thought process there with the variables and all that. If you mind explaining, great. If not, it's totally ok too. I can live with that :wink:

Maybe it's just me, then, but it "bothers" me seeing a lot of apps up there and all I think is: "they must be doing something" haha
And if KM can do it, then I only have to rely on one app. I will still keep those 2 apps anyway, just in case.

Also, I noticed that you have a condition to see if it finds that image of the down arrow and the word Region. It would be good if KM also tries to find the other version, when the region inspector is closed and if so, click it. That way we don't have to rely on the window being open. KM would open it for us. Where would I add that?

I saw that you have a setting I never used under Pause Until Conditions Are Met which is when you use "in area" and then have some "coordinates". I have no idea what that means and why you're using it. Can you explain?

As I said, they need to be adapted. Those macros are in the Stream Deck section, as I have them mapped to buttons like this:

Region Gain:

image

Fades:

image

That's how I use them, but you can use them however you prefer.

As an example, here's +/-3db set to ⌃⌥↑ and ⌃⌥↓ respectively. To change the amount to 1db, change the values in the If/Else to 10 and -10. For 6db it would be 60/-60, 9db would be 90/-90 etc...

Region Gain +--3db.kmmacros (42 KB)

Macro screenshot


Here are two macros for fades; one for fade in/out and the other for equal power crossfades. Triggering them will prompt you to enter a fade amount which currently defaults to 200.

Fade - In-Out - Prompt.kmmacros (39 KB)

Macro screenshot


Fade - EqP - Prompt.kmmacros (39 KB)

Macro screenshot


The Search and Replace action replaces each ", " in local_DataStr with a line break using RegEx. So now the variable contains all the levels of the user-defined plugin hierarchy on separate lines, which means we can use a For Each to do something for each line. What we do is type the line and then hit →.

This is my submacro for closing the Inspector and its Track drop-down. This is handy when you want to ensure channel strip elements are not being obscured:

Inspector - CLOSE (SUB-).kmmacros (72 KB)

Macro screenshot

Here's my submacro for opening the Inspector. If you call this with the parameter "more", it will also open the More dropdown. Handy when trying to access the region gain and fade parameters:

Inspector - OPEN (SUB-).kmmacros (85 KB)

Macro screenshot

Call the above submacros by placing an Execute a Macro action at top of the macros that will call them. For example:

Region Gain Presets macro:

Fade macros:

Drill - Plugin macro:

Which macro? Can you screenshot the bit you're referring to?