lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Contexts affected by \override and \overrideProperty


From: Urs Liska
Subject: Contexts affected by \override and \overrideProperty
Date: Mon, 18 Feb 2019 17:04:28 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0

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.

I'd be glad about any clarification, for reference: this relates to this issue: https://github.com/openlilylib/stylesheets/issues/5

Best
Urs


reply via email to

[Prev in Thread] Current Thread [Next in Thread]