[Top][All Lists]
[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