2026
- Sheetmusic4J 0.0.1
2026-07-23 by Frank Delporte The First Release Is Out Sheetmusic4J 0.0.1 is released: a native Java(FX) library that parses MusicXML into Java objects and renders it as sheet music on a JavaFX Canvas, without embedding a WebView or any other browser engine. This is a deliberately 0.0.X release number. The goal of this release isn’t to declare the API stable; it’s to find out whether there’s interest in a library like this before investing further. I’m already using it myself in MelodyMatrix, so it’s solving a real problem for me, but it’s the kind of thing that only gets more useful with outside feedback on what’s missing or wrong.
- The Story Behind Sheetmusic4J
2026-07-24 by Frank Delporte Why This Library Exists I wrote up the background of Sheetmusic4J in a longer post on my personal blog: Introducing Sheetmusic4J, a Java(FX) Library to Render and Interact with Sheet Music. It covers the reasoning behind the library in more detail than the 0.0.1 release notes, including the video walkthrough. The short version: I’m building MelodyMatrix with my son, and we want a Learn section where the sheet music follows along with playback, a moving marker, notes highlighted as they’re played. A static PDF can’t do that, and I couldn’t find a JavaFX library that renders sheet music while staying interactive from code. So I built one.
- Sheetmusic4J 0.0.2
2026-07-29 by Frank Delporte Two New Formats and a Lot of Improvements A week after the first 0.0.1 release, Sheetmusic4J 0.0.2 is out. The 0.0.1 release was really a question: is there interest in a native Java(FX) sheet music library? After sharing this library on LinkedIn, I immediately got the question if ABC Notation and Guitar Pro files could also be supported. As a result, this 0.0.2 release adds support for both formats, alongside a broad round of engraving and testing improvements.
- Sheetmusic4J 0.0.3
2026-07-30 by Frank Delporte A Quick Fix for ABC Files Right on the heels of 0.0.2, here’s a small patch release: Sheetmusic4J 0.0.3. The 0.0.2 release added ABC notation support, with new AbcReader and AbcWriter classes that read and write .abc files into and out of the same Score model as everything else. What slipped through, though, was the last bit of plumbing: the ScoreFile convenience facade — the one-line ScoreFile.load(...) / ScoreFile.save(...) entry point most people start with — didn’t yet recognize the .abc extension. So while the readers and writers themselves worked fine when used directly, loading or saving an ABC file through ScoreFile failed with an Unsupported file extension error.