Dan Eble <[email protected]> writes:

> This currently compiles without warnings.
>
> ```
> \version "2.25.30"
> \new Voice \with {
>   \propertySet Staff.instrumentName "Quack"
> } {
>   \contextPropertyCheck Staff.instrumentName #'()
>   \contextPropertyCheck Voice.instrumentName "Quack"
>   R1
> }
> ```
>
> It seems wrong to set the property in Voice quietly when the user
> wrote "Staff".

Why?  If the user puts a setting that is normally Staff-wide (like
\ottava #1) in a \with-block of a Voice, why would you assume that they
don't know what they are doing?

If they put \hide TimeSignature in the \with-block of a Staff context,
would you want to warn about it because \hide TimeSignature is
implemented as \override Bottom.TimeSignature.transparent = #t and Staff
is no Bottom context?

> What would be ideal?
>
> A. warn about it (and do whatever is easily maintained)
> B. allow setting properties in enclosing contexts
> C. ...

I'd leave things as they are.

-- 
David Kastrup


Reply via email to