On 28 February 2011 23:02, Mike Solomon <mike...@ufl.edu> wrote: > I can use either (cross-staff . #t) , (Y-extent . #f) , or both depending on > what floats people's boats.
(Y-extent . #f) is less hackish. > Sorry - I've since fixed it in line 65-66 of balloon.cc . Sometimes, > parent-spanner is not set (this likely comes from the FoonoteSpanner getting > broken into pieces and, for whatever reason, not getting passed a parent > spanner property. That or the parent spanner no longer exists). It doesn't get broken into pieces since it only spans one column. While there is some code in spanner.cc which would split such spanners (see the comment in do_break_processing ()), it never gets called since left_bound->get_system () always returns a valid system (the system's guaranteed to be set before do_break_processing () is called). > This is part of a larger problem, which is that in the current > implementation, the parent-spanner is not yet broken into pieces when passed > to Balloon::print_spanner. This means that the annotation cannot apply to > anything but the first spanner of a series. I am reticent to trigger line > breaking of the parent-spanner, and I'm not even certain that I'd know how > in a lilypondaic way. If anyone has ideas on how to make this more > flexible, I'd be happy to hear what you have to say! It's not the parent spanner you have to worry about; the FootnoteSpanner never gets broken due to the way you set its bounds. If you copied the Y-parent's bounds, then it would span wide enough to trigger breaking in do_break_processing (). You can test this easily in a callback, though it does break the footnotes (and if they were fixed, I'm not sure how you'd decide which copy is the correct one): \relative c' { \override FootnoteSpanner #'before-line-breaking = #(lambda (grob) (let ((parent (ly:grob-parent grob Y))) (ly:spanner-set-bound! grob LEFT (ly:spanner-bound parent LEFT)) (ly:spanner-set-bound! grob RIGHT (ly:spanner-bound parent RIGHT)))) \footnoteGrob #'Hairpin #'(-1 . 0) "foo" "bar" c1\< \break c1 c1\! } Cheers, Neil _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel