Hairpins should align with start/end dynamic

• Dec 21, 2018 - 18:59
Reported version
P1 - High
S3 - Major

We almost can do this, but just not quite. Gould is kind of vague about what's OK and what isn't, but she definitely shows preferences for aligning things where possible, and actually angling hairpins where not. To me, a reasonable compromise is to want sequences like "mp < f" to align within themselves. A subsequent dynamic or hairpin or sequence can be in a different plane.

So, let's say the goal is something like this:


For hairpins and dynamics entered separately, an uneven skyline below the staff can result in all three elements (start dynamic, hairpin, end dynamic) at different heights. It seems this would be relatively easy to fix. During hairpin layout, we already detect a start and end dynamic and adjust the length of the hairpin to match. If we simply adjusted the vertical offset of all three according to the max (and made sure the baseline vs center alignment didn't catch us) we could get them to align.

For dynamics entered as begin/end text on the hairpin itself, it would work except that the descender on "p" messes up the centering. So any dynamic with a "p" but no "f" sits too high. Also, FWIW, this technique doesn't work if you want the end dynamic actually under the next note as I have it here and as is common. In general, I know we want to encourage use of these hairpins-with-built-in-dynamics-text, but given playback doesn't work and the layout isn't quite right anyhow, plus there is no easy way (aside from editing the "sym" tags in Inspector text) to change the start text, I think this technique isn't quite ready for prime time.

FWIW, the issue of aligning dynamics came up for me as I tried to put together a demo to show off automatic placement. Really, virtually everything I tried worked well except this. I wanted to put together a score that looked great with no manual adjustments, and this one issue is what boxed me in the most. That is, I had to refrain from doing things in the score I'd have otherwise wanted to do, because manual adjustment would have been required to the dynamic if I had. Well, slur reshaping would have been nice too but not as big a deal actually.


Severity S3 - Major S5 - Suggestion

Before someone calls me on this not really being a bug (although I'd say the issue with "p" affecting the hairpin text combo probably is)...

Regression No Yes
Severity S5 - Suggestion S3 - Major

I'd say it's objectively bad that autoplacement can actually ruin the expected alignment, especially because earlier on in development it didn't (based on Format / Style / Score / Vertical Align Range).

Well, without autoplace it's a mess of collisions instead, so it's not like autoplace is "ruining" something that otherwise looks good. It's still better with than without, although if you plan to manually adjust to establish alignment, might be easiest to disable it.

I hadn't remembered that vertical align range ever applied to combinations of dynamics and hairpins, but if the only options are measure or system, that's not really going to help, as neither is really appropriate. It really should be context-sensitive as in my examples, I think.

Fix version