On Tue, Mar 30, 2004 at 10:55:37PM +0200, Matthias Kilian wrote: > > Under "Piano music" -> BUGS I found it, and it is quite complicated, but > > it works. :) [...] > > Can You tell me, wether it is possible or not to determine more than one > > line to change the distance? > > With the hack mentioned in the docs (I use that for my chaconna exercise), > it's not possible. However, the hack may be extended to accept a list > of line numbers (or, pairs of line numbers and staff distances). > (I'm talking about that futz-alignment-callback) > > I'll work on this in a few days, so stay tuned.
Here it is. Terrible, ugly, imperformant, nearly unusable, but it works: replcate the definition of futz-alignment-callback in the documentation sample by the following: function: #(define ((futz-alignment-callback count-dists) grob axis) "For all COUNT/DISTANCE pairs in count-dists, check if we're the system number COUNT, and if yes, set fixed distance to DISTANCE; then call the original callback. " (let* ((a (ly:grob-parent grob axis)) (o (ly:grob-original a)) (bs (if (ly:grob? o) (ly:spanner-broken-into o) #f)) ) (for-each (lambda (count-dist) (let ((count (car count-dist)) (distance (cdr count-dist))) (if (and (list? bs) (< count (length bs)) (equal? (list-ref bs count) a) ) (ly:grob-set-property! a 'forced-distance distance)))) count-dists) (Align_interface::fixed_distance_alignment_callback grob axis)) ) And, in the score block: \context PianoStaff \with { verticalAlignmentChildCallback = #(futz-alignment-callback '( (14 . 14.5) (15 . 15) (17 . 14) )) %% Every cross staff beam will trigger %% alignment unless autokneeing is switched off \override Beam #'auto-knee-gap = #'() } { ... } Each pair contains the system count (counting from 0) and the staff distance for that system. In the example above, I force the 15th system to a distance of 14.5, the 16th to 15, and the 17th to 14 staff spaces. Since this is rather unstable (one changed linebreak after editing and you're in the wrong staff) I recommend to do that finetuning after everything else has been typed in. Ciao, Kili _______________________________________________ Lilypond-user mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/lilypond-user