[Top][All Lists]

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

Re: Issue 1486 in lilypond: Lyrics above the first staff in a system are

From: Joe Neeman
Subject: Re: Issue 1486 in lilypond: Lyrics above the first staff in a system are spaced too closely for the first system
Date: Sat, 22 Jan 2011 09:28:54 -0800

On Sat, Jan 22, 2011 at 6:30 AM, Carl Sorensen <address@hidden> wrote:

> On 1/22/11 3:36 AM, "Reinhold Kainhofer" <address@hidden> wrote:
> > Am Freitag, 21. Januar 2011, um 19:13:54 schrieb address@hidden
> :
> >> At any rate, I think that with the understanding that we need to 1) use
> >> alignAboveContext for lyrics above a staff, and 2) make space for
> lyrics,
> >> with top-system-spacing, system-system-spacing, system-bottom-spacing,
> and
> >> default-staff-staff-spacing I think this becomes a Documentation bug
> (still
> >> Critical).
> >
> > Does this also work if one page has lyrics above the top staff, while
> another
> > page does not? Or does the second page also reserve space for the
> non-existing
> > lyrics on that page (which would be quite bad from my point of view)?
> IIUC, the current spacing engine *never* reserves space for lyrics
> depending
> on whether the lyrics are there or not.  It lays out the staves without
> considering the lyrics, and then pushes the lyrics into the gaps between
> the
> staves as best it can.
> This came about because of requests to always have the staves in the same
> place on each page, IIRC.  Staves were moving about because of lyrics, and
> it was requested that lilypond stop doing that, so the new spacing was
> devised.
> Hence my thought that we might want to have the possibility of reverting to
> the old behavior.

The old behaviour was basically to put things as close together as they
allow. You can achieve it by
- setting staff-affinity = ##f for everything
- setting staff-staff-spacing #'basic-distance = 0 (and similarly for the
other spacing variables)
- setting staff-staff-spacing #'minimum-distance and #'padding to whatever
you want (have a look at the old minimum-Y-extent settings for an idea of a
good default)

Alternatively, it's easy to extend the spacing engine to modify spacing
depending on how many non-staff lines there are between two staves. I'm just
not sure what the interface should be. Just off the top of my head, we could

\override VerticalAxisGroup #'extra-staff-spacing = #'((basic-distance . x)
(minimum-distance . y) (padding . z))

in the Lyric staff and it would add x to the basic-distance of whichever
staves the lyric is between.


reply via email to

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