Urs Liska <[email protected]> writes: > Am 18.02.19 um 17:30 schrieb David Kastrup: >> 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. > > > So this means that if I'm in the situation where I'm forced to use > \overrideProperty this property will always be overridden on the Score > context?
No, just in all Staff contexts (if Staff is what you specified). The Score context property will remain unchanged. This does not sound overly useful, does it? -- David Kastrup _______________________________________________ lilypond-user mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-user
