Am Do., 27. Juni 2024 um 17:05 Uhr schrieb Trevor Bača <trevorb...@gmail.com>: > > Hi, > > Here is a two-staff example with a bug relating to the way that whiteout > works with TrillPitchAccidental, TrillPitchHead, TrilPitchParentheses; the > parenthesized pitched-trill fails to print, leaving behind some type of > visual artifact: > > %%% PITCHED-TRILL WHITEOUT BUG %%% > > \version "2.25.16" > \language "english" > > A = { > % measure 1 > c''4 > c''16 > c''16 > c''16 > c''16 > c''16 > c''16 > c''8 > % measure 2 > c''8 > c''16 > c''16 > c''16 > c''16 > c''16 > c''16 > \once \override Beam.grow-direction = #right > c''16 * 29952/5120 > [ > c''16 * 16128/5120 > c''16 * 13312/5120 > c''16 * 11776/5120 > c''16 * 10752/5120 > ] > } > > B = { > % measure 1 > \time 3/4 > \set Score.proportionalNotationDuration = #(ly:make-moment 1/32) > \override TrillPitchAccidental.layer = 2 > \override TrillPitchHead.layer = 2 > \override TrillPitchParentheses.layer = 2 > \clef "bass" > r16 > \once \override TrillPitchAccidental.whiteout = ##t > \once \override TrillPitchHead.whiteout = ##t > \once \override TrillPitchParentheses.whiteout = ##t > \pitchedTrill > cs4.. > \glissando > \startTrillSpan ds > \afterGrace > e4 > { > f8 > \glissando > } > % measure 2 > \time 6/4 > d16 > r8. > \stopTrillSpan > r1 > r4 > } > > \new Score > << > << > \new Staff { \A } > \new Staff { \B } > >> > >> > > %%% END %%% > > [image: pitched-trill-whiteout-bug.png] > > What causes the bug to go away? > > Many things, apparently. > > Removing the upper staff causes the bug to go away: > > %%% OK WITHOUT UPPER STAFF %%% > > \version "2.25.16" > \language "english" > > A = { > % measure 1 > c''4 > c''16 > c''16 > c''16 > c''16 > c''16 > c''16 > c''8 > % measure 2 > c''8 > c''16 > c''16 > c''16 > c''16 > c''16 > c''16 > \once \override Beam.grow-direction = #right > c''16 * 29952/5120 > [ > c''16 * 16128/5120 > c''16 * 13312/5120 > c''16 * 11776/5120 > c''16 * 10752/5120 > ] > } > > B = { > % measure 1 > \time 3/4 > \set Score.proportionalNotationDuration = #(ly:make-moment 1/32) > \override TrillPitchAccidental.layer = 2 > \override TrillPitchHead.layer = 2 > \override TrillPitchParentheses.layer = 2 > \clef "bass" > r16 > \once \override TrillPitchAccidental.whiteout = ##t > \once \override TrillPitchHead.whiteout = ##t > \once \override TrillPitchParentheses.whiteout = ##t > \pitchedTrill > cs4.. > \glissando > \startTrillSpan ds > \afterGrace > e4 > { > f8 > \glissando > } > % measure 2 > \time 6/4 > d16 > r8. > \stopTrillSpan > r1 > r4 > } > > \new Score > << > << > % \new Staff { \A } % <= THIS IS THE ONLY LINE THAT IS CHANGED > \new Staff { \B } > >> > >> > > %%% END %%% > > [image: ok-without-upper-staff.png] > > Strangely, the bug also goes away when the second glissando is removed: > > %%% OK WITHOUT SECOND GLISSANDO %%% > > \version "2.25.16" > \language "english" > > A = { > % measure 1 > c''4 > c''16 > c''16 > c''16 > c''16 > c''16 > c''16 > c''8 > % measure 2 > c''8 > c''16 > c''16 > c''16 > c''16 > c''16 > c''16 > \once \override Beam.grow-direction = #right > c''16 * 29952/5120 > [ > c''16 * 16128/5120 > c''16 * 13312/5120 > c''16 * 11776/5120 > c''16 * 10752/5120 > ] > } > > B = { > % measure 1 > \time 3/4 > \set Score.proportionalNotationDuration = #(ly:make-moment 1/32) > \override TrillPitchAccidental.layer = 2 > \override TrillPitchHead.layer = 2 > \override TrillPitchParentheses.layer = 2 > \clef "bass" > r16 > \once \override TrillPitchAccidental.whiteout = ##t > \once \override TrillPitchHead.whiteout = ##t > \once \override TrillPitchParentheses.whiteout = ##t > \pitchedTrill > cs4.. > \glissando > \startTrillSpan ds > \afterGrace > e4 > { > f8 > % \glissando % <= THIS IS THE ONLY LINE THAT IS CHANGED > } > % measure 2 > \time 6/4 > d16 > r8. > \stopTrillSpan > r1 > r4 > } > > \new Score > << > << > \new Staff { \A } > \new Staff { \B } > >> > >> > > %%% END %%% > > [image: ok-without-second-glissando.png] > > The bug also goes away when the rhythm of the upper staff is changed: > > %%% OK WITH RHYTHMIC SIMPLIFICATION %%% > > \version "2.25.16" > \language "english" > > A = { > % measure 1 > % c''4 > % c''16 > % c''16 > % c''16 > % c''16 > % c''16 > % c''16 > % c''8 > c''2. % <= THIS IS THE ONLY NEW LINE > > % measure 2 > c''8 > c''16 > c''16 > c''16 > c''16 > c''16 > c''16 > \once \override Beam.grow-direction = #right > c''16 * 29952/5120 > [ > c''16 * 16128/5120 > c''16 * 13312/5120 > c''16 * 11776/5120 > c''16 * 10752/5120 > ] > } > > B = { > % measure 1 > \time 3/4 > \set Score.proportionalNotationDuration = #(ly:make-moment 1/32) > \override TrillPitchAccidental.layer = 2 > \override TrillPitchHead.layer = 2 > \override TrillPitchParentheses.layer = 2 > \clef "bass" > r16 > \once \override TrillPitchAccidental.whiteout = ##t > \once \override TrillPitchHead.whiteout = ##t > \once \override TrillPitchParentheses.whiteout = ##t > \pitchedTrill > cs4.. > \glissando > \startTrillSpan ds > \afterGrace > e4 > { > f8 > \glissando > } > % measure 2 > \time 6/4 > d16 > r8. > \stopTrillSpan > r1 > r4 > } > > \new Score > << > << > \new Staff { \A } > \new Staff { \B } > >> > >> > > %%% END %%% > > [image: ok-with-slight-rhythmic-simplification.png] > > In fact, changing almost any one single thing about the original example > makes the invisible-pitched-trill bug go away. > > Does anyone have any idea what is happening here? Or should I open an issue > in the tracker? > > Trevor. > > -- > Trevor Bača > www.trevorbaca.com > soundcloud.com/trevorbaca
Hi Trevor, here all of TrillPitchHead/Accidental/Parentheses are set to the same layer value. This means its arbitrary what is printed above each other. This documented somewhere, iirc, too lazy to search ... Set TrillPitchHead/Accidental to a higher value than TrillPitchParentheses and all works always. Furthermore you only need whiteout for TrillPitchParentheses: \version "2.25.16" \language "english" A = { % measure 1 c''4 c''16 c''16 c''16 c''16 c''16 c''16 c''8 % measure 2 c''8 c''16 c''16 c''16 c''16 c''16 c''16 \once \override Beam.grow-direction = #right c''16 * 29952/5120 [ c''16 * 16128/5120 c''16 * 13312/5120 c''16 * 11776/5120 c''16 * 10752/5120 ] } B = { % measure 1 \time 3/4 \set Score.proportionalNotationDuration = #(ly:make-moment 1/32) \override TrillPitchAccidental.layer = 3 \override TrillPitchHead.layer = 3 \override TrillPitchParentheses.layer = 2 \clef "bass" r16 \once \override TrillPitchParentheses.whiteout = ##t \pitchedTrill cs4.. \glissando \startTrillSpan ds \afterGrace e4 { f8 \glissando } % measure 2 \time 6/4 d16 r8. \stopTrillSpan r1 r4 } \new Score << << \new Staff { \A } \new Staff { \B } >> >> Thus no bug, afaict. Best, Harm