gnu-music-discuss
[Top][All Lists]
Advanced

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

Re: thiscontext


From: Jan Nieuwenhuizen
Subject: Re: thiscontext
Date: 06 Mar 2001 11:05:24 +0100
User-agent: Gnus/5.0807 (Gnus v5.8.7) Emacs/20.7

Han-Wen Nienhuys <address@hidden> writes:

> Interesting. You're second person who asked (the first one was Jan),
> and I'd rather solve this differently, eg. by adding alias fields to
> contexts, so you can do
> 
>         \translator { \StaffContext
>                 \name "FancyStaff";
>                 \alias "Staff";
>           }
> 
> I could make it so that \property Staff.X also finds the FancyStaff
> (once it exists).  Does that sound good to you?

This still gives me the feeling of klugde-upon-kludge.  What if you
need to set a property to Staff only?  You'll need to create a third
staff context:

          \translator { \StaffContext
                  \name "SimpleStaffWorkaround";
                  \alias "Staff";
           }

As others have said before, it is in most cases a real pain to the
user to have to figure out in what context a Grob is created.  In most
cases, the user just needs to "talk" to Grobs in the current context.

If you alter NoteHead.style, I'll bet you want to do that only for
the current thread, not score wide.  One of the problems is, that you
must set a property in a high enough context, but not too high.  You
may set NoteHead properties in context Thread, but you can't set Stem
properties in context Thread.

As much as it would be useful to be able to set a property for a
single grob request, it would be handy if you could just say

    NoteHead:#'(style . cross)
    Stem:#'(length . 6)

and have them set in the current Thread and current Voice, resp.


-- 
Jan Nieuwenhuizen <address@hidden> | GNU LilyPond - The music typesetter
http://www.xs4all.nl/~jantien       | http://www.lilypond.org




reply via email to

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