Robert Puff – A Tribute

Robert Puff, notation guru, software wiz, and the creator of the Of Note blog, passed away last week after a battle with mantle cell lymphoma.

Philip Rothman over at Scoring Notes wrote a lovely tribute to Robert and his distinguished career as an innovative expert in music preparation, which you can read here.

Robert was a colleague, a mentor, and a friend. He will be dearly missed.

It is my intention to keep publishing articles to Of Note, which has been an invaluable resource to me and countless others over the years interested in taking deep dives into notation software. Work will also continue on the JetStream Finale Controller, which was created through Robert’s continual search for better tools.

If you are so moved, you could direct a charitable donation in Robert’s honor to St. Jude Children’s Research Hospital.

– Jacob Winkler

Dorico: Editing Recorded Scripts

I have been spending a lot of time lately working in the JW Lua plug-in for Finale (here’s a shameless plug for the JetStream Finale Controller), but I have also been falling in love with Dorico. I’m very excited about the fact that Dorico also uses the Lua scripting language as the basis of its macro system.

If you are not familiar with how Dorico’s macro feature works, there’s another Of Note post you can read here to get you started. Of special importance is the location of the generated scripts, and the necessity to rename the userscript.lua file in order to access it from the menu.

more >> “Dorico: Editing Recorded Scripts”

Mapping Pitches in Sibelius

Sometimes you want to change the pitches in a score without doing a normal transposition. There are a number of Sibelius plugins that can change a pitch to any other pitch.

Pitch Mapping

This shipping plugin (Note Input > Transformations > More>Pitch Mapping) was one of the very early plugins in Sibelius.

The default dialog lets you map all the spellings of a given pitch to a single spelling. In this example, C, B#, and Dbb will be respelled as C (or any other name you choose from the list). This mapping will apply to all selected notes with the same pitch name, in any octave.

For respelling, you can choose natural notes, single or double sharps or flats, or leave some notes unchanged, so you can respell some but not all the selected notes.  The plugin will ignore quartertones, and it cannot respell to quartertones. Even now, in 2020, plugins are unable to create notes with quartertone accidentals.

New Pitch Higher… gives some options for determining whether the replaced pitches will be higher or lower than the original pitch. The details are explained in the dialog that comes up.

Not only can you respell notes this way, you can also change a note to any other valid pitch. C can be mapped to G# or Fbb if you so desire. As before, all notes with the same pitch name in any octave are mapped to the same new note name, in an appropriate octave.

If you choose More Options…, you get a dialog that lets you map each spelling or a given pitch separately, so you can spell C, B#, and Dbb to different notes if you like.

Transform Scale

The downloadable plugin Transform Scale is a “front end” for the Pitch Mapping plugin. It lets you transform the selected notes to a different scale or mode, and/or change the root of a scale. Changing the root without changing the scale type is the same as transposing.

There are 22 built-in scales, plus you can edit the existing scales or add your own. Scales are all chromatic (12-tones) scales. You can specify fewer than 12 notes, and the plugin will choose pitches for any you leave out. Details are in the Add/Edit scales dialog.

The Percussion Pitch Map plugin

I wrote Percussion Pitch Map to help deal with pitch and notehead mapping for percussion instruments, but it was pointed out to me that you can use it to map any pitches, and, unlike the other plugins, it allows you to choose the octave for both the source and destination notes.

To use it this way, you need to create your own pitch map, which is a simple text file. You can create it in a text editor, and move it to the appropriate folder location, or create and edit a pitch map in the plugin.

There is a lot of detail to deal with, so I suggest you look at this Of Note blog post, and read the PDF file that will be downloaded with the plugin, and which can also be found here.

One detail to note: if you are using Percussion Pitch Map strictly as a pitch map, the first line in your custom pitch map file should be:

// Strict pitch, C4

Thanks to Robert Puff, who came up with the concept of the Percussion Pitch Map plugin and wrote the built-in percussion pitch maps, and to James Batty, who came up with the idea of using it as an octave-changing pitch mapper (and pointed out a nasty bug, which has been fixed).

Map away!

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”

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”

Learning to Code in JW Lua | Part 2: Changing Notehead Characters

Welcome to the second article on learning to code with JW Lua.

In the first article, we learned some of the basics of the lua language, including datatypes and for loops. Today, we’re going to take that knowledge and apply it with creating an actual script that changes every notehead in a selected region.

Sure will beat using the Special Tools!

So let’s dive right in. more >> “Learning to Code in JW Lua | Part 2: Changing Notehead Characters”