How to Select a Virtual Instrument in Logic Pro X. Is It Possible?

I know you said you don't have easy comprehension but the below area will help a lot. In order for this to be a success, then we will have to get to a baseline level of communication on the capabilities of Keyboard Maestro. If not, we will talk pass each other. I think your proficiency, in using Logic Pro X, qualifies you to figure out how Keyboard Maestro can help you. You have to invest the time to learn the basics. If you can bounce tracks, side chain compression, quantize, mix tracks etc, you can do it.

Here are some links that would help you (complied by @JMichaelTX) :

Getting Started with Keyboard Maestro

For more help, see Getting Started with Keyboard Maestro and the Forum .

The Plug-ins:

There are two main Keyboard Maestro plugins available for the StreamDeck.

The Keyboard Maestro team created one.

and

KMLink.

These StreamDeck plugins allow you, within the StreamDeck Application, to add your Keyboard Maestro Macros to StreamDeck buttons.

The above links should help.

If you learn better by video, check out this one from David Sparks' Keyboard Maestro Field Guide.

The bottom line is that Keyboard Maestro can do exactly what you requested and will take very minimal effort to do so.

KC

You are too kind, Kenneth, thank you. So much great information. Most generous.

What you write is true. I've been a Mac/Logic user since the 90's and, along the way, there have been challenges but mostly pleasant surprises. I've made it through, unscathed, and with no (permanent) damage to my career.

Frankly I don't really need to use KM, or even Stream Deck. But already, in less than a week of purchase, Stream Deck has sped up certain tasks. My simple, outstanding requirement is what my post is about. If I can crack that, I'm in button-push heaven. Stream Deck is highly addictive. And damn cute. It's great to see KM supporting it, because it's here to stay.

I'm going to do as you advise, so I'll start with a trial version of KM. I really do want to get this AU opening thing accomplished ASAP. After that, it's a matter of "at your leisure". I'm not really that interested in conjuring up elegant answers for intricate, fiddly key commands, because I don't really work that way. But I'm sure, the more I look, the more I'll see a use for KM. I think voice command is the future, by the way.

Thanks once again, for the wonderful advice and links. I've already got your plugin and the KM one installed. I'll update you on my progress.

M

Hi, Kenneth. Success! After much hair-pulling and head banging I got it to work. Now I can use the attached as a template to create others, like softsynths, other players, and FX plugins.Much quicker than manually invoking plugins.It's a thing of beauty.

I have two questions. If you compare mine to your original Guitar Rig example, you'll note that your trigger contains: "(when Logic Pro X is at front)". I've been unable to find out how you did this part.

Secondly, and this may be connected to the first question: my first action differs from yours in the "relative to the" part. Mine is: Main screen's corner. Yours is: front window's corner. In all other respects, I've been successful in getting Kontakt multi and stereo to open.I even got it to work in Stream Deck, thanks to your excellent custom link.

I couldn't quite fit all my macro's details in the screenshot. The final, "Return" action is missing, but you get the picture.

I hope you can clarify my queries.

Many thanks for helping me get this far! Don't know what all the fuss was about :neutral_face:

abf92b3ebfe461837b6bab5b915b545514acfc18_2_690x1155

m

Michael, I'm a longtime Logic user too and got curious about setting this up for myself. Thought you might find the following helpful. Really... I can't say enough good about KBM. Yes, there's a learning curve, but there is with Logic as well.

To walk you through my macro (see image below), I've put a comment prior to each action that KBM takes. Most importantly, the very first action shows KBM an image of the Instruments slot (button) and helps KBM find it with some screen coordinates narrowing down where it should look. I've just made a bunch of these – for Retro, ES2, Sculpture, and now Kontakt, which is nested under Favorites on my setup – and tested it with a range of 0 to 5 audio fx already loaded, meaning that the Instrument slot's vertical position varies pretty nicely and it still works. And it's fast.

Here is video of it in action. I show a track with no audio FX, then 3, then 6. The green highlighting results from checking the Display checkbox in the Find and click... action; it is a debugging tool, and it helps us see how accurately KBM is finding the sought image.

HTH,
CK

Hi everyone, I'm new to the Logic world, and I'm curious about instruments. I mean is there any difference between virtual instruments and real stuff. I have a chance to get an AKAI keyboard for a good price. But not sure if I need it cause it took me some time to get on well with virtual ones.

Hi. The keyboard to which you've linked is what's called a MIDI controller. It does not have its own sounds; it serves purely to trigger instruments hosted elsewhere – for example, the virtual instruments in Logic. You'd connect this Akai to your computer by USB, then when you play it, whatever virtual instrument(s) are currently record enabled in Logic would respond.
When you ask about differences "between virtual instruments and real stuff," I'm not entirely sure what you're asking. Would you please clarify?
CK

Hey guys. Just wanted to share my method. My KM macro pastes the name of the desired Logic plugin into PlugSearch, after figuring out the best place to insert the plugin, using multiple found images and nested if/else actions. When a button is pressed, it will either:

a) insert a new instrument plugin if the visible track header contains an empty instrument slot or...
b) insert an audio plugin in the first available track header slot.

I'm using a Stream Deck and the excellent "KMLink" plugin to assign a different Logic plugin name to each button. All you have to do to set up a button is enter the name of the Logic plugin name into that button's KMLink parameter box (in lower case), which is then passed on to KM to paste into PlugSearch.

Here's a demo of it in action.

Looks really slick. How is the first available plugin slot determined? Is that a function of PlugSearch or part of your KM macro?

I've made a few types of plugin selection macros used on various Stream Deck buttons (using the KMLink plugin), depending on the type of plugin being selected. The Stream Deck passes on the name of the plugin from the KMLink parameter box to Plugsearch via pasting in KM.

  • Insert plugin - inserts selected plugin or instrument in next available slot using Plugsearch.
  • Insert plugin (Waves) - as above, but also determines whether selected track is mono or stereo and selects the corresponding version of the Waves plugin.
  • Insert instrument - creates a new track if an empty instrument slot isn't already available, then adds the selected instrument plugin.
  • Insert Melodyne ARA - inserts Melodyne ARA by navigating Logic's plugin menu (due to a limitation of Plugsearch).
  • Insert Melodyne ARA and de-ess vocal - inserts Melodyne ARA and automates de-essing to -40%.

On top of all this, if I hit the regular keyboard shortcut for Plugsearch, it will function as normal, allowing me to manually search for any plugins not already mapped to Stream Deck Buttons. If the mouse is hovering over a specific slot, it will open the search box there. If not, it will move the mouse to the first available slot and then search.

To your question: the same mouse positioning macro is shared by all of these insert-plugin macros and uses a lot of found image and if/else actions:

  • Determines whether your mouse is over a specific plugin slot. If not, it selects the next one available.
  • Determines whether you're on an instrument or audio track (this is necessary in order to use the correct found image for finding the first available slot).
  • Positions mouse over the first slot, or if that isn't empty, the first available slot thereafter. If an empty instrument slot is available, it will default to this.
  • There are additional found images that ensure that the next slot will be selected whether or not it's after an enabled or disabled plugin.

Most of the complexity of the positioning macro comes from the use of found image. With a lot of thought and ongoing refinement, it's become quite reliable.

Here is the positioning macro. If you come up with a better way of doing this than using found images (I doubt it's possible as Logic is notoriously unscriptable), please let me know!

Plugin - Position Mouse.kmmacros (133.6 KB)

1 Like

Thanks for the thorough reply.

I'm just getting started with this so if I come up with a better way it will be only by stumbling across it by accident.

Just thought I'd update. I've been speaking to Rinus at PlugSearch for quite a while and he's implemented some things I've been asking for. Most importantly, it now automatically loads plugins to the next available slot. It's beautiful!! Combined with my Stream Deck and some simple macros, I can now easily set up a button to load a plugin by simply adding its name to the KM Link parameter box.

Plugsearch Macros.kmmacros (539.4 KB)

  • De-Ess: Inserts Melodyne ARA and reduces sibilance by 40%
  • Instrument: Adds an instrument, creating a new instrument track beforehand if one isn't selected.
  • Plugin: inserts a plugin in the next slot. It also removes the EQ that I have set up for every audio track by default if I'm inserting Melodyne ARA (as it has to be first in the chain) and sets the sidechain input for the Duck plugin to my trigger track. You can delete these groups if they're of no use to you.
  • Plugin (Waves): inserts a Waves plugin in the next slot and accounts for mono/stereo instances.
  • Search: uses PlugSearch with my chosen key command. This is because PlugSearch requires you to use a key with a modifier and I don't want to do that. I just want to hit the ` key.

In PlugSearch prefs, I have Universal set to ctrl+§ and Instrument set to alt+§.

Bonus 1: I've figured out how to easily load channel strips presets. All you do is type the folder hierarchy into the KM Link parameter box, separated by a comma and a space. As an example, let's say I want to load the Jazz Standard organ preset.

I'd type this into the parameter box:

leg, log, 05, 02, jazz

Load Channel Strip Preset.kmmacros (54.5 KB)

Bonus 2: I've also figured out a way to load library patches without having to click around the clunky library pane. This uses Alfred's search filter function, with this simple custom workflow:

Logic Patch Search.zip (1.5 KB)

Make a Stream Deck KM Link button and enter the name of the patch you'd like to load into the parameter box. Link it to this macro:

Patch via Alfred.kmmacros (61.9 KB)

1 Like

Hey! Thanks so much for posting these and sharing your workflow. I want to, as you have described, launch plugins, instruments, and library patches directly from my Streamdeck (I have plugsearch, keyboard maestro, and the KM link plugin). Unfortunately, I haven't gotten any of your macros to work, and I was hoping you could help me figure out how to get up and running.

You mention that "In PlugSearch prefs, I have Universal set to ctrl+§ and Instrument set to alt+§." I don't have these options in the plugsearch preferences - I'm running version 2.12 of Plugsearch, which according to the Speakerfood website (at the time of writing this) is the latest version.

Also, I didn't quite understand how the "Logic Patch Search.zip" file integrates with the "Patch via Alfred.kmmacros" file. What application am I supposed to use to run the logic patch search file? By default, it tries to open with text edit, but when I try opening the file, it says the format is incorrect.

Maybe there are some discrepancies between how I have things set up and your macro presets, but I'm not familiar enough with Keyboard Maestro to be able to diagnose a potential issue and/or re-create your macros from scratch to work on my system. Would appreciate any help, let me know if you need any information - thank you!

Thanks for taking the time to check it out. This was my first real post of my own macros on the keyboard maestro forum, and I duplicated some of the relevant ones here. There's a lot to keep track of and one thing I completely forgot was that the developer, Rinus, had sent me a beta version of PlugSearch, so the "universal" option won't be in your version I'm afraid. Apologies for the oversight. I'm sure if you emailed him, he'd be happy to send you the beta. I'm tempted to send it to you myself, but I don't think it's really my place to do so. Maybe he wouldn't mind, but maybe he would; I'm not sure on the etiquette there.

As regards the library patches, you'll see in the main thread I linked to above that I no longer use Alfred for that. This was mainly because I realise that not everyone has it, so I tried to come up with a method that's more universally applicable. Let me know if that method works for you instead.

1 Like

Thanks for the info! I e-mailed Rinus and he said the update will be out on November 1st, so I'll wait till then. I tried out the strip preset macro listed in the main thread but it still doesn't work - at first I was getting this message from KM: "Move or Click Mouse no unique image found..." and then when I tried it again a few times later my mouse cursor would just get stuck or glitch out and I'd have to restart my computer... so not sure where I'm going wrong. Please let me know if there's something obvious I'm missing/doing incorrectly, if not - I'll make sure I invest some time getting more familiar with KM and try to build similar patches from scratch and see if they work on my system specifically. Thanks!

Sorry, I only just saw this. Regarding the preset macro:

  • Check that the found image actions within the "Close Inspector?" group and the group below it are searching in the right screen/area according to your configuration.
  • If this doesn't remedy it, you may need to experiment with taking your own screenshots of the region drop down text and the top of the Channel Strip menu button. You'll want to capture the top of the button and some blank space above it, making sure that it crops above the top of any text on the button itself. Also, in order to differentiate it from the adjacent buss/output strip, either include a little of the screen edge and the border between the strip and the adjacent bus/output strip (as you'll see with the included image), or select "Leftmost" rather than "Best" in the action settings.
  • If you find your system ever locks up when running a macro, try this rather than a restart:

Kill All Macros.kmmacros (1.3 KB)

1 Like

PlugSearch has a new feature that solves this problem once and for all!

image

1 Like

Hi Neil.

Thanks for all your input here, very useful. I don't suppose you have any experience with using Metagrid Pro? I'm trying to create a button on Metagrid Pro on my iPad which just creates a new Kontakt instrument in Logic Pro. I own both PluginSearch and Keyboard Maestro (obviously). Thanks for any insight you might be able to offer.

I don't have Metagrid Pro but try setting Kontakt as a midi favourite in Plugsearch and then send a midi message from Metagrid with these settings:

Channel 2
CC110 (by default)
Value: the number Kontakt appears in the PlugSearch midi favourites list

Thanks Neil. By "midi favourite", do you just mean make Kontakt a favourite in the Instruments (rather than Audio FX and Midi FX options) favourites section in the PlugSearch Plugins menu?

1 Like

BINGO! Done it. Brilliant suggestions, Neil. Thank you.

So, for anyone using Metagrid reading this in the future... do as follows:

In PlugSearch:

  • Set Kontakt as an Instrument favourite in Plugsearch (in Plugins sub menu). I've put it in slot 1.
  • In "Preferences" set MIDI Input Port to "Metasystem - MIDI - In" and MIDI CC Number to 110 (as Default).

In Metagrid:

  • Create a button.
  • Create a macro with two actions.
  • 1st action: select "Logic Pro X" from the "Integrations" list, then select "New Software Instrument Track". This macro creates an empty Instrument track in Logic.
  • 2nd action: select "Continuous Controller" from the "Midi Messages" list.
  • Then input the following settings:

CC: 110 (by default)
Value: the number Kontakt appears in the PlugSearch Instrument favourites list, in my case 1.
Channel: 2 (Correct me if I'm wrong, Neil, but I imagine the channel number corresponds with the three Favourites categories in Plugsearch, no? So Audio FX is Channel 1, Instruments is Channel 2, and MIDI FX is Channel 3? If this isn't right, perhaps you could explain why you suggested using Channel 2?
This macro inserts Kontakt (or whatever is in Instrument favourite slot 1of Plugsearch) into the empty instrument channel.

Hope this helps.

1 Like