JetStream Finale Controller Development Diary – April 2020

If you have been using Finale more than a few minutes, you are probably already using a few keyboard shortcuts to keep from having to reach up and click on various tools and menu items on the screen over and over.

Shortcuts, Shortcuts, Shortcuts

First, there are the built in System level shortcuts found in all Mac and Windows programs; e.g. Open, Cut, Copy, Paste, Undo, Save, Save As, Print, Close, Quit. This group of shortcuts is not editable, obviously, since they are system wide.

more >> “JetStream Finale Controller Development Diary – April 2020”

JetStream Finale Controller Development Diary – March 2020

PREAMBLE

Let’s face it. With competition between music notation software programs heating up as never before, Finale, long the patriarch of modern notation software programs, continues to improve, but in some ways, is showing its age.

It’s not that Finale doesn’t have the power and flexibility of its competitors. Far from it. After 26 years, you can still make a valid argument that Finale is every bit as powerful as its competitors, capable of producing high quality output on par with anything else out there.

more >> “JetStream Finale Controller Development Diary – March 2020”

Creating a Sparkling Christmas Tree in Finale From Scratch

It’s the holiday season, so what better way is there to celebrate than by creating a sparkling Christmas tree directly in Finale. And yes, this tree sparkles and the lights twinkle as well. Even if you aren’t planning on recreating the tree, learning the process will give you lots of insights into Finale.

So let’s see how to do it.

more >> “Creating a Sparkling Christmas Tree in Finale From Scratch”

JetStream Finale Controller – Introduction to Stream Deck

JetStream Finale Controller – Prologue

I remember first hearing in early 2018 that some copyists working at JoAnn Kane Music in LA were using a new type of gaming controller called Elgato Stream Deck to speed up their workflow in Finale and Sibelius (in the case of Finale, no doubt in conjunction with with some sort of Macro program such as Keyboard Maestro).

While not designed specifically for music notation, the original Stream Deck is a perfect productivity companion for Finale. Stream Deck expands on the best features of previous hardware and software controllers.

Like the XKEY system, the original Stream Deck has tactile hardware keys (there is now also an iOS version).

One advantage of the hardware version of Stream Deck for a controller is that the tactile button design allows you to keep your eyes on the music on the main computer screen as you work.

A Picture Is Worth A Thousand Words

The XKEY system allowed you to print custom graphics icons and slide them under the key covers; the idea is great for music notation, but while it’s practical, it’s not very flexible. On the other end of the spectrum, iOS apps can be more flexible with color coding and other graphical attributes for virtual buttons, but to date haven’t contained useful iconography related to music notation software. (MetaGrid has note duration icons and some other related graphics, but even this is more generic).

Stream Deck takes a completely different approach. Each of Stream Deck’s 15 keys is a fully customizable backlit LCD. (the newer Stream Deck XL hardware has 32 keys).

As an example, here are some buttons for selecting tools in Finale, showing how they might appear in a TouchOSC or Lemur layout for iOS. Users will quickly learn what these buttons do, but initially, seeing these words representing Finale tools without any additional context isn’t very clear:

Finale Tool Selection Keys in Lemur Finale Controller for iPad

But Finale users will instantly know what each of these tool buttons represent in Stream Deck, because each of these familiar icons is associated with a specific tool selection in the Finale application itself:

Finale Tool button graphics in JetStream Finale Controller
more >> “JetStream Finale Controller – Introduction to Stream Deck”

JetStream Finale Controller – Prologue

If you have spent any time with MakeMusic’s Finale™ music notation application for Mac or PC, especially recently, you are no doubt well aware of what a powerful software tool it is.

Finale has an enormous wealth of features under the hood, but getting to some of these power tools quickly is not always straightforward or intuitive.

Finale has a few keyboard shortcuts hardwired to various tasks. For instance, number keys correspond to durations during note entry as they do with all scoring programs. However, as of Finale 26. Finale still does not offer user programmable keyboard shortcuts to access the majority of its menus and functionality.

So, historically, users of Finale have had to figure out their own solutions to speed up workflow. Finale itself offers some very powerful plugins, and two different scripting languages; FinaleScript and JW Lua designed to increase productivity.

But, how are you supposed to access all of these productivity tools quickly without something as basic as user customizable keyboard shortcuts?


more >> “JetStream Finale Controller – Prologue”

Learning to Code in JW Lua | Part 4: Best Coding Practices

Welcome to the 4th installment of the learning to code in JW Lua series!

We’re going to take a step back in this article and next week’s article to help give you a better grasp with what’s actually going on. Because learning to code is good, but coding well is really what we’re after.

This series creates a bit of a conundrum because there’s three huge topics to cover:

  • Programming Practices
  • Lua language
  • JW Lua

Each one of these topics is enough to have 10+ hour paid courses for, but we’re trying to cover them all at once. Hence, there are many footnotes to each article.

We’ve taken quite a bit of time learning about the Lua language and JW Lua, so it’s about time to step back and look at some fundamental programming practice that you need to know if you’re going to code.

Just like with creating music, thoughtless/sloppy code really degrades the value of the final product. So today, we’re going to look at some of the aspects of writing great Lua code.

more >> “Learning to Code in JW Lua | Part 4: Best Coding Practices”

Learning to Code in JW Lua | Part 3: Changing Character Based on Pitch

Welcome to the third installation of learning to code with JW Lua for Finale. So far, we’ve learned the basics of the Lua language and have written one small script in JW Lua. Today, we’re going to expand on the script we wrote last time to help us really get more comfortable, while introducing another really important aspect of coding: the if statement.

And by now, you might start to see why JW Lua can be incredibly powerful in Finale. Though you haven’t really written much, you can already start to see that the ability to create loops and edit the music on the page can really speed up your workflow.

But we’re still missing one key ingredient: logic.

And that’s why we use if statements in programming. It allows the code to start making intelligent choices, which will allow you to code up many of your repetitive tasks instead of doing them all by hand.

more >> “Learning to Code in JW Lua | Part 3: Changing Character Based on Pitch”