[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: DynamicText artificially extends bar size when within a StaffGroup

From: Jean-Baptiste Mazon
Subject: Re: DynamicText artificially extends bar size when within a StaffGroup
Date: Fri, 17 Jan 2020 14:19:32 +0100

I've narrowed the regression down to commit
9edf3715c2b2cca09785dcd015724ad3c29cba8a “Issue 621: Dynamics should avoid
cross-staff BarLines (e.g. GrandStaff, PianoStaff etc)”

>    Dynamics usually have extra-spacing-width set to an empty interval so
>    that their placement does not cause other elements to shift.
>    With span bars, however, the resulting overlap is a worse cure than
>    the problem.  So this switches off the width-hiding setting of
>    extra-spacing-width inside of staff groups using span bars by default.
>    No extra space is allocated, so dynamics will clear the span bars only
>    narrowly, a reasonable compromise.

Which makes a lot of sense when you read it. (and yay, reading the diff
provides me with a workaround)

So obviously, I'll stand in and say I disagree with the premise, given my
context, but now at least I see what the change's aim was.
Could we find some (more) compromise here?
It seems right now, the dynamic will refuse to cross a virtual bar line,
even if it causes a layout stretch, even if there's no barline to cross at
all (single staff within a group; last staff of the group; etc).

The UGLY situation does happen in the wild—that's how I discovered it.

Any opinion welcome.


%% original-report.ly
\version "2.18.0"
% The \tweak isn't necessary per-se, it just makes it more visible
dyn = \tweak DynamicText.self-alignment-X #LEFT
  #(make-dynamic-script (markup #:normal-text
    "dynamic text shouldn't push next bar to the right"))
% Occurs within a StaffGroup:
\score { \new StaffGroup { r r r e''\dyn e'' e'' e'' e'' e'' } }
% But not out of it:
\score { \new Staff      { r r r e''\dyn e'' e'' e'' e'' e'' } }

%% fuglyssimo.ly (less pathological, and with a staff below for context)
\version "2.19.0"
\new StaffGroup <<
  \new Staff <<
    { \repeat unfold 16 c''16 c''1 }
{ s2...\ff s16-#(make-dynamic-script (markup "pp" #:normal-text #:italic
"subitissimo")) }
  \new Staff R1*2

Attachment: original-report.png
Description: PNG image

Attachment: fuglyssimo.png
Description: PNG image

reply via email to

[Prev in Thread] Current Thread [Next in Thread]