OK, David, I've combined everything. Hopefully everything is fine now. Here it
is:
tweakTie =
#(lambda
(grob)
(let*
((ties
(ly:grob-array->list
(ly:grob-object grob 'ties)))
(notehead
(ly:spanner-bound
(car ties) LEFT))
(stem
(ly:grob-object notehead 'stem))
(stem-dir
(ly:grob-property stem 'direction))
(flag
(ly:grob-object stem 'flag))
(dot
(ly:grob-object notehead 'dot)))
(if
(>
(length ties) 1)
(begin
(if
(ly:grob? flag)
(ly:grob-set-property! flag 'Y-extent
(cons 4 0)))
(for-each
(lambda
(tie)
(ly:grob-set-nested-property! tie '(details skyline-padding) 5))
ties)))
(if
(and
(= stem-dir 1)
(ly:grob? dot))
(for-each
(lambda
(tie)
(let
((tie-dir
(ly:grob-property tie 'direction)))
(if
(= tie-dir 1)
(begin
(ly:grob-set-nested-property! tie '(details skyline-padding) 5)
(ly:grob-set-property! tie 'Y-offset -0.25))))) ties))
(if
(and
(= stem-dir -1)
(ly:grob? dot))
(for-each
(lambda
(tie)
(let
((tie-dir
(ly:grob-property tie 'direction)))
(if
(= tie-dir -1)
(begin
(ly:grob-set-nested-property! tie '(details skyline-padding) 5)
(ly:grob-set-property! tie 'Y-offset 0.25))))) ties))))
Thanks for all your help.
Karol
_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user