Han-Wen Nienhuys <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> | GNU LilyPond - The music typesetter
http://www.xs4all.nl/~jantien       | http://www.lilypond.org


_______________________________________________
Gnu-music-discuss mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/gnu-music-discuss

Reply via email to