Hi Harm,

Yes, setting ...

    \override TrillPitchAccidental.layer = 3
    \override TrillPitchHead.layer = 3
    \override TrillPitchParentheses.layer = 2

... does work.

Thank you,

Trevor.

On Thu, Jun 27, 2024 at 11:07 PM Thomas Morley <thomasmorle...@gmail.com>
wrote:

> 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
>


-- 
Trevor Bača
www.trevorbaca.com
soundcloud.com/trevorbaca

Reply via email to