Filling the final system

• Apr 29, 2020 - 17:39

I prefer to set my style so that the final system always fills the page width. Oftentimes this means that the final system is really stretched out, requiring a lot of manual adjustment to earlier systems to even things out. It would be nice if there were a setting to automatically spread that extra space out evenly throughout the score.

Thank you for this fantastic program!


Comments

Please attach a score which requires (as you wrote): a lot of manual adjustment to earlier systems to even things out.
There may be an easier way.

The difficulty with such an automatic system is that it is very subjective and likely quite computational heavy.
After all, how do you decide between inserting line breaks on previous systems vs compact-stretching measures? The first option might lead to a more even spread of measure across systems, but the last system might just be the one-too-many and create a new page.

There is no "correct" approach to layout.

In reply to by jeetee

There is no difficulty and it is not subjective.
MuseScore is perfectly able to balance the measures width in one line, right?
So all we are asking is that instead of balancing the measures by line, it does that in each "space between line breaks".
That would be a pure objective algorithmic decision.
Now yes of course there needs to be (lot of) human decisions on fixed line breaks, but line breaks are just there for that purpose. Between manual line breaks, let's use the fact that we write our score with a computer program to balance the measures.

In reply to by frfancha

MuseScore is perfectly able to balance the measures width in one line, right?
Yes and No.

MuseScore makes all measures minimal width, when they overflow to the next system the remaining width is distributed to the remain measures based on their stretch. This is already a 2nd pass of the width calculation of the measures and following that a position calculation for each element within it.
It does the same with systems across pages.

"Cram as much together as you can" is far from balancing something.

Balancing is much harder. It is not just aim for x measures per system. It has to take into account all the minimal widths of those measures, but also all stretched widths of them for every possible combination.

The closest possibility I see at this point is to take minimal width into account only and try to minimize the variance on that minimal size, but even that is already a multiple-pass calculation loop.

In reply to by frfancha

Sure, you can make the algorithm objective - but then it would be next to useless. Proper casting off of measures & systems isn't just about spacing and widths but also about the division of music into phrases, taking into consideration complexity of the passage to determine where readahead on a single line is particularly valuable, etc. If you care at all about the finer points of music engraving, you will want control over each and every line break. If you don't, just run Add/Remove System Breaks to set them every four bars or whatever and call it good (and indeed, in some contexts, that is the right answer).

In reply to by Marc Sabatella

Please read what I have written.
I have never thought that MuseScore would be able to guess the musical phrase.
Quite the opposite, and that's why I said we need lot of line breaks.
But as soon as your measures are a bit crowdy you can only fit two or three of them by line.
In that scenario, when you have a musical phrase of 4 measures starting after a line break and stopping with another line break, it is common that MuseScore is able to put three measures on one line and is left with only one measure for the second line, then awefully stretched compared to the previous line of three measures.
MuseScore balancing the measures on these lines putting (e.g. depends of measure size obviously) two of them on each line instead of three and one makes perfectly sense.

In reply to by frfancha

I did read what you wrote, and responded accordingly. I realize you didn't suggest that MsueScore guess the phrasing. And that's why I called any automatic algorithm based on other criteria essentially useless. Sure, there might cases where it happens to guess well, and there will be many more where it does not.

I could imagine someone writing a plugin for this if they really wanted to play with the idea, but generally I don't support adding options that will be known to produce bad results.

My recommendation is to set a base value for Spacing in Format / Style / Measure that is as tight as you ever want to see it so you always have at least as many measures per system as you expect to want. Then you will never need to mess with stretch, only adding line breaks, which I would not really trust any computer program to decide on for me. This is done quickly by selecting a bar and hitting Enter, so I can usually do a page un just a few seconds.

Do you still have an unanswered question? Please log in first to post your question.