Automating Finale for Windows

A frequent question for Windows users of Finale is if there is any equivalent to Keyboard Maestro, the popular macro utility for MacOS. Unfortunately the answer is no: There is no solution for Windows that is both powerful and easy to use.

The available solutions – AutoIT and AutoHotkey – are still powerful, but nobody would ever really call them easy to use (especially not in comparison to Keyboard Maestro).

With that said, I’m going to give a brief tutorial on how to begin using AutoHotkey to control Finale, at least to do simple tasks like call up menu items. I may tackle more complex automation in the future.

AutoHotkey is actually an offshoot of AutoIT, and as its name suggests it is particularly well suited to the task of creating hotkeys. You can create scripts using any simple text editor, such as the excellent Notepad++. I’m going to start my macro file off with a series of parameters I’ve cobbled together through internet searches. Most of these parameters aren’t super important to what we’re about to do and in fact could be left off, but it’s easy enough to add them in:

SetWorkingDir %A_ScriptDir%
CoordMode, Mouse, Window
SendMode Input
#SingleInstance Force
SetTitleMatchMode 1
DetectHiddenWindows On
SetControlDelay 1
SetWinDelay 0
SetKeyDelay -1
SetMouseDelay -1
SetBatchLines -1

Some of the more useful lines in here are:

  • “SetTitleMatchMode 1” – this tells AutoHotkey to only loosely match the name of the active Window, which is important because the name of the window will change with each document, but will always start with “Finale”. For this reason, we don’t want it trying to find an exact Window name.
  • “#SingleInstance Force” – This tells AutoHotkey you want only one instance of the script to run at once – useful during setting up your macro file.

Following this preamble, add this line of code to tell AutoHotkey to only apply the hotkeys when Finale is active:

#IfWinActive Finale ahk_class Finale

Now we can start adding hotkeys. A hotkey is defined by first declaring the Hotkey followed by two colons. The modifier keys each have special characters:

  • Ctrl is ^
  • Shift is +
  • Alt is !
  • Win is #

I’m going to set up F4 to access the Speedy Entry Tool. I start with this:


Note that if I had wanted, say Ctrl+Shift+F4 I would have used ^+F4::

Next I add the code to execute. This could be as simple as sending alternative key strokes… In fact, for years I used the following as my execute code:

Send, !ts

Meaning “send Alt+t” (which calls up the Tools menu) “then still hold Alt send s” (which activates Speedy Entry). How did I know what letters to use? In Windows menus, items are keyboard accessible by hitting Alt and the underlined character in the menu item.

I’ve never really had issues with using this method, but there is another way, which is to use the WinMenuSelectItem command, like this:

WinMenuSelectItem, , , Tools, Speedy Entry

Let’s pull this apart. The first element is the command itself, WinMenuSelectItem, which tells AutoHotkey to activate a menu item. This is followed by two parameters WinTitle and WinText that I have chosen to leave blank (parameters in AutoHotkey are seperated by commas), as in my experience their usage seems a little finicky. This is followed by the name of the menu to access, followed by the menu item itself. If there were any submenus involved, they would also get listed. As an example, if I wanted to access the ‘View/Show/Hidden Notes and Rests’ command I would use:

WinMenuSelectItem, , , View, Show, Hidden Notes and Rests

I should point out that I try to be very accurate with capitalization here, though AutoHotkey actually doesn’t really care. AutoIT does, however, and since I have also used that for some Finale automation in the past I’ve gotten into the habit.

Finally, end each hotkey macro with Return. If you are going to be doing multiple hotkeys in the same file you might find it handy to write notes to yourself using comments, which start with double semi-colons ;;. There is no limit to the number of different hotkeys you can add to a single file, though trying to assign the same hotkeys to different macros will result in an error.

Save your file with the suffix .ahk. You can either run the script file directly, or convert it to a standalone executable file (.exe). I ensure my macros are always available to me by also dropping a shortcut to my script in my StartUp folder.

Here is the entire file:

SetWorkingDir %A_ScriptDir%
CoordMode, Mouse, Window
SendMode Input
#SingleInstance Force
SetTitleMatchMode 1
DetectHiddenWindows On
SetControlDelay 1
SetWinDelay 0
SetKeyDelay -1
SetMouseDelay -1
SetBatchLines -1

#IfWinActive Finale ahk_class Finale

WinMenuSelectItem, Finale, Finale, Tools, Speedy Entry

I hope this helps some poor Windows users out there. I really, really wish there was a solution as easy to use as Keyboard Maestro on Mac, but with a little effort AutoHotkey really does offer a similar level of power.

-Jacob Winkler

MusicXML Dolet Plugin for Sibelius Beta Coming Soon

This press release just appeared on the website and I thought it worth sharing (source:

Over the past few months MakeMusic has been working to update their free Dolet® for Sibelius plug-in for exporting MusicXML files from Sibelius.

Original development was centered around being able to transfer Sibelius files into MakeMusic’s SmartMusic more easily, but it was soon apparent that this would be useful more generally.

It has been over five years since the plug-in has been updated. MakeMusic wanted to take advantage of the new features of both MusicXML 4.0 and Sibelius’s ManuScript programming language to get better MusicXML files out of Sibelius. This should make it easier for people to transfer their music from Sibelius into SmartMusic, Finale, and other music notation apps.

To apply for the beta test, please fill out the application form. This will let them know what type of test coverage they will be getting in terms of both Sibelius versions and applications that will be making use of the exported MusicXML files. If accepted, you will receive information about accessing the beta versions during the week of November 29.

The Dolet 8 for Sibelius plug-in requires Sibelius 2019.5 or later. Restricting to later versions of Sibelius makes it much easier to support the plug-in and make use of the latest ManuScript features.

There will be 50 new features and fixes available in the initial beta release. Here are 10 of the highlights:

  1. Concert scores now export transposition information, including alternate clefs for transposed parts.
  2. Concert scores with octave-transposing parts such as guitar and piccolo now export correctly.
  3. Cross-staff notation is exported starting with Sibelius 2021.9.
  4. Dynamic parts can be exported all at once using the new Export Parts to MusicXML menu item.
  5. Page-aligned text is now exported except for headers and footers.
  6. Many more standard symbols are now exported.
  7. System directions export with the system attribute, providing better results when creating parts from an imported score.
  8. Text that mixes dynamics or musical symbols with words now export correctly.
  9. Metronome marks with numeric ranges now export correctly.
  10. Batch export no longer prompts for saving after each file.

Please consider joining the beta program to let MakeMusic know how it works for you in order to make the plug-in as useful and widely available as possible.

Original press release from November 22nd can be found here.

Finale 27 – Symbol Select for Expressions, Smart Lines, and More

Finale 27 introduced a powerful new feature that is easy to overlook, especially since MakeMusic hasn’t mentioned it in any of their marketing materials.

In almost every place you can add text in Finale, there is now an ‘Insert Symbol’ command added to the text menu:

Insert Symbol in Text menu

Note that this command has the shortcut Cmd+Opt+Shift+S on the Mac (Ctrl+Alt+Shift+S on Windows).

Invoking that command will bring up the new and improved Symbol Select window, including the category sidebar if you are accessing a SMuFL font. So why is this such a big deal? Because it makes actually using the ~2600 symbols in the SMuFL spec much easier.

more >> “Finale 27 – Symbol Select for Expressions, Smart Lines, and More”

Finale 27 – First Impressions

On June 15, 2021, MakeMusic released Finale 27, the first major release since version 26 was released in October 2018. The major features being touted are:

  • Interactive music sharing functionality using the SmartMusic platform.
  • Standard Music Font Layout (SMuFL) support, including new SMuFL-compatible versions of Finale’s default music fonts.
  • An Improved instrument list, including new instruments as well as better automatic configuration of sounds for playback.
  • MusicXML 4.0 support, including the ability to export/import linked parts.

Here are my first impressions of Finale 27 and these new features.

more >> “Finale 27 – First Impressions”

X / Cross Noteheads in Music Notation

X noteheads, also referred to as “cross” or “crossed” noteheads have a number of functions in modern music notation.

In percussion writing, they are the go-to for non-pitched metallophone instruments such as cymbals or tamtam or gong. For drum set, particularly in jazz or rock charts, cymbals are typically the most active part, and X noteheads help these stand out from the other parts on a 5 line staff.

In vocal music, x noteheads are often used tor spoken text, or for unvoiced sounds / vocal effects. In both instrumental and vocal writing, they can be used to indicate notes of indefinite pitch. And in jazz charts, X noteheads can be used to indicate “ghost” notes in a melodic line.

(for drum set writing, there is an actual “ghost” notehead, which is a regular notehead in parenthesis.)

Cross (x) noteheads can also be used as a special effect to indicate hand / finger damping of instruments such as guitar, or tuned percussion such as vibraphone.

more >> “X / Cross Noteheads in Music Notation”

JetStream Finale Controller Update Announced

If you are a Finale user, you may have already heard about JetStream Finale Controller. JetStream is a tool designed to increase your speed and productivity in Finale, which works with Elgato’s 15 key or 32 key Stream Deck hardware, its Mobile apps for iOS and Android, and also Keyboard Maestro for Mac.

JetStream Finale Controller is a community-driven project; written by a small group of Finale users with diverse backgrounds. JetStream itself is (and its developers promise) will remain, free to download and use.

Today, an update to JetStream Finale Controller was announced, with a number of new features, as well as various bug fixes and enhancements. Here’s what’s new:

more >> “JetStream Finale Controller Update Announced”

Perfect Layout Plugin for Finale

Music notation software has evolved considerable over the last 20 years, A goal for Finale and the other big players in this space continues to be automation; eliminating, as much as possible, the need for manual edits.

For instance, as of Finale 26, when you add more than one articulation to a note, they stack intelligently; and automatically adjust to avoid collisions with slurs. But collision avoidance of articulations is just the starting point for any good layout.

What if you could just enter notes and rests, articulations, phrasing and text, define a page size and margins, and the software would automate nearly all of the little details to make the music look great on the page? Magical, right?

Perfect Layout for Finale by Elbsound Studio aims to automate more than 100 processes for aligning, balancing and collision removal – and extends from articulations, and smart shapes to hairpins, lyrics and much more.

The Mac version of Perfect Layout was released today, bringing parity with the Windows version.

more >> “Perfect Layout Plugin for Finale”