lilypond-devel
[Top][All Lists]
Advanced

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

Re: Vertical stretching of groups


From: Reinhold Kainhofer
Subject: Re: Vertical stretching of groups
Date: Mon, 23 Jun 2008 12:59:54 +0200
User-agent: KMail/1.9.9

Am Sonntag, 22. Juni 2008 schrieben Sie:
> So, maybe I'm too naive about the LP internals to discuss this one,
> but it seems like the current LP structure is close to providing what
> Reinhold describes, at least within systems of music. Currently, the
> keep-fixed-while-stretching property can be used to exclude a staff or
> group of staves from all vertical stretching. Instead of a boolean
> 'to-stretch-or-not-to-stretch' for each vertical space we could have a
> floating point that describes the relative stretchiness of each
> element in the system.

Actually, this is the "easy" part of the problem (although using a setting to 
change the spacing BEFORE a staff will be quite complicated, because the 
first staff of a group will have a different spacing than the other staves of 
the system; The first staff will use the stretching of the group' parent 
group, while the remaining staves will use the stretching of the group 
itself - so the stretching should not be done at staff-level, but rather at 
group level).

The larger problem is that currently lilypond's idea of "equal" stretching is 
to insert the same amount of white space between all staves, irrespective of 
the staff's skyline. In professional scores, however, equal stretching of 
staves means that the staff lines are almost equally spaced, which means that 
the amount of inserted whitespace varies depending on the skyline.

As long as the skylines are symmetric and almost equal, that problem is hardly 
noticable. But as soon as the skylines are asymmetric, lilypond will produce 
very uneven spacing. Attached is an example, where the first page uses no 
stretching at all. If you would now stretch that system manually, you would 
insert much more space between the second and third staff so that the staves 
are almost equally spaced. Lilypond, however, inserts the same amount of 
whitespace between all three staves (see the second page of the sample file), 
which makes the staves appear unevenly spaced.

It's basically the same problem as vertical text layout, where you can either 
insert the same amount of whitespace between the outlines of the text, or use 
equal spacing of the baselines. The first of what lilypond currently does 
with staves, while the second one is what should be done (and what lilypond 
does correctly with text).

Cheers,
Reinhold

-- 
------------------------------------------------------------------
Reinhold Kainhofer, Vienna University of Technology, Austria
email: address@hidden, http://reinhold.kainhofer.com/
 * Financial and Actuarial Mathematics, TU Wien, http://www.fam.tuwien.ac.at/
 * K Desktop Environment, http://www.kde.org, KOrganizer maintainer
 * Chorvereinigung "Jung-Wien", http://www.jung-wien.at/

Attachment: equal_spacing.pdf
Description: Adobe PDF document

Attachment: equal_spacing.ly
Description: Text Data


reply via email to

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