Re: TrillPitch* whiteout bug

Trevor Bača <[email protected]>
Newsgroups gmane.comp.gnu.lilypond.bugs
Message-ID <CACTvJ4WqCpD6E69HoK+ERBkyarQOA4YCu9n1FratwK=VuC0GSw@mail.gmail.com>
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 <[email protected]>
wrote:

> Am Do., 27. Juni 2024 um 17:05 Uhr schrieb Trevor Bača <
> [email protected]>:
> >
> > 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.