forScore

About the author

MIDI: Scores

Feature of the Week

As we discussed last week, MIDI is much more like a language than a single-purpose tool. It can be used in a variety of situations to convey a lot of information, and for this Feature of the Week we’ll be looking at the most flexible application of MIDI in forScore: score-specific MIDI commands.

While editing information for a score or bookmark in your library, the bottom portion of the metadata panel splits up a lot of valuable options into a few different sections. One of those sections is called “MIDI”, and that’s what we’ll be talking about today. The MIDI section of the metadata panel gives you access to three different features: Open, Send, and Presets. We’ll save Presets for another day, but lets start with a quick overview of the first two.

Open

Last week we showed you how to use incoming MIDI messages as shortcuts to forScore’s most popular functions. In the “Open” section of the metadata panel, you can set up a similar shortcut but instead of triggering a tool or menu, the MIDI message you use here will always open that particular score or bookmark.

Send

In the “Send” section, you can set up one or more MIDI messages to be broadcast immediately when you open an item. This can be useful if you need to change some of your MIDI device’s settings for a particular piece.

Messages

On a technical level, MIDI messages consist of hexadecimal codes. These codes use numbers (0-9) and letters (A-F), pairing any two for a total of 128 combinations. Fortunately, you don’t generally need to know what they mean, just what they do. And, since you’ll usually be working with one of two common message types, forScore makes entering this information a little easier.

The first type of message is a Program Change. This message tells your MIDI device which instrument or voice to use. It’s specific to one device, so you’ll need to specify which channel to use to send the message. The rest of the message must consist of at least one single number between 0 and 127, and it may also allow for additional MSB or LSB values in order to provide a wider range of possible sounds.

The other type of message you may need to use is called a Song Select message. This message consists of a single value between 0 and 127, and is sent to all connected devices so no channel number is required.

For everything else, you can type in actual hexadecimal codes for complete control.

Adding Codes

Tap the “+” button in the lower right-hand corner of the metadata panel to add a message to the current score (one incoming “Open” message, and as many outgoing “Send” messages as you need). You can choose from the three message types we’ve already discussed—Program Change, Song Select, or Hex Codes—or you can use the “Learn…” option to listen for incoming commands and save them automatically. For sent messages, you can also add a delay in case your device needs a moment to process incoming signals.

So that’s an overview of forScore’s ability to use MIDI messages in score-specific ways. If you missed last week’s introduction to MIDI and app-wide shortcuts, be sure to check it out, and stay tuned as we continue our exploration of forScore’s MIDI integration next week!

MIDI: Shortcuts

Feature of the Week

MIDI, the ubiquitous musical language, has been around for decades. It has proven to be remarkably resilient despite numerous attempts to replace it with more modern alternatives. While MIDI may be almost everywhere, it’s not very approachable and most people only understand part of what it can do. For years, we got requests from our customers to add MIDI features to forScore. The problem was that every customer wanted something different, so finding ways to weave MIDI functions into forScore required balancing technical capability with practical usability.

Instead of creating a single MIDI panel that would duplicate a lot of forScore’s existing functions, we chose to reverse it and supplement some of our existing features with advanced MIDI functionality. Today, we’ll be looking at just one of those cases, with more to follow in the coming weeks.

As we discussed in our previous Devices Feature of the Week, the “Page turners & shortcuts” section of the Settings panel lets you trigger many of forScore’s functions with an external device. If you tap on a function, forScore listens for incoming signals from a variety of sources and can associate anything it hears with the selected function. When you’re using a keyboard or a keyboard-based page turner, it works just like shortcuts on a computer complete with support for modifiers like shift, alt, command, or control. If you’re using a Bluetooth Smart stylus like FiftyThree’s Pencil or an accessory like the iRig Blueboard, you can either press or press and hold a button to set up two different functions per physical control.

The process is similar for a MIDI device: tap your function, then use your device to send a signal (press a button, flip a switch—it depends on your device). If forScore recognizes and can use that signal, you should see your MIDI command appear to the right of the selected function. Now, any time you send that exact same signal, forScore will respond by initiating the corresponding feature.

There is one caveat to watch out for, however. Since forScore listens for the exact same signal, some kinds of MIDI controls won’t work reliably. Anything that senses levels of pressure, like a piano key for instance, will include a velocity value. Unless you hit that key with exactly the same amount of force each time, forScore won’t react. Other switches use a range of values, like a volume knob, and will have the same problem. Otherwise, any simple on/off control should work fine. If you’re not sure how a specific control works, consult your device’s manual.

That’s just the start, though, so be sure to check back over the next few weeks as we explore the entirety of forScore’s MIDI functionality.

Restrictions

Feature of the Week

Some features aren’t appropriate for all users or situations, and that’s why forScore offers Restrictions. They’re a lot like iOS’s system-wide Parental Controls but they’re specific to forScore.

In the tools menu, select Settings, then Restrictions to see which features you can disable if needed. Currently, that includes the Services panel, the in-app purchase storefront, the ability to transfer files to other forScore users via a direct Bluetooth connection, and the ability to share files using the standard iOS share sheet (this includes the ability to email or print a file, to share it with nearby devices over AirDrop, or copy it to another app that implements iOS’s “open in” protocol).

Before you can disable any of these features, you’ll need to enable restrictions and enter in a four digit passcode. Then, just turn off the features you don’t want and press the back button or tap away to close the tools popover. Now, you’ll need to type in your passcode any time you want to view the Restrictions panel or make changes, so don’t forget it!

PDF Metadata

Feature of the Week

Way back when forScore was just an idea, we made the decision to design it around the PDF file format. It’s the most ubiquitous format for documents that feature precise layouts (anything more than basic text). There are many versions of the PDF specification, but all of them include some basic information about a file like its author, subject, and keywords.

Since one of forScore’s most fundamental features is its ability to organize your music by these kinds of metadata, it made sense to connect the two dots. “Fetching” is the term we came up with to describe the process by which forScore reads a PDF’s metadata and adopts some of it when it makes sense to. This can happen automatically (if the “automatic fetching for new files” setting is enabled) or manually from the metadata panel (tap a text field and then use the “Fetch…” button just above the keyboard). In either of these cases, the PDF file’s “author” is used to fill in forScore’s “composer” field, “subject” becomes “genre”, and “keywords” become “tags.”

This all works wonderfully if your PDF files include this kind of information, and if that information is correct. Unfortunately, many scanning programs will either fill in their application name or your own as the Author, so whether or not this feature will save you time depends largely on where your PDF files come from. When used correctly, however, this kind of metadata can be a great, permanent way of tagging your files. If your forScore library is lost and you don’t have a backup, or if you’re using your files with another PDF reader, this information will still exist within each PDF file and can be easily retrieved.

Bonus tip: If you want to get really fancy, forScore can read specially-formatted keywords as rating and difficulty. Use the keyword “forScore-difficulty:2” with a number between 1 and 3, or use the keyword “forScore-rating:3” with a number between 1 and 5.

Drawing Enhancements

Feature of the Week

Last year’s iPad upgrades got a mixed reception, largely due to the similarity between the iPad mini 2 and the then-new iPad mini 3. It turns out that there was a little more to the story though. The iPad Air 2, a decent upgrade as presented, actually includes one technical change that’s only now being put to use: Apple has doubled the amount of data the screen can collect from your touches.

Every iOS device refreshes its screen sixty times per second. In fact, a lot of system processes are tied to that number, so it was natural to put touch handling in that queue as well. The problem is, when you draw with your finger on a screen that’s collecting sixty points per second, your movements don’t always turn out the way they should. Sixty seems like a lot, but when you’re moving quickly some details get lost.

With the iPad Air 2, Apple doubled the sample rate to 120 points per second. It’s just that no one knew about it, because developers didn’t have access to this additional information until iOS 9’s release last week. All of the pieces had to fall into place, but now they’re here: with an iPad Air 2, running iOS 9 and forScore 9.1, your drawings will be more accurate and feel more natural.

Even if you don’t have the latest iPad, though, you can still benefit from another improvement made in iOS 9 called Predictive Touches. As the name implies, Apple’s new OS gives developers a best guess about where your finger or stylus is headed. That helps us draw the results sooner, making your drawing experience feel more responsive. And, best of all, the predicted touches are only temporary—they’re replaced by actual touches as soon as possible so your drawing accuracy doesn’t suffer.

They’re not big, banner-worthy features and they don’t really have a catchphrase, but iOS 9’s drawing improvements add up for users like our customers who rely on quick, natural annotation.