Am Mo., 11. März 2019 um 23:01 Uhr schrieb Trevor Bača <[email protected]>:
>
> On Thu, Mar 7, 2019 at 2:14 AM David Kastrup <[email protected]> wrote:
> > It's probably not the only spanner
> > unprepared to span pieces of interrupted staff symbols.
> >
>
> Isn't this still a bug?
In the sense David pointed out.
> Or, rather a gap in system functionality for which
> no workaround exists?
Here an attempt for a workaround.
It's not tested beyond the given example, up to you ;)
\new Staff {
\override DynamicLineSpanner.after-line-breaking =
#(lambda (grob)
(let* ((staffs
(filter
(lambda (e) (grob::has-interface e 'staff-symbol-interface))
(ly:grob-array->list
(ly:grob-object (ly:grob-parent grob Y) 'elements)))))
(for-each
(lambda (staff) (set! (ly:grob-object grob 'staff-symbol) staff))
staffs)
;(format #t"\nstaff-padding: ~a\nY-offset: ~a\nstaff-symbol ~a\n"
; (ly:grob-property grob 'staff-padding)
; (ly:grob-property grob 'Y-offset)
; (ly:grob-object grob 'staff-symbol))
))
\override DynamicLineSpanner.staff-padding = 10
c'1\p\< c'1 c'1
\break
c'1 \stopStaff \startStaff c'1 c'1
\break
c'1 c'1 c'1
\break
c'1 c'1 c'1\f
}
\paper {
indent = 0
ragged-right = ##t
}
Cheers,
Harm
_______________________________________________
bug-lilypond mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-lilypond