On Jul 23, 2011, at 10:56 PM, n.putt...@gmail.com wrote: > > http://codereview.appspot.com/4814041/diff/6001/scm/define-grob-properties.scm > File scm/define-grob-properties.scm (right): > > http://codereview.appspot.com/4814041/diff/6001/scm/define-grob-properties.scm#newcode1000 > scm/define-grob-properties.scm:1000: (core-interfaces ,list "Core > interfaces to be used for positioning.") > Yuck. > > If you have to do it like this, I think it would be better to define a > new interface which you add to the relevant grobs (though even that > seems dubious) >
Why is it a bad thing to do it this way? Currently, the Beam_collision_engraver implements dynamic filtering based on interface, and I don't think there's a problem with that (it is the only way to make it ignore certain grobs on the fly). Creating a new interface would be OK but would make it harder to filter out interfaces on the fly (people would have to override a grob's "meta" property, which seems hard). The problem at hand is that the PaperColumn groups together a slew of grobs indiscriminately that elements then get positioned against. If we want only certain grobs in this paper column to count in the positioning calculations, I think it makes sense to to do it like this. ~Mike _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel