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

Reply via email to