Alignment of hairpin lines off compared to dynamics

• Feb 17, 2019 - 23:39
Reported version
3.0
Priority
P0 - Critical
Type
Graphical (UI)
Frequency
Once
Severity
S4 - Minor
Reproducibility
Always
Status
closed
Regression
No
Workaround
Yes
Project

Version: 3.0.2

a.png

As you can see, when you have dynamics etc. Above (like in a vocal score), the autoplacement places the cresc./dim. much too high, compared with dynamics and hairpins.

Simply disabling autoplacement makes its position perfect, so there’s some offset there… this is with autoplacement disabled and manual X offset 1.50 sp:

b.png


Comments

Title Autoplacement reference point for cresc./dim. off Alignment of hairpin lines off compared to dynamics
Priority P0 - Critical

It's not just when flipping them above the staff, the crescendo lines don't align correctly below the staff either. And in that case, disabling autoplace makes it worse, not better. I recall this being an issue and then being fixed for 3.0 originally, but chances are I broke it when I made some changes to force vertical alignment of regular hairpins and dynamics.

It seems the first of the commits mentioned above adds two style settings to control default placement of the hairpin lines above and below, but they are not exposed in the UI. So we're going to have trouble if the user changes the regular hairpin default, as he won't be able to easily make the corresponding change to the hairpin lines (it's doable via the Inspector). In any case, the value of the hidden hairpinline offsets for "below" is wrong, so at least I need to fix that.

I see, though, that in the original issue report #164786: crescendo/diminuendo lines take vertical height from hairpin settings rather than dynamics text settings, the proposal was just to use dynamics style settings, which is actually what we did in 2.3.2. I'm not convinced this isn't the better option still, but am continuing to investigate.

Thanks, fix confirmed. I have now re-enabled autoplace for all but one cresc/dim in the score.

However, if I were to use cresc/dim with visible lines, I would be angry at autoplace making the lines longer… in one case, the line even almost (but visibly enough) goes into the next f (Forte).

Can you explain with an example? The only time we should be making lines longer is if there is a dynamic on the next note but that next note is not only in the next measure, but it is an unusually long distance away due to intervening key change or similar. This is in keeping with the advice from Gould. Sounds like you are talking about some other case?

In reply to by Marc Sabatella

Sure:

lines.png

The tenor line’s the one with disabled autoplace. I don’t consider “nothing in front of the note, well maybe a bit more space due to lyrics” is an “unusually long distance”… perhaps the detection for those cases is off. Going with Gould (some day I’ll have saved for that book, too…) is good, but if things like “unusually” come into play, perhaps an Inspector option to turn off that particular feature might be wise. I think all three of S/A/B lines are too long, the alto is almost okay, but the bass is really stretching it (can’t reproduce it now, but I had even lower distance between the end of the last dash and the ‘f’).

But, anyway, I’m almost always using cresc./dim. without lines, so it doesn’t bother me all that much. Nonetheless, thanks a lot for fixing this!

The image is from this (unfinished) score.

Looks like the lyrics are pushing the first note of the measure just far enough past the barline to trigger this. We have a fixed threshold of 3 sp - if the dynamic on the first note of a measure is more than 3 sp past where the hairpin would otherwise end, we extend the hairpin. Maybe that's a little too low? Ultimately it could be a style setting.

In reply to by Marc Sabatella

Ah, okay. I’m honestly surprised that a word/syllable with only four letters in total is enough to push it. Perhaps lyrics are special case-ish? (I agree that, if there’s something else pushing it to the right, you might want to extend the line. However, I think that if it’s only lyrics I’d almost never want to extend it, except maybe in pathetic cases (supercalifragilistiexp… but you’d split that onto multiple notes, so maybe not).)

But, as I said, I normally use invisible lines, so it doesn’t bother me all that much.

Between the font you are using, the size, and the use of italics, your lyrics are rather wider than would be the norm. Using the lyrics font default, I find even longer syllables still work - that is, they don't move the note so far that the narrowest dynamic is more than 3 sp away.

That said, to me, one opportunity for improvement here would be if we allowed the first lyric of the bar to extend to the left across the barline, so we could leave the first note of the measure in its normal position rather than allocating extra space for it. I think the main reason we don't is that it would make collision detection with the previous lyric more difficult. See #151256: Long lyric syllables at end of measure can overlap first syllable of next. I don't see any open issues requesting we revisit this, but it does seem a valid request even if the reality is we aren't able to honor it any time soon.

Meanwhile, in practical terms perhaps the real solution is to adjust the lyric manually. Gould recommends "cheating" and nudging long centered syllables to the right a bit so that the syllable doesn't extend too far left of the note itself. We don't do that automatically, but it does seem sound practice. It works perfectly here - a fraction of an sp nudge to the right on even fairly long lyric syllables (eg, "selbst" in your large font) allows the note to be close enough to the barline to suppress the extension of the hairpin, and looks better all around. For the record, Gould does say it's OK for the lyric to cross the start barline "if needed". Disabling autoplace on the lyric allows for that, BTW. Even though it's kind of moot for you because you are using invisible lines, I do think maybe you'll like the overall look better if you do the nudge at least.

Back to the subject of hairpins, it is worth noting that originally when this aspect of autoplace was implemented, we allowed hairpins to cross the barline in this fashion always. And some people said they liked that, but others complained it was unnecessary. After reading the relevant section of Gould and looking at the examples, I came up with the compromise. Her wording is pretty vague, BTW. She observes it is fine for hirpins to cross barlines, but says "it is neatest" if the hairpin stops short of the barline if the actual termination is the beginning of the next bar. And then adds it is "helpful" to extend it if the first beat of the measure is "some distance after a barline". Her examples of that show a time signature change and an accidental.

If someone wanted to spend some time going through scores and trying to come up with a more suitable value, or a more clever algorithm in general, or do what is needed to make this a style setting, that would be fine by me.

In reply to by Marc Sabatella

Ah, thanks for the lengthy and well-researched explanation.

I normally do lyrics nudging as last part of laying out the score, before the final review pass.

You’ve made me consider buying the book earlier, anyway. But, if it’s really this vague, perhaps an option “prolong past the barline if the distance is large” in the inspector (default value to be bikeshed) might do the trick in a somewhat general case.

The font isn’t really bigger than the default… a Gentium Italic 12pt is as large as most Regular fonts in 11pt, at least visually. But German tends to be more verbose than English, and some of the syllables or words get rather long.

Fix version
3.0.3