3.0 Layout

• Dec 9, 2018 - 18:24

I've seen discussions that include these issues but I'm not sure they are completely covered.

layout issues.PNG

This shows issues with both the slur seeming to avoid the staff and the crescendo being place too low for no apparent reason.

Here is the file this picture come from, created from scratch as my initial problem was.
layout test.mscz


The slur is over-avoiding the accidental here, and the hairpin is avoiding the beam. But you can drag the hairpin up. The slur you'll probably have to turn autoplace off to fix.

You should report it in the issue tracker.

In reply to by Laurelin

I'm quite aware of how to fix it, I'm looking for opinions if these issues have been reported yet. There are a lot of auto placement issues concerning slurs and hairpins I don't know what is and is not covered.

I'm hoping for a response from one of the programmers who are more familiar with the part of the code that needs to be changed to fix these issues. They will know if these issues are being worked on.

In reply to by mike320

No guarantees this will be merged before release (although I certainly hope it will), but here is a progress report and a chance to give feedback.

Here is my current stress test, as rendered by the current beta:


Here it is with my changes:


Most of this speaks for itself, but a couple of the specifics deserve explanation.

First, note the fixes at the end of bar 3 (top staff) and in measure 4 (both staves. These are all fixed by two lines of code that basically amount to allowing certain collisions at the start and end of the slur. In particular, it makes it OK for the slur to cross the ledger lines in bar 3, the accidental in top staff bar 4, and the voice 2 note in bottom staff bar 4. I personally think most of that is fine - if slurs can cross staff line, why note ledger lines; and if we avoided the half note in voice 2 as we did before, the slur would appear to connect incorrectly. I'm less thrilled with cutting through the accidental, but it's the only easy fix, and at least it doesn't look as bad as before. In most real life situations this won't happen.

Second, the first three bars in the bottom staff only show a small change - bar 2 was being overcorrected. Eventually I'd like to do something a little smarter in bars 2-3 to keep the endpoints of the slurs closer to the notes, but that's a more fundamental change to the algorithm to do it well.

In reply to by Marc Sabatella

These differences seem to be a significant improvement over what was previously done. I don't know what Gould says should happen with the slur crossing the accidental but I believe the proper display is affected by other items in the context of the slur. Should it stop short of running into the slur or should it extend above the slur. I can definitely live with making this decision myself. I hope others will give their opinions as well.

In reply to by Marc Sabatella

That looks much, much better! Avoiding accidentals is usually done with a shape change I think, and some height change - pretty difficult for an algorithm. And it's fairly common for slurs to run through accidentals anyway. Second staff, fourth measure, I'd hit x on that slur, but I don't know how exactly you'd get an algorithm to notice that. I think it's possible, though.

On height changes - I have noticed that scores often will start a slur fairly high above a note if there are large octave+leaps under the note. For example, here is a Debussy score published by Barenreiter - https://archives.nyphil.org/index.php/artifact/37499c85-e0a4-4937-9f08-…

If you look at that flute part with the slurred octaves, or the entire harp part, and quite a few bits of the clarinet solo, you can see that. Might be a bit easier to implement than the crazier curves the slurs end up in for the harp part.

Anyway, hurrah!

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