On 4/4/06, Han-Wen Nienhuys <[EMAIL PROTECTED]> wrote:
<top-post fixed>
> David Feuer wrote:
> > Why are properties set by default in the bottom context?  I think it
> > would make more sense to do what Postscript does with dictionaries and
> > set them by default in the lowest context that has those properties
>
> I don't understand your question. Properties inherit from Score
> downwards. Usually, bottom context doesn't have any property set, only
> inherited values.

Sorry it took me so long to respond.  In section 9.2.1 (Common tweaks), it says

 % This will not work, see below:
          \override MetronomeMark #'padding = #3
          \tempo 4=120
          c1
 % This works:
          \override Score.MetronomeMark #'padding = #3
          \tempo 4=80
          d1
"Note in the second example how important it is to figure out what
context handles a certain object. Since the MetronomeMark object is
handled in the Score context, property changes in the Voice context
will not be noticed."

What I was suggesting was that when the \override does not
specifically mention a context, it should apply not to the current
context, but rather to the bottom-most active context that actually
has the relevant object.  The Voice context has no MetronomeMark, so
\override MetronomeMark in a Voice context should actually override it
in the Score context.

David


_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to