Urs Liska <[email protected]> writes: > Can someone explain to me why \overrideProperty Staff.BarLine.color > #red colors the barlines in *all* staves while \override > Staff.BarLine.color = #red only affects the current Staff context? > > I have just re-read > http://lilypond.org/doc/v2.19/Documentation/notation/set-versus-override > and am scratching my head. I do claim to have some experience by now > but this page isn't actually really helpful: > > "The commands ... |\overrideProperty| change grob properties by > bypassing all context properties completely and, instead, catch > grobs as they are being created, setting properties on them ... for > a specific override." > > This doesn't give a clue when \overrideProperty should (or must) be > used instead of \override or what the difference in behaviour actually > is. > > \overrideProperty is also present on > http://lilypond.org/doc/v2.19/Documentation/notation/available-music-functions#index-overrideProperty-1 > > |overrideProperty| [music] - grob-property-path (list of indexes or > symbols) value (any type) > Set the grob property specified by grob-property-path to value. > grob-property-path is a symbol list of the form > |Context.GrobName.property| or |GrobName.property|, possibly > with subproperties given as well. > > As opposed to |\override| which overrides the context-dependent > defaults with which a grob is created, this command uses > |Output_property_engraver| at the grob acknowledge stage. This > may be necessary for overriding values set after the initial > grob creation. > > This gives an indication for why it may in some cases be necessary to > use \overrideProperty but it doesn't explain why it seems to affect > objects in all contexts instead of just the one where it is used.
Because the respective engraver is only active at Score level and overrides the properties in _all_ contexts of the given type. -- David Kastrup _______________________________________________ lilypond-user mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-user
