lilypond-user
[Top][All Lists]
Advanced

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

Re: hairpin across line breaks is placed too high on the second line


From: Neil Puttock
Subject: Re: hairpin across line breaks is placed too high on the second line
Date: Mon, 26 May 2008 18:20:55 +0100

Hi Reinhold,

2008/5/25 Reinhold Kainhofer <address@hidden>:
> if a hairpin crescendo, placed above the staff with \dynamic up, is split up
> by a line break, the clef of the second line (which appears before the
> crescendo starts, though) causes the second part of the hairpin to be placed
> way too high. An example is attached.
>
> Is there any fix for this?

A rather inelegant workaround would be to use a callback with
'extra-offset (ugh), like the one detailed in 7.7.2 Difficult tweaks:

#(define (my-callback grob)
  (let* (
         ; have we been split?
         (orig (ly:grob-original grob))

         ; if yes, get the split pieces (our siblings)
         (siblings (if (ly:grob? orig)
                     (ly:spanner-broken-into orig) '() )))

   (if (and (>= (length siblings) 2)
             (eq? (car (last-pair siblings)) grob))
     (ly:grob-set-property! grob 'extra-offset '(0 . -1.8)))
   ly:hairpin::after-line-breaking))

\once \override Hairpin #'after-line-breaking = #my-callback

Regards,
Neil




reply via email to

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