lilypond-user
[Top][All Lists]
Advanced

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

Re: two-pass line/page breaking and lilypond-book -- example/docs?


From: Arvid Grøtting
Subject: Re: two-pass line/page breaking and lilypond-book -- example/docs?
Date: Sat, 30 Dec 2006 20:34:06 +0000 (UTC)
User-agent: Loom/3.14 (http://gmane.org/)

Graham Percival <gpermus <at> gmail.com> writes:

> I understand even less about the two-pass stuff.

:-)

I looked again yesterday, and either I didn't look very well last time or
someone has written something.  I also looked a bit in the code, now that I knew
what to look for.  I'm not sure it works the way I was expecting, though.

In the score I was preparing, two systems per page (on four pages) became one
per page (on eight pages) with two-pass vertical spacing.  It looks like the
systems were stretched a bit too much.

I haven't reduced this to a minimal example yet; I'll try to do that and report
a bug.  I did, however, find a workaround today:

- manually reduce system-stretch in the tweaks file for the systems on the first
page, and then:

- adjust the tweak by a factor, thus:

#(define tweakFactor 0.5)

spacingTweaks =
#(define-music-function (parser location parameters) (list?)
   "Set the system stretch, by reading the 'system-stretch property of
   the `parameters' assoc list."
   #{
      \overrideProperty #"Score.NonMusicalPaperColumn"
        #'line-break-system-details
        #$(list (cons 'alignment-extra-space 
                 (* tweakFactor (cdr (assoc 'system-stretch parameters)))))
   #})

It also looks like this could be used from lilypond-book.  *clickety-click*
(That was the sound of me, testing.)  And, lo and behold: This seems to work.  I
now have a lilypond-book book with the same line breaks as the individual score.

So, that part works and I seem to have answered my own question.  I'll try
boiling this down to a bug report and a bit of documentation, but probably not
this year...

Cheers,

-- 

Arvid






reply via email to

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