GSoC 2020 Week 2 BC (Before Coding): Repeats, Rests, and Counting Overview
|Previous post||Next post|
Hello, everyone! I’m Isaac Weiss, and I’m very happy to be able to devote my next few months to working with MuseScore through Google Summer of Code. As part of the program requirements, I’ll be blogging here weekly to document my progress. According to the official timeline, coding should begin June 1st, but during this “community bonding period” I and the other students are already studying, experimenting, and planning. This week, I would like to share the outline of what I intend to accomplish.
I’ll start with the one you are probably most excited about: after nine years of discussions and false starts, the two-measure repeat symbol is coming to MuseScore! It will be in the Repeats & Jumps palette. You will be able to either drag it into the measure where you want it to start, or select that measure (or both measures) (or the barline in between) and click on the palette icon. Then it will look like this:
“Hold on, Isaac,” you say. “What’s that funny gray thing?”
That is the “Don’t Break” formatting mark, a bonus feature that will be a side effect of the implementation (sort of like when Peter Jonas/shoogle’s Semi-Realtime MIDI Input project also gave us the “Regroup Rhythms” tool). Like a non-breaking space in text, it will group the two measures and prevent them from being separated by a line break. It is necessary in order to prevent this from happening at the end of a system:
But it will also be available for use in other contexts, providing another feature first requested nine years ago. (MuseScore actually already has some code to support this under the hood, but it didn’t work right and was never finished, so it has always been hidden. I hope to fix it up around the last week of June.)
Note also that, unlike the one-measure repeat, the two-measure repeat commonly includes a number. In case you don’t want that, it will be possible to disable it on an individual basis via the Inspector, or score-wide via the Style window.
Same as the above, only more so. To show you what it looks like, this is from a tutorial for a rival scorewriter:
Of course, I will not ask you to “enter the symbol in the 2nd bar of the 4 bar repeat,” but rather in the first measure (it will also work to click the palette icon with all four measures selected, or with the middle barline selected).
I think the “outriggers” in this example make it much easier for the person reading the music, so I will be sure to provide support for those, too (again, with easy enable/disable via Inspector and/or Style).
The “Don’t Break” (by the way, that's a rather clumsy name—please suggest different names in the comments!) will be even more important for the four-measure repeat, for obvious reasons.
Automatic numbering of single-measure repeats
Sometimes you want to repeat a single measure multiple times, like this:
Admittedly, that’s a somewhat extreme example. But it demonstrates the essential problem: the musician’s eyes glaze over, and he or she loses track. To solve this, I hope to add (time permitting—this is not the highest priority) a new option to automatically number them, according to your preference, like, for instance, this:
What will not be included
I know people will ask, so I want to address it at the outset: I have decided to implement only the two- and four-measure repeats. These are notations that exist and are standardized. They work well with the common four-measure phrase structure (incidentally, so do the old-style multimeasure rests I’ll discuss below). But there is no commonly used three-measure repeat, or five-measure repeat. SMuFL does not provide them, and neither will my GSoC project. Similarly, though there have been requests for a single-measure repeat that plays more than once, it is nonstandard, it would cause an unnecessary moment of confusion for the person reading it, and it is not on the agenda.
H-bar rest appearance controls
The other half of my project has to do with multimeasure rests. Currently, in MuseScore version 3.4 and earlier, if you enable multimeasure rests, you can’t make choices about their layout and appearance. Everything is fixed. But this is not necessarily ideal. Here are some of the options provided by a competing software:
I aim to have all of these controls implemented in MuseScore. And I’ll let you in on a secret: two of them are already done. It turns out (5) has been in there for ages, tucked away in a different part of the Style dialog (don’t worry, I’ll be putting it with the other options). As for (1), which MuseScore users have particularly requested, before this project started I just went ahead and implemented it to prove that I could. It works like a charm:
And it will be included in the upcoming MuseScore 3.5! You can check it out right now in the alpha release.
Old-style rest symbols
Finally, we get to the part that I'm most excited about. There is a traditional alternate notation for multimeasure rests, where, instead of a generic H-bar with only the number to tell you how long it is, the symbol itself also conveys that information. For those unfamiliar with them, here is a simple explanation provided by one of MuseScore's competitors:
I can only speculate as to why these have fallen out of fashion—it may have been a result of composers “rebelling” against binary groupings, and of course in jazz charts they’e inconvenient to draw by hand—but I personally have come to like them, and if you’re re-engraving an old edition that uses them you should absolutely have the option. And, of course, users have been asking for this for years, too.
So, in addition to the Style options for the various aspects of H-bars described above, MuseScore 4 will provide a checkbox to enable these old-style rests, and a parameter (defaulting to 9) for the limit beyond which H-bars will still be used.
That's all for now. I welcome your comments, questions, and suggestions for what to call the “Don’t Break.” See you next week!
|Previous post||Next post|