lilypond-devel
[Top][All Lists]
Advanced

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

Re: Allows glissandi to span multiple lines. (issue4564042)


From: address@hidden
Subject: Re: Allows glissandi to span multiple lines. (issue4564042)
Date: Mon, 30 May 2011 09:38:09 +0200

On May 30, 2011, at 12:20 AM, address@hidden wrote:

This fails the "sniff test" because it removes some careful-looking code
no explanation as to how the job of the old code is being done.

What happens if the line on the next page is does not, in fact, have the
same vertical reference point?

\relative c''' { \override Staff . Glissando #'breakable = ##t
 { s3 a2 \glissando \break s1 \break s1 \break s1 \pageBreak \break s2
c,2\trill\fermata^\ff }
}

I suppose a misaligned glissando is better than no glissando, but the
old code made my the voice-change lines point to the right places:
\paper {ragged-right = ##t }
\new PianoStaff <<
 \new Staff = "one" {
   \showStaffSwitch
   c'1 \break
   \change Staff = "two"
   b2 a
 }
 \new Staff = "two" {
   \clef bass
   g'1^\trill^\f s1
 }


The problem doesn't come from the page break but from alignment with common Ys.

Line 242ish of line-spanner.cc is:

  do
    span_points[d][Y_AXIS] += common_y[d]->relative_coordinate (my_common_y, Y_AXIS);
  while (flip (&d) != LEFT);

The value added on will be different depending on what's on the staves.  Try:

\relative c''' { \override Staff . Glissando #'breakable = ##t
 s2 a2 \glissando \break s1 \break s1 \break s1 \break s2
c,2
}

versus

\relative c''' { \override Staff . Glissando #'breakable = ##t
 s2 a2 \glissando \break s1 \break s1 \break s1 \break s2
c,2 \trill\fermata^\ff
}

I'm flying to Ireland today & will attempt to crunch this during the flight.

Cheers,
MS


reply via email to

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