MusicXML! Better sheet music! These are the things Synthesia 11 will be made of!

This development effort segments much more nicely into quite a few development previews than the last few big releases have. So you guys will end up getting to see the new stuff on a pretty regular cadence. Here is the dev preview break-down you should expect:
Platform Update - Complete, released in 10.3! (Mar-2016)
It has been a long time. We used to do these yearly when it was a good opportunity to update all our tooling and libraries to the newest versions. This one is a biggie! It was finally time to cut Windows XP and Mac OS 10.6 compatibility so that we could finally get our hands on full C++11/14 (and libc++) support across all our platforms. It was a steep price, but modern C++ is practically a different language that brings enough developer convenience, safety, simplicity, and performance that it was (well!) worth the cost of backwards compatibility. At this point the code has been dramatically modernized: probably more change (going on for months now) than between any two consecutive builds. Everything will look exactly the same, but under the hood there has been a tremendous boost to all of the areas I just mentioned.
You may notice I've been speaking in the past-tense. This preview is just wrapping up and should be ready (and posted) in a few days.
Bug Fixes / Quality Pass - Complete, released in 10.3! (Sept-2016)
I've tried to keep the task list absolutely clear of anything that isn't sheet music related this time around, but the usual assortment of bugs and rough edges have cropped up. I've been tackling a few of these during the platform update but there are still 29 small items on the list to fix before pressing onward.
Off-screen Sheet Music Compositing - Complete, released in 10.4! (Nov-2017)
The sheer number of new symbols that Synthesia will be using while drawing its sheet music means it's probably best to migrate from a rasterized texture containing a limited set of glyphs to the way everyone else does it: a music font. There are a handful of nice (freely available) notation fonts that we'll get to evaluate. This also means new, anti-aliased drawing routines for beam/slur/tie primitives.
The upcoming complexity of the notation will finally tip the scales over to making it worthwhile to render it "offline" (in memory) once, and just draw it to screen as a single, big texture. (Compare against today's method where each stem, note head, dot, accidental, etc. are all sent to the graphics hardware separately each frame.)
Pros: Drawing speed no longer depends on the complexity of the song. Sheet music becomes essentially "free" performance-wise. (This is good for tablets!) And, because the sheet is already being drawn as an image, we might even be able to tinker with saving "pages" out to disk. Those experiments would only output a raster format like PNG, rather than a vector format like PDF, but it will still be interesting.
Cons: Smooth sheet music scaling will probably have to change to a fixed number of size steps. Instead of dragging the separator bar, there will be + and - buttons.
Multiple Lines of Notation - Complete, released in 10.6! (Mar-2019)
This is one of Synthesia's most-requested features.
Being able to turn off the falling notes and use full-screen sheet music means being able to do everything you can today with the falling notes (bookmarks, loops, etc.) right on the sheet music. This will be... interesting. Probably the biggest visual change to the play screen in Synthesia's history.
Portrait Mode
Multiple lines immediately brings to mind pages of traditional sheet music. Right now (for several UI reasons), Synthesia is restricted to landscape orientation on tablets. This preview will bring first-class UI support for portrait orientation.
Bare-bones MusicXML Parsing
Step #1 is to be able to load the files like we load MIDI today. Starting with typical MIDI-like note information. After this preview, the falling notes should behave exactly correctly for MusicXML files.
Fully-featured MusicXML-based Notation
Step #2 is using all the extra musical intent stored in MusicXML files to improve the sheet music dramatically. After this preview, the notation should appear essentially exactly how the arranger intended it.
This includes all the currently missing bits: 32nd notes, triplets, stem directions, ties, better beams, proper staff selection, and much more. (Much of this will be brought over to MIDI sheet music generation for free.)
Wrap-up, Clean-up, and a Couple Goodies
While you guys are providing feedback and bug reports for everything else, I have one or two fun bonuses for the sheet music. This will also be the time to start integrating/testing all the MusicXML versions of the built-in songs.
I've been talking about MusicXML support for a few years now. It's exciting to finally break ground and get this started!