bug-lilypond
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

TrillPitch* whiteout bug


From: Trevor Bača
Subject: TrillPitch* whiteout bug
Date: Thu, 27 Jun 2024 17:04:36 +0200

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

PNG image

PNG image

PNG image

PNG image


reply via email to

[Prev in Thread] Current Thread [Next in Thread]