Clear all

Keyboard Maestro, VSTs and MIDI

Trusted Member
Joined: 2 years ago
Posts: 96
Topic starter  

NOTE: The following applies to Keyboard Maestro (KM) which is MacOS only. I'm not sure if AHK for Windows supports the same functionality, but maybe it'll give you some ideas.

When creating new Unify patches, I sometimes find it convenient to move through the presets in a loaded VST easily. Not all VSTs support keyboard navigation and, when they do, they often use different keyboard shortcuts and/or require the cursor to have focus on a particular part of the window.

While I was developing a set of KM macros to "Unify" many of my libraries, I had to come up with a generic and common way to load the next bank or preset. As with most window automation utilities, this involves using window coordinates to simulate mouse clicks. Luckily, determining the XY coords is a task that only has to be done once per VST. Since I already had done this work, it was pretty trivial to create a "unifying" (no pun intended) macro set that would allow me to use a common assignment of keystrokes to navigate through presets regardless of VST. In KM, I created macros for Previous/Next Bank and Previous/Next Preset using the shortcuts: ALT-< ; ALT-> ; CMD-< ; and CMD-> respectively. The macro determines which VST window is in the foreground and sends the corresponding mouse clicks to the proper XY coordinates accordingly.

Even better, KM allows macros to be triggered by many events including MIDI. This means that you can set up a MIDI controller and assign two buttons or a knob to navigate through the presets. Using special key combinations, I can also move through banks and presets on my outboard (hardware) synths. I can even type a number to jump directly to a particular patch rather than have to scroll through to get to it.

A few of my other uses for KM include:

  • I use a USB soundcard/mixer for audio output. This means that the volume Mute/Down/Up function keys on the Mac keyboard can't be used because they only support built-in audio devices. However, my mixer supports MIDI control so, using KM, I was able to re-purpose the same keys to send the MIDI commands to the mixer to perform the same functions.


  • Every time I launch Unify, its main window, all child windows, and all VSTs now open in the monitor of my choice. It also automatically opens the Browser panel (redundant since Unify 1.5) and displays the macro knobs.


  • I can now use CMD-Enter and ALT-Enter to click the Update and Save As buttons on the Unify Save dialog.


  • KM also supports creating HTML dialogs to gather information or display data. I used this to make utilities that allow me to select from a series of pre-defined categories and tags that then get auto-populated into Unify's Save dialog. By pressing CMD-; while this dialog is displayed, I get a popup with checkboxes for all the Categories and Tags I use. Any categories and tags in the Save dialog have their checkboxes automatically pre-selected. This speeds up entry, avoids common typos and aids with making consistent labels for those fields.


  • Using this set of macros and utilities I re-categorized and re-tagged all of my Unify patches to my liking. I find tags such as "scary" or "whispy" useless because they are too subjective. So I came up with my own system that re-purposes the Category field to indicate the Instrument types (BASS, FLUTE, GUITAR, PIANO, PAD, etc.) and uses the Tags field to denote patch Attributes (ACOUSTIC, ARPEGIATED, CHORUSED, DISTORTED, GATED, PHASED, STRUMMED, etc.)

Hopefully, this will inspire others to come up with KM macros that improve their Unify experience in persomal and unique ways.


Joined: 1 year ago
Posts: 433


Some really interesting and useful ideas here, thanks. 👍 

I'm not a Mac user (yet) but it's certainly food for thought regarding other uses for AHK.