This still needs some cleanup, at least to remove the now-redundant \tupletOutsideStaffPriority
The goal was to have outside-staff grobs figure their own Y-offset, including the offset required for the outside-staff grobs to avoid each other. The group of all objects on a line (VerticalAxisGroup) still does most of the organizational work, but any outside-staff grob figures its own position based on that organizational work. How will this help positioning around cross-staff objects? Presumably you plan to reset the 'Y-offset property of some Grobs after page-spacing, so that the callback function is called again. Which Grobs get the reset ? If it is all the Grobs touched by a cross-staff object, then maybe it is better to keep the job of arranging outside-staff objects with the VerticalAxisGroup and reset a property of that one object. https://codereview.appspot.com/7185044/diff/45018/Documentation/changes.tely File Documentation/changes.tely (right): https://codereview.appspot.com/7185044/diff/45018/Documentation/changes.tely#newcode76 Documentation/changes.tely:76: How does Fingering work, without any 'calc-outside-staff-y-offset' ? { \override Staff.Fingering.outside-staff-priority = #1100 \tempo "Adagio" g'-3} Maybe: "The property 'outside-staff-priority' that determines relative placement of objects outside the staff is now implemented by 'side-position-interface'. All built-in objects that formerly responded to this option still do so, but user-created grobs will need to include the 'side-position-interface' to get the effect of 'outside-staff-priority'." https://codereview.appspot.com/7185044/diff/45018/lily/axis-group-interface.cc File lily/axis-group-interface.cc (left): https://codereview.appspot.com/7185044/diff/45018/lily/axis-group-interface.cc#oldcode886 lily/axis-group-interface.cc:886: multimap<Grob *, Grob *> riders; Yipee!! no more riders! I dance on the grave of the mulitmap. https://codereview.appspot.com/7185044/diff/45018/lily/side-position-interface.cc File lily/side-position-interface.cc (right): https://codereview.appspot.com/7185044/diff/45018/lily/side-position-interface.cc#newcode694 lily/side-position-interface.cc:694: "padding " If you are serious about this re-arrangement you should move the "outside-staff-priority " from grob.cc to here https://codereview.appspot.com/7185044/ _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel