On Mon, Jun 15, 2009 at 9:05 PM, Reinhold Kainhofer
<reinh...@kainhofer.com>wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Am Montag, 15. Juni 2009 17:25:54 schrieb Joe Neeman:
> > I've started working on a new system for doing vertical layout in one
> pass
> > (ie. positioning and stretching the systems simultaneously).
>
> Since I have also attempted to improve the vertical stretching of
> orchestral
> (choir + full orchestra) full scores (but failed, since I couldn't get the
> springs-and-rods problem to return any useful solution), I spend a while
> thinking about what should be done:


Those are some comprehensive comments, thanks! Some remarks/questions
below...

>
> - -) Being able to set stretching factors on a StaffGroup-level. In
> particular,
> for full scores there are staff groups for woodwind, brass, vocal voices,
> strings etc. When the whole system is stretched vertically, there is more
> space in printed scores between the groups than between the staves inside
> the
> individual groups (i.e. the instrumental staff groups use a different
> spring
> constant than the staff group for the whole system). See e.g. a modern
> Bärenreiter edition:
>
> http://www.fam.tuwien.ac.at/~reinhold/LilyPond/VerticalStretching/Schubert_StabatMater_0050.pdf<http://www.fam.tuwien.ac.at/%7Ereinhold/LilyPond/VerticalStretching/Schubert_StabatMater_0050.pdf>
> Current bad lilypond results (with huge stretching) are:
>
> http://www.fam.tuwien.ac.at/~reinhold/LilyPond/VerticalStretching/stretching_oly_largestretch.pdf<http://www.fam.tuwien.ac.at/%7Ereinhold/LilyPond/VerticalStretching/stretching_oly_largestretch.pdf>
>
> This is really necessary for full scores for the conductor to get a quick
> overview over the instrument groups. In particular, look at the
> stretching_oly_vocalstaves.pdf file (current results with lilypond!), hide
> the
> group brackets at the left and try to guess which staves belong together...
> Sample file (with hardly any stretching):
>
> http://www.fam.tuwien.ac.at/~reinhold/LilyPond/VerticalStretching/stretching_oly_vocalstaves.pdf<http://www.fam.tuwien.ac.at/%7Ereinhold/LilyPond/VerticalStretching/stretching_oly_vocalstaves.pdf>
>
> You would never guess which staves belong together..


This will certainly the possible in the layout code, but I don't see how to
make it nicely accessible through properties. Currently, the information
about staff groups doesn't make it as far as the backend. If I can't find a
nice way to do this, the functionality will be available anyway by setting
'previous-space on the first staff and 'next-space on the last staff of a
staff group.

- -) The stretching should not be done by simply inserting the same space
> between all the staves, since then staves with a high skyline (e.g. one
> staff
> has some dynamic signs, while other don't) will be spaced too much compared
> to
> staves with a low skyline. The stretching should rather attempt to space
> the
> center-line of the staves (almost) equally.


This is already done (assuming it works; I haven't checked carefully).


> - -) For staves with lyrics it might give better results to almost ignore
> the
> lyrics for spacing and then squeeze in the lyrics in the remaining space.
> Otherwise the vocal staves with lyrics will be spaced way too much compared
> to
> e.g. the strings section. For a hand-engraving, see e.g. the 1897 Breitkopf
> edition of Schubert's Stabat mater:
>
> http://www.fam.tuwien.ac.at/~reinhold/LilyPond/VerticalStretching/Partitur_Breitkopf1897-
> Seite2.pdf<http://www.fam.tuwien.ac.at/%7Ereinhold/LilyPond/VerticalStretching/Partitur_Breitkopf1897-%0ASeite2.pdf>
> Compare this to the current LilyPond output:
>
> http://www.fam.tuwien.ac.at/~reinhold/LilyPond/VerticalStretching/stretching_oly_vocalstaves.pdf<http://www.fam.tuwien.ac.at/%7Ereinhold/LilyPond/VerticalStretching/stretching_oly_vocalstaves.pdf>


Ok, I was planning anyway to divide VerticalAxisGroups into "spaceable" (eg.
staves) and "non-spaceable"
(eg.  dynamics in a piano staff) categories. The "spaceable" lines will
participate in the layout algorithm (ensuring that space is reserved for the
non-spaceable lines) and then the non-spaceable lines will be distributed
somehow in between the spaceable ones. This is how I intend to do centered
dynamics for piano staves; I could do something similar for lyrics (maybe
for figured bass also?).

- -) It should be possible to keep one context (in particular FiguredBass)
> as
> close as possible to another staff (yes, we have that already by disabling
> stretching above).
>
>
> - -) Fixed positioning of staves/contexts should be possible, even if some
> contexts are killed (in particular, when there are several measures where a
> vocal voice is quiet, the lyrics context is automatically killed meanwhile
> and
> the explicit positioning is messed up right now.


I'm not sure exactly what you mean by this. Do you mean that
'alignment-offsets in 'line-break-system-details should include the position
of dead staves as well as live ones? That's easy enough to achieve. In fact,
this can be fixed before 2.14.

Cheers,
Joe
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to