Simon Albrecht <simon.albre...@mail.de> writes:

> On 28.11.2016 23:20, David Kastrup wrote:
>> Simon Albrecht <simon.albre...@mail.de> writes:
>>
>>> On 28.11.2016 23:13, David Kastrup wrote:
>>>> Simon Albrecht <simon.albre...@mail.de> writes:
>>>>
>>>>> On 28.11.2016 17:27, David Kastrup wrote:
>>>>>> Simon Albrecht <simon.albre...@mail.de> writes:
>>>>>>
>>>>>>> \version "2.19.49"
>>>>>>> %{
>>>>>>> It would be formidable if in such a case one wouldn’t need
>>>>>>> to look up the default stencil procedure, but could use either
>>>>>>> \undo or \revert.
>>>>>>> Is this a valid/sensible feature request?
>>>>>>> %}
>>>>>>> \score {
>>>>>>>      \new PianoStaff \with {
>>>>>>>        \omit SystemStartBrace
>>>>>>>        \accepts GrandStaff
>>>>>>>      } <<
>>>>>>>        \new GrandStaff \with {
>>>>>>>          % those don’t work
>>>>>>>          %\undo\omit SystemStartBrace
>>>>>>>          %\revert SystemStartBrace.stencil
>>>>>>>          % this does
>>>>>>>          \override SystemStartBrace.stencil =
>>>>>>> #ly:system-start-delimiter::print
>>>>>>>        } <<
>>>>>>>          \new Staff { 1 }
>>>>>>>          \new Staff { 1 }
>>>>>>>        >>
>>>>>>>        \new Staff { 1 }
>>>>>>>      >>
>>>>>>> }
>>>>>> The context modification for GrandStaff does not have access to the
>>>>>> unmodified definition of the enclosing PianoStaff (it doesn't even have
>>>>>> access to the unmodified definition of GrandStaff and does not know that
>>>>>> it will get applied to a GrandStaff) and even if it did, how should it
>>>>>> guess that you want to undo PianoStaff settings rather than Score
>>>>>> settings?
>>>>> OK, I’ll take that as a no. Or is it just that it would be complicated
>>>>> to implement a behaviour matching my naïve expectation?
>>>> It would be complicated to give a sensible definition of your naïve
>>>> expectation.
>>>>
>>>> If you wrote
>>>>
>>>>       \undo \omit GrandStaff.SystemStartBrace
>>>>
>>>> or the equivalent
>>>>
>>>>       \revert GrandStaff.SystemStartBrace.stencil
>>>>
>>>> in the music itself, you could not expect it to revert the settings of
>>>> PianoStaff .  So why do you expect it do do this in the context mod ?
>>> Put another way: I want to prevent the ‘trickling down’, or inheriting
>>> of the property from the parent context. Maybe there should be a
>>> separate syntax for that?
>> That does not even make sense.  Either the context has a property of its
>> own or it inherits the property.  There is no third option.
>
> By default, both PianoStaff and GrandStaff print a
> SystemStartBrace. If I omit it from the outer one, the inner one has
> its also omitted, which is what I wanted to prevent. Has my wording
> been imprecise in that the _value_ is inherited?

By default, both PianoStaff and GrandStaff have the property
systemStartDelimiter set to #'SystemStartBrace .

Neither of them fiddles with the SystemStartBrace stencil: that stays at
the global default.

If you want mess with the local hierarchy, you might be better off
playing with the systemStartDelimiter setting rather than with
SystemStartBrace.stencil .

-- 
David Kastrup

_______________________________________________
bug-lilypond mailing list
bug-lilypond@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-lilypond

Reply via email to