>> Here is my function:
>>
>> offsetBrokenSpanner =
>> #(define-music-function (parser location name offsets) (string? pair?)
>> #{
>> \overrideProperty $name #'after-line-breaking #(broken-spanner
>> $offsets)
>> #}
>> )
>>
>> #(define ((broken-spanner offsets) 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 offsets))))
>>
>
> This is something similar:
>
> \version "2.13.48"
>
> #(define ((grob2-extra-offset offset) grob)
> (let* (
> (orig (ly:grob-original grob))
> (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 offset))))
>
> albOffset = #(define-music-function (parser location type move) (string?
> pair?) #{
> \once \override $type #'after-line-breaking = #(grob2-extra-offset
> $move)
> #})
>
>
> Nick
>
Hi, Nick --
The difference that I see between the two versions here is the use of
\once \override vs. \overrideProperty. I don't know if anything has
changed in the development versions, but in 2.12.3, I get warnings
("not a grob name") and errors ("Grob name should be alphanumeric")
when I use \override with strings such as "Staff.OttavaBracket" and
"Staff.PianoPedalBracket". This doesn't happen with
\overrideProperty, so you have access to grobs in other contexts.
Best,
David
> _______________________________________________
> lilypond-user mailing list
> [email protected]
> http://lists.gnu.org/mailman/listinfo/lilypond-user
>
_______________________________________________
lilypond-user mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-user