lilypond-user
[Top][All Lists]
Advanced

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

Re: RFC: new vertical layout engine


From: Joe Neeman
Subject: Re: RFC: new vertical layout engine
Date: Wed, 17 Jun 2009 14:24:18 +0300



On Tue, Jun 16, 2009 at 3:32 PM, Cameron Horsburgh <address@hidden> wrote:
At Mon, 15 Jun 2009 18:25:54 +0300,
Joe Neeman <address@hidden> wrote:
>
> [1  <multipart/alternative (7bit)>]
> [1.1  <text/plain; ISO-8859-1 (7bit)>]
>
> [1.2  <text/html; ISO-8859-1 (quoted-printable)>]
> I've started working on a new system for doing vertical layout in one pass (ie. positioning and
> stretching the systems simultaneously). This should give better default behaviour than the
> current code and it should also allow easier and more useful overrides. I plan to merge the code
> after 2.14 is released, so it should appear in the 2.16 stable version. The code is currently in
> the dev/jneeman git branch. It basically works (I hope), but it is missing a lot of previously
> existing functionality. I'm interested in hearing from people who like to override vertical
> spacing stuff (even more so if they can compile from git and test things): what sort of
> overrides do you use and what sort of overrides would you like to have available? Also, are
> there any "high-level" overrides that would free you from having to position systems manually?
>

I produce a lot of conductor's scores (with one system to a page) but
I've always found the spacing to detract a lot from the overall
excellence of the typesetting. I've just tried out the new code on one
of my scores and I must say I am very impressed with the result. In
fact, I'm going to print my most recent score and replace the one I
delivered a couple of weeks ago. It is far, far better.

I don't usually use a lot of the fancier layout stuff, so I'm
wondering what you have removed from this version. However, I would
most certainly use some of the grouping schemes Reinhold mentioned in
his message.

As of my latest push, I think there are no regressions in the configurability, although some tweaks got a bit uglier (to fix a lyric line, you need to override next-staff-spacing on the staff above it).
 
What I would ideally like (for systems-per-page = #1) is for the top
line of the top staff and the bottom line of the bottom staff to be
the same for every page, and everything suitably spread out
between. In other words, the top and bottom staves should be given
absolute positions and everything else is calculated afterwards.

With first-system-spacing and last-system-spacing in the paper block, this is now achievable:
\paper {
  first-system-spacing = #'((space . 20) (stretchability . 0))
  last-system-spacing = #'((space . 20) (stretchability . 0))
}

 It isn't perfect, though, because it doesn't (yet) consider the top-matter or the bottom-matter. For example, the top staff of the first page will be above the top staff of the second page because the first page doesn't have a page number and the second one does.

Joe

reply via email to

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