Using FinaleScript

What is FinaleScript?

Created by Robert Piéchaud, FinaleScript is a powerful automation plug-in built specifically for Finale. The plug-in provides an interface for writing scripts with a very accessible syntax and grammar that will be familiar to most Finale users.

The FinaleScript scripting language is:

  • Goal-oriented. The purpose of FinaleScript is to accomplish specific notation goals for your music document(s) once or multiple times.
  • Procedural. FinaleScript performs tasks sequentially (line-by-line) using individual, human-readable commands.
  • Domain-specific. The commands defined in the language only work within the boundaries of the Finale program.

For example, instead of manually opening a document, changing the music spacing, transposing a staff, adjusting the page layout, and then saving the document, you might write a script that performs all of these tasks in order with the push of a button. With a little effort, you can automate just about any task in Finale.

Common FinaleScript tasks

Noteman says: When you install a new version of Finale on your computer, FinaleScript scripts and options are not copied from the previous version. To migrate these files, see To migrate settings and support files from one version of Finale to another.

Writing a FinaleScript script

FinaleScript structure

FinaleScript consists of a predefined set of commands, each of which performs a specific task. Each command is made up of one or more keywords and may support one or more parameters.

Full script examples

Let's dissect a few scripts that are installed with Finale.

Crafting a successful script

Most of the time, you'll want to create a script that does more than execute a single command. To do so, follow this process.

See also:

FinaleScript command reference