Correct me if I'm wrong, but this is my understanding: wherever there's a SpanBar, you're creating SpanBarStubs between every relevant pair of staves. These don't actually get printed; they're just there for the pure-height (because the SpanBar height is pretty much the whole system, so it doesn't tell you where the gaps are).
If that's correct, I have two broad comments: it's worth commenting somewhere (span-bar-stub-engraver.cc, maybe) that the purpose of SpanBarStub is for pure-height only. But more importantly, isn't SpanBar now obsoleted by SpanBarStub? That is, you can just remove the SpanBar altogether and print the SpanBarStubs. http://codereview.appspot.com/4917046/diff/1/lily/align-interface.cc File lily/align-interface.cc (right): http://codereview.appspot.com/4917046/diff/1/lily/align-interface.cc#newcode363 lily/align-interface.cc:363: Align_interface::get_vertical_alignment (Grob *g) Our convention is that in Align_interface::foo_bar (Grob *g) the Grob *g should be something that implements Align_interface. So this function should really be Grob::get_vertical_alignment. Same for the functions below it. http://codereview.appspot.com/4917046/diff/1/lily/align-interface.cc#newcode374 lily/align-interface.cc:374: Align_interface::get_vertical_axis_group (Grob *g) Seems to me that what you really want here is the top-level VerticalAlignment (as opposed to, say, a BassFigureAlignment, which also implements Axis_group_interface and Align_interface). Try g->get_system ()->get_vertical_alignment () instead. http://codereview.appspot.com/4917046/diff/1/lily/span-bar-stub-engraver.cc File lily/span-bar-stub-engraver.cc (right): http://codereview.appspot.com/4917046/diff/1/lily/span-bar-stub-engraver.cc#newcode116 lily/span-bar-stub-engraver.cc:116: //it->set_parent (y_parents[j], Y_AXIS); Obsolete code? http://codereview.appspot.com/4917046/ _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel