[Top][All Lists]

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

Re: Issue 1391 in lilypond: Enhancement: warning message when an propert

From: David Kastrup
Subject: Re: Issue 1391 in lilypond: Enhancement: warning message when an property is set in the wrong context
Date: Wed, 10 Nov 2010 15:44:26 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

Graham Percival <address@hidden> writes:

> On Wed, Nov 10, 2010 at 01:18:49PM +0100, Werner LEMBERG wrote:
>> > I would like to state that I consider that a step in the wrong
>> > direction.  If we make Lilypond smart enough to figure out what is
>> > wrong, we should use that smartness for doing the right thing
>> > instead of educating the user.
>> Hmm.  You mean that a user should never need to specify the context of
>> a grob, and lilypond should be able to automatically walk over all
>> contexts to find the right one?  This sounds useful.

More like "if a user specifies a context (whether explicitly, or
implicitly by using the current one) not supporting a particular
grob/property, then Lilypond will walk through the parents until finding
one that does it".  Or put differently: "where a context does not
support a particular grob/property on its own, it inherits the
respective grobs from its parenting context".

> It's not possible in all cases -- consider trying to set the staff
> name to "Violins" for the staffgroup containing violin 1 and
> violin 2 -- but it could be done for most cases.  The real
> question is whether it's worth doing for "most" cases, and whether
> the automatic method might increase confusion.

The automatic method has the advantage that we can introduce layers of
rather lightweight contexts without affecting existing semantics.
Chords can be formed in a subcontext of their own, and manipulated
accordingly.  Subvoices can be used for tasks now done using multiple
versions pasted over each other using transparency and disabling
collision detection.  I mean, ugh.

David Kastrup

reply via email to

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