Le 18/06/2022 à 23:59, Simon Albrecht a écrit :
Hello everyone,

it seems that some unorthodox elements in my style sheets tend to unearth issues.

StaffGroup and similar contexts set DynamicText.extra-spacing-width to #f, I guess with Dynamics contexts in mind (?). The following example shows that in the absence of Dynamic_align_engraver, this setting becomes falsely applied to Staff contexts within.

I suppose it should be ensured some other way that this doesn’t carry over. (with an override in the definition for Voice contexts or Staff contexts?)

%%%%%%%%%%%%%%%%%%%%%%%
\version "2.23.9"

\layout {
  \context {
    \Voice
    \remove "Dynamic_align_engraver"
    %\override DynamicText.extra-spacing-width = #'(+inf.0 . -inf.0)
  }
}

sOne = {
  <>\ppppp
  \repeat unfold 40 c'4
}

\paper {
  system-count = 1
}

\score {
  \new StaffGroup
  \sOne
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

(Nevermind the nonsensical vertical placement of the dynamic in this tiny example.)


The point of this override is to avoid placing dynamics over span bars. With the general default of '(+inf.0 . -inf.0), they are mostly ignored in the horizontal spacing problem, which causes problems with things like

\version "2.23.9"

\new StaffGroup <<
  \new Staff \with {
    \override DynamicText.extra-spacing-width = #'(+inf.0 . -inf.0)
  } { c'8 8 8 8 8 8 8 8_\ppp }
  \new Staff { c'1 }
>>

So this override shouldn't be specific to Dynamics in StaffGroup.

For discussion of the problems this override causes, see

https://gitlab.com/lilypond/lilypond/-/issues/6350

Jean


_______________________________________________
bug-lilypond mailing list
bug-lilypond@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-lilypond

Reply via email to