lilypond-user
[Top][All Lists]
Advanced

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

Re: Vertical spacing for fixed y-offset of systems *calculated from top


From: Joe Neeman
Subject: Re: Vertical spacing for fixed y-offset of systems *calculated from top staff line*?
Date: Fri, 27 May 2011 14:15:03 +0300

On Thu, May 26, 2011 at 1:27 AM, Trevor Bača <address@hidden> wrote:
Hi,

I'm looking to vertically lay out systems in a very rigid and regular way. (This is the method I documented a while back in 4.4.2 'Explicit staff and system positioning' using the Y-offset and alignment-distances attributes of line-break-system-details.) The challenge is that this method produces different visual results than it used to now that the new vertical spacing code has been added into the system. Examples are the easiest way to show the difference.


Here's an example of explicit system positioning:

%%% EX 1: EXPLICIT SYSTEM POSITIONING W/ JUMPING STAVES %%%

\version "2.13.61"

\paper {
   evenHeaderMarkup = \markup \fill-line { " " }
   indent = #0
   oddHeaderMarkup = \markup \fill-line { " " }
   top-margin = 20\mm
}

\new Staff {

   %%% PAGE 1 %%%%

   \overrideProperty #"Score.NonMusicalPaperColumn"
   #'line-break-system-details #'((Y-offset . 0))
   c'1 \pageBreak

   \overrideProperty #"Score.NonMusicalPaperColumn"
   #'line-break-system-details #'((Y-offset . 0))
   c''''1

}

%%% END EX 1 %%%

Rendering example 1 shows two pages of music with one system per page. The thing to notice is that staves jump around on the page and appear at two different vertical positions on the two pages. Lily's visual output in cases like this used to be different.

Yes, this seems to be something that changed unintentionally with the new spacing code. I have a patch that gets back the old behaviour, but it has the disadvantage that it introduces millions of false positives to the automatic regression checker (the signature-based one, probably not the pixel-based one).

FWIW, I would consider Carl's solution with top-system-spacing to be "recommended" for most uses, because it allows you to fix the top system on each page, but still have lilypond do everything else automatically. But if you really want to fix the position of every system and you're happy to do manual breaks and everything, then line-break-system-details 'Y-offset is still the way to go.

Cheers,
Joe

Attachment: 0001-Make-the-system-refpoint-the-refpoint-of-its-first-s.patch
Description: Text Data


reply via email to

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