lilypond-user
[Top][All Lists]
Advanced

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

Re: Contexts affected by \override and \overrideProperty


From: David Kastrup
Subject: Re: Contexts affected by \override and \overrideProperty
Date: Wed, 20 Feb 2019 18:09:32 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

David Kastrup <address@hidden> writes:

> Urs Liska <address@hidden> 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?
>
> Because the respective engraver is only active at Score level and
> overrides the properties in _all_ contexts of the given type.

Ok, things are more complicated than that.  The respective events are
listened in at Score level.  When a grob is acknowledged, it is
acknowledged in all contexts of the right type in suitable relation to
the source engraver of the grob.  The end result is independent from
whatever context was current at the time the apply-output-event was
generated.

Making it dependent requires either having the Output_property_engraver
at all levels (as it had been before) which makes the current context be
reflected in just which of the various engravers is getting called, or
some support by the respective iterator (which does have a notion of
current context).

I lean towards calling the entire redesign a "thinko".  Unfortunately,
there have been significant irreversible convert-ly rules involved.  So
I need to figure out how to go from here.

-- 
David Kastrup



reply via email to

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