[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: TrillPitch* whiteout bug
From: |
Trevor Bača |
Subject: |
Re: TrillPitch* whiteout bug |
Date: |
Fri, 28 Jun 2024 09:46:03 +0200 |
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 <thomasmorley65@gmail.com>
wrote:
> Am Do., 27. Juni 2024 um 17:05 Uhr schrieb Trevor Bača <
> trevorbaca@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