Finale is an incredibly powerful program. But it can be frustrating at times — like if you want to tweak the program to your own liking. This is the case especially on Mac, where custom keyboard shortcuts are relegated to System Preferences > Keyboard > Shortcuts. That’s where a macro program like Keyboard Maestro comes in ($36, from Stairways Software).
You may be thinking to yourself, “Hey, I’m pretty good at Finale. What could you possibly show me to make my life better?” Well, let’s tackle this a few steps at a time.
What is Keyboard Maestro?
It’s a separate program that runs in the background, allowing you to take full control of the program you are working in, and trigger it with keyboard presses. If you can do it manually in Finale, you can automate the process in Keyboard Maestro (KM).
Let’s look at some basic examples. First, here is a simple trigger to switch to Speedy Entry, my personal favorite.
As you can see, you tell KM to select “Speedy Entry” from the menu “Tools” in the “Front Application.” Then you set a “hot key” to trigger it. I use the ` key (grave accent), as it is not used for anything else and is easy to reach with just my left hand. I have hot keys setup for each tool in Finale. It’s pretty simple to do yourself.
That seems cool, but pretty simple. What else can you do?
Custom edit filters. As you may know, you can bring up Finale’s Edit Filter dialog by Shift-Option-clicking a bar. Then, you can manually select what you want to be copied. We can automate that whole process. Let’s take a look.
This macro will select only text expressions and smart shapes assigned to notes. Here’s how it works.
- First, it makes sure you’re in the selection tool. This is assuming you’re going to want to copy something when you’re finished.
- Then, it selects the “Edit Filter” from the “Edit” menu.
- Then, it deselects all the choices by hitting the “None” button.
- A short pause is added so it doesn’t accidentally rush into the next step.
- Now for the fun part. We have to assign mouse clicks to toggle on the categories we want. You’ll see in the screenshot above, there is a button Get. This allows you to hover your mouse where you want KM to click, and it assigns the screen position based on the settings. Here, we want it set to click from the top left corner of the front window. Now, no matter where on the screen the Edit Filter window is, it will always click in the correct spot, relative to the window.
- The first click toggles on the “Expressions: Dynamics, Expressive Text, Technique Text, and Misc.”
- Then there’s another short pause.
- Then, it toggles on the “Smart Shapes (Assigned to Beats)” (position 45,211).
- Then, another short pause.
- Last, it hits the “OK” button to finish the job.
When you run the macro, the whole process should take less than a second. It’s really fast. After it’s finished, the Edit Filter should look like this:
A more complicated macro
This one will take a sounding string harmonic, and turn it into the correct written notation for a “touch 4th harmonic.” Here it is in action, so you can see how fast it all goes.
And here’s the actual macro programming:
Let’s take a look at what is happening:
- The first few steps will clear any articulations attached to the source note. Handy if there is already a harmonic circle on the note.
- Now we need to drop the note 2 octaves, and add a note a 4th above for the harmonic node.
- We choose the Selection Tool, then press 8 two times to drop the note two octaves. (This is Finale’s default: 9 for up an octave, 8 for down an octave, 7 for up a step, 6 for down a step)
- Now we go to the Transpose menu
- It presses the buttons “Up” and “Chromatically”
- Then, it clicks on the “Interval” pop up menu
- It types the text “perfect fourth” and hits Return
- The next step is to make sure that the Preserve Original Notes button is toggled on. Here it’s a little more complicated. We want to make sure if the button was previously toggled off, that it is turned on. But, if it was previously toggled on, we want to leave it on. So, we use this cool equation. If the button is found to be off, then it presses it. Otherwise, it will do “No action.”
- Then it hits Enter to close the menu. We have now added the note a perfect fourth above.
- Last, we need to run the TGTools plugin to change the note a 4th above into a diamond. I have KM triggering a separate macro I already made for this. It just triggers the appropriate TGTools plugin, and hits Enter. Very simple.
Now, you may notice from my little animation above, that a menu popped up allowing me to choose “Touch 4th or Touch 5th.” Here’s how that works.
First, I created a similar macro for “Touch 5th” harmonics. Then, I assigned both harmonic macros to the same hotkey: Ctrl-Shift-H. When there is a conflict for a hotkey, KM will display a menu with all the macros that share the hotkey. You may notice that the macro name has a “4” in front of the name. KM will let you use the first number or letter of the macro name to quickly choose which one you want. So, in practice I hit Ctrl-Shift-H and then I hit 4.
A pro tip
You can better organize your macros using groups. Remember how we had a hotkey conflict above? This allows us to reuse common hotkeys without running into conflicts. Also, it’s setup to show the palette for only one action, so you don’t have to worry about getting stuck in the wrong group by accident.
For instance, I made a Group called “Finale 25 F10.” Now, I can put a bunch of related macros all into this group. So in Finale, I hit F10 and then it brings up the menu showing the contained macros. Now that we’re in the F10 group, it will only trigger hotkeys within that group. As you can imagine, this can free up your keyboard dramatically!
We’ve only scratched the surface of what you can do with Keyboard Maestro. I hope this gets you all thinking about the types of tasks you can automate. Any time I do a task more than once, I make a macro for it. It will make your Finale life easier, and it’s just kind of fun to program macros once you get your head around it. Of course, don’t just limit yourself to Finale. You can program macros for any program on your Mac!
Download the Keyboard Maestro macros used in this article.
Special thanks to Tim Davies for originally turning me onto macros with QuicKeys.
Yes! Totally agree, I won’t use Finale without it.
I second that!
Not to mention one can extend this further by using a tablet running TouchOSC or Lemur in conjunction with Keyboard Maestro. The benefit of this approach is that it allows one to organize macros by function or frequency of use and display them visually (which is helpful for infrequently used macros).
Have you tried using Quadro? I also started with TouchOSC, but I switched to Quadro and the differences are huge, or at least that is my personal experience. However, I haven’t known anyone else who uses it to talk and compare.
Thank you Alex and James!
As I understand, Quadro is iOS only, which prevents me from trying it (I’m running Lemur on a Kindle Fire 8HD). Plus, I’ve not noticed any particular slowness with my setup. It is curious that there would be major differences in their relative operation (not that I’m doubting you, just that it seems like something where any differences would be microscopic).
Tim Davies uses TouchOSC to use his iPad to trigger KM. He’s shown me how to do it, but personally I find it to be another added layer of complexity. I have all my common shortcuts put into groups, so once I trigger the macro group (F10 in my blog example) it brings up a list of all the macros with their keyboard shortcuts displayed. So, it’s less to have to remember. If it works for you, go for it!
Hey Jeremy! (Great post by the way!)
It was Tim Davies’ workflow video that actually got me to try the Lemur/TouchOSC macro method (and though I’m using Lemur, the layout is rather similar to his TouchOSC files). I had already been using a gaming keyboard (in conjunction with my regular keyboard) to implement KM macros, and that was great except it became a little unwieldy as the list of macros grew (even with the keyboard’s 8 sets of 30+ macros callable from just one profile).
It’s interesting, though, that you have your macros grouped within KM though, as it’s a solution I had never before seriously considered—mostly because it seemed quicker at the time to just keep adding on modifier keys to create a new unique input string for KM to process; by the end, certain KM macros were being invoked by strings like cmd+opt+shift+F5 (which would have been impossible to invoke without a separate keyboard mapped to perform those keystrokes with a single push). Obviously, porting some of those over to a small tablet running Lemur has allowed much of that to be re-simplified because of the visual reinforcement, but your post is making me wonder if I should have more-seriously considered the implementation you took, as it probably has resulted in you being able to keep more of your desk-space clear of extraneous peripherals (like a second, single-handed keyboard and a tethered tablet)! Oh, the clarity of hindsight to keep one’s head from growing too large!
Alex, glad you enjoyed the post!
Yeah, reclaimed desk space is a real perk. The idea to use groups came from translating macros over from QuicKeys. QKs had a function called Sticky Keys. It allowed you to press a single hot key, and then press a 2nd keystroke to trigger a macro. It’s basically the same functionality of the KM groups.
As always very useful info here!
I just wonder what could you consider are the advantages of using this program instead of the FinaleScript tool?
I run an app called Quadro for iPad/iPhone, and I launch all my macros with it. I created the same “touch harmonic” macro but it seems that FinaleScripts needs fewer steps. If you have used both, have you compared the speed?
James, I think one main advantage is that Keyboard Maestro can control any app, not just Finale. It can also control mouse clicks, MIDI input, and many other variables. So if you use several programs, it is probably easier to just do everything in Keyboard Maestro. That said, if you know how to use FinaleScript, it can be very helpful, and there’s no reason you can’t use both.
You can incorporate Finalescript into your macro workflow just as easily, but you’ll hit some limitations. There are some really cool things you can do with KM involving text variables. For instance, I use it to bring in a midi file from Digital Performer. I have it save the filename from DP as a variable, then I can automate entering that info into the File Info dialogs. Similarly, you can use it to copy and paste multiple File Info fields from one file to another using multiple variables.
I’m curious (just getting started with KM now), how did you determine the co-ordinates for the mouse clicks in the popup windows? Is there a reason you can’t use the “push button” or some similar kind of function to have it click instead of a co-ordinate basis?