TrillPitch* whiteout bug

Trevor Bača <[email protected]>
Newsgroups gmane.comp.gnu.lilypond.bugs
Message-ID <CACTvJ4V6eypAVrCruG+g3kZ24jsNQNSpKE9Hp3GTS_AgqAxvrA@mail.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
pitched-trill-whiteout-bug.png (image/png, 29 KB) - not displayed
ok-without-upper-staff.png (image/png, 18.2 KB) - not displayed
ok-without-second-glissando.png (image/png, 46.1 KB) - not displayed
ok-with-slight-rhythmic-simplification.png (image/png, 29.5 KB) - not displayed
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.