Developing MuseScore 3.0: Making things easier
Part 3 of 3
MuseScore 3.0, currently under development, is on track to be smarter, faster, and easier than any MuseScore you’ve seen before.
We’ve previously discussed the first two of those areas of improvement for the next major version of the world’s most popular, powerful, and easy-to-use free and open-source scorewriter. This May, we started by introducing you to the ongoing Smart Layout project, working towards making MuseScore 3 smart enough to automatically offset overlapping elements and avoid collisions. In June, we gave you a preview of the speed difference, as we revamp MuseScore’s layout algorithms so score editing is just as fast no matter how big your score is. In this post, we’ll take a look at how the work is going on the last of our three overarching goals: making working with MuseScore 3 easier in various ways.
This is, of course, really the ultimate goal of all of the above; the motivation for making MuseScore smarter and faster is to make it easier to work with. When MuseScore is smarter, you won’t have to spend time manually fixing collisions. When MuseScore is faster, well, it will be faster—the advantage is self-evident. So we’ll start with an update on how those efforts are progressing.
The Smart Layout initiative is still a work in progress, but moving fast, as Werner Schweer (the father of MuseScore) implements “smart” handling of one type of element after another. As an example of this gradual refinement, as of July 1st, ottavas (octave lines) are intelligent, and will automatically move up or down as notes, articulations, or dynamics get too close—but for pedal lines, the same hasn’t been implemented yet. With the similarities between pedal lines and ottavas, though, you can bet it will be soon.
Most edits are now processed very quickly, independent of score size and number of parts, but some editing functions, including note input, still use the same process as in MuseScore 2, and are still slow in large scores. Resolving this is on the agenda.
A whole host of new features and improvements on the side have already been added, or are planned—many of which are specifically aimed at making various stages of the MuseScore workflow easier. Here, in no particular order, are what may be the top ten to look forward to.
Real-time MIDI input: This is one major new feature coming along in this area that you may have already heard of. Peter “shoogle” Jonas is working on it over the summer. While interpreting the input accurately is necessarily a challenge to implement (particularly because a human player might not be able to play the rhythm with mathematical precision), this has the potential to save you significant time on note input.
Swap Clipboard and Selection: A way to to trade two selections—e.g., exchange the contents of two staves for a time, or change the order of two measures—was first requested in 2012. Four years later, the ideal solution turned out to be one that’s gradually becoming more common, and Jon Enquist joined the community as a first-time contributor with his solution. (This is one that you may get enjoy sooner, in MuseScore 2.1.)
Custom toolbars: MuseScore 2 allows you to customize palettes, and create different workspaces with different sets of palettes. You can also choose to show and hide various toolbars and drag them around, but the content of each toolbar is locked. In MuseScore 3, thanks to Werner, toolbars will be fully customizable and able to change with workspaces, with preset Basic and Advanced options. So far only the Note Input toolbar is under control, but the framework is there.
PDF Copying Assistant: In addition to the experimental online PDF-to-MSCZ converter, MuseScore 3 will be able to recognize the basic structure in a PDF (systems, barlines, line breaks), provide a blank score matching those specifications, and synchronize it visually with the PDF, making it easy to transcribe what you see on the right into the empty measure on the left. Work on this actually began some years ago, but was cancelled before MuseScore 2.0—now new contributor Liang Chen has rebooted the effort. See how it works in this video.
Temporary/Cutaway staves: Mentioned in a previous blog post, this falls under the “easier” umbrella of MuseScore 3. This will make it easy to temporarily add another staff to an instrument, or create a one-measure ossia above a staff. Implemented by your friend and mine, Marc Sabatella.
System dividers: If you ever wanted to put “//” on the side between systems in MuseScore 2, you had to manually add each one from the Symbols palette and position it by hand. In MuseScore 3, just switch on a style option, and there you are. Marc Sabatella did this as well.
Complete shadow notes: When entering notes with the mouse, MuseScore 2 displays a shadow notehead to help you place the note on the staff, but it doesn’t show you the rest of the note. In MuseScore 3, the shadow note is complete with appropriate stem, flag(s), and dot(s), letting you know exactly what you’re about to enter. The first contribution from 19JoHo66.
Metric modulation: When you have a time signature change and want the same beat to carry through, that’s commonly notated as something like ♪ = ♩. It’s not easy to create that kind of tempo change in MuseScore 2. In MuseScore 3, metric modulations will be as easy to add as any other tempo, thanks to this summer's synthesizer wizard Johannes "hpfmn" Wegener.
New templates for band and percussion: In 2.0.3, the only template under the Band category is Concert Band. In MuseScore 3 (and probably even in 2.1), under Band and Percussion, there will be Concert Band, Brass Band, Marching Band, Battery Percussion, Small Pit Percussion, and Large Pit Percussion. Courtesy of variously first-time contributor Henk De Groot, first-time contributor Chris J. “duck57" Matlak, and yours truly, Isaac Weiss.
Simpler menus: A few months ago, LibreOffice (an incalculably larger open-source software project) put some effort into making their user interface simpler to navigate, with some thoughtful reorganization of the application menus in LibreOffice 5.1. I took it upon myself to do something similar for MuseScore 3, and I’m very happy with the results. This is a sure guarantee that we’ll get a couple hundred million users, too.
Bonus! This was going to be a top ten list, but here's a last-minute addition. Formerly, when you changed MuseScore's language, it was necessary to restart MuseScore to fully translate the interface. Not anymore. Core team member Nicolas "lasconic" Froment committed this change literally one hour ago.
Notice how many of these improvements came from first-time contributors—musician/programmers answering the call to help develop MuseScore 3, or “scratching their own itch” and sharing the benefits with the community. In an open-source project, that’s not surprising, but it is really nice to see, and worth pointing out. A hearty congratulations and thank-you to everyone helping take MuseScore to the next level!
You can help, too! Please test the latest features in the nightly builds, and report the problems you encounter. Your feedback is very welcome in the Technology Preview forum, and precise bug reports can be directly posted in the Issue tracker. If you’re a programmer as well as a musician, we would appreciate your help fixing those bugs—as MuseScore is free and open source, anyone can get the source and share code contributions on GitHub. Don't forget that you can also support the future of MuseScore with a donation.
So, there you have it. The MuseScore of tomorrow is being sketched out today. I, for one, can hardly wait.