On Wed, Jun 25, 2008 at 2:48 AM, Joe Neeman <[EMAIL PROTECTED]> wrote: > On Wed, Jun 25, 2008 at 7:03 AM, Andrew Hawryluk <[EMAIL PROTECTED]> > wrote: >> >> Reinhold started a recent thread on -user about some problems with the >> current vertical spacing behaviour, particularly when stretching large >> systems to fill a page: >> http://lists.gnu.org/archive/html/lilypond-user/2008-06/msg00309.html >> >> To summarize, vertical stretching should be smart enough to add extra >> space where it is needed most rather than equally distributing it >> between all the staves. >> >> After giving it some thought, I believe that the desired behaviour can >> be achieved by a system of 'pre-stretched' springs. Since I'm not >> fluent enough in LP internals to send it as C++, it's in English & >> pseudocode. It's too big for the email attachment limit, so I have >> posted it here: >> http://www.musicbyandrew.ca/springs.pdf > > Thanks for the detailed description. I have had a short look and will have a > longer one once I have access to a printer (I hate trying to read things > like this on-screen). However, I think that LilyPond´s spring algorithms are > already close to the ones you are describing. Have a look in > simple-spacer.cc -- it is reasonably self-contained. Unfortunately, these > spring algorithms aren´t used in the vertical stretching step, which is > completely naive; they are only used in horizontal and vertical spacing (ie. > between systems, not within them). Also, our springs have an ideal length as > well as parallel (and even overlapping) rods. This allows us to express the > fact that the "best" spacing (ie. the one with the least force) is not > necessarily the closest spacing. > > Joe > > >
Yes, simple-spacer.cc is very encouraging. I will take a closer look at it (and springs.cc), but at first glance it appears to do everything we would need for a 'smart' vertical stretching routine, and more. Anything we don't have to write is a good thing! Andrew _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel