[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Lilypond-auto] Issue 2883 in lilypond: Patch: Make arguments like C
From: |
lilypond |
Subject: |
Re: [Lilypond-auto] Issue 2883 in lilypond: Patch: Make arguments like Context.GrobName accessible as symbol lists |
Date: |
Fri, 12 Oct 2012 17:42:52 +0000 |
Updates:
Cc: address@hidden address@hidden address@hidden
address@hidden
Comment #14 on issue 2883 by address@hidden: Patch: Make arguments like
Context.GrobName accessible as symbol lists
http://code.google.com/p/lilypond/issues/detail?id=2883
Ok, getting this patch/branch integrated successfully will require quite a
bit of heavy lifting, and I am not really able to do all of that myself.
First we need to agree on a solution for the function interfaces that
currently depend on the distinction string/symbol for recognizing optional
arguments.
Issue #1 is \tweak. We currently have two forms of tweak, namely
\tweak #'color #red cis (tweak of direct grob)
\tweak Accidental #'color #red cis (tweak of particular grob)
The current form of the patch proposes translation into
\tweak color #red cis
\tweak Accidental.color #red cis
It has been pointed out that the latter syntax is confusingly different
from \override Accidental color = #red (no dot allowed!).
The short form of \tweak is rather prevalent, so we don't want to change
that. Alternatives for the second form might be
\on Accidental \tweak color #red cis
\tweakOn Accidental color #red cis
\single \override Accidental color = #red cis
The last line already works but is cumbersome and sufficiently different
from \tweak that it seems inconvenient. \on as a separate command has its
charm for working on tweaks not just generated by the \tweak command, like
\on Accidental \hide cis
as an alternative wording for
\single \hide Accidental cis
Huh. The grammar of \on does seem a bit strange in usage. Better
proposals?
\only Accidental \hide cis
maybe? Or
\grob Accidental \hide cis
Similarly, the yet again new \footnote interface has no really fabulous way
to place the grob spec. The proposal used here has a few advantages (most
notably never needing \default, not being able to express the invalid
combination of override-like behavior without grob specification, and
fitting in a pattern with \hide/\omit), but still does not really have
people much enthused about it, mostly due to the trialing position of the
Grob name when using it in override-like manner.
The positive thing is that \footnote now really, really, really is just a
\once\override or \tweak, so using things like \grob or \single on it is
feasible, and it works exactly in those circumstances as the other commands
in that vein do.
Those are the interface design problems.
There is also a lot of documentation work pending, starting with bringing
the German documentation at least into a state where convert-ly generates
valid code, or just skip this stage and start from the new English
version. Which also needs to be written, or at least retouched.
Then there needs to be an introductory section on LilyPond's relation
between input syntax and Scheme data structures. At least the first
iteration will probably be my lot. Then one has to look through the whole
\override/\revert etc section, assuming that we go for the variant without
#' which seems like something not only I consider desirable.
The documentation work does not to complete before committing, but it will
still be significant. And at least the interface changes of \tweak and
\footnote should be something where we are reasonably sure that it's the
best we can do.
- Re: [Lilypond-auto] Issue 2883 in lilypond: Patch: Make arguments like Context.GrobName accessible as symbol lists, (continued)
- Re: [Lilypond-auto] Issue 2883 in lilypond: Patch: Make arguments like Context.GrobName accessible as symbol lists, lilypond, 2012/10/09
- Re: [Lilypond-auto] Issue 2883 in lilypond: Patch: Make arguments like Context.GrobName accessible as symbol lists, lilypond, 2012/10/10
- Re: [Lilypond-auto] Issue 2883 in lilypond: Patch: Make arguments like Context.GrobName accessible as symbol lists, lilypond, 2012/10/10
- Re: [Lilypond-auto] Issue 2883 in lilypond: Patch: Make arguments like Context.GrobName accessible as symbol lists, lilypond, 2012/10/10
- Re: [Lilypond-auto] Issue 2883 in lilypond: Patch: Make arguments like Context.GrobName accessible as symbol lists, lilypond, 2012/10/10
- Re: [Lilypond-auto] Issue 2883 in lilypond: Patch: Make arguments like Context.GrobName accessible as symbol lists, lilypond, 2012/10/11
- Re: [Lilypond-auto] Issue 2883 in lilypond: Patch: Make arguments like Context.GrobName accessible as symbol lists, lilypond, 2012/10/11
- Re: [Lilypond-auto] Issue 2883 in lilypond: Patch: Make arguments like Context.GrobName accessible as symbol lists, lilypond, 2012/10/11
- Re: [Lilypond-auto] Issue 2883 in lilypond: Patch: Make arguments like Context.GrobName accessible as symbol lists, lilypond, 2012/10/11
- Re: [Lilypond-auto] Issue 2883 in lilypond: Patch: Make arguments like Context.GrobName accessible as symbol lists, lilypond, 2012/10/12
- Re: [Lilypond-auto] Issue 2883 in lilypond: Patch: Make arguments like Context.GrobName accessible as symbol lists,
lilypond <=
- Re: [Lilypond-auto] Issue 2883 in lilypond: Patch: Make arguments like Context.GrobName accessible as symbol lists, lilypond, 2012/10/12
- Re: [Lilypond-auto] Issue 2883 in lilypond: Patch: Make arguments like Context.GrobName accessible as symbol lists, lilypond, 2012/10/16
- Re: [Lilypond-auto] Issue 2883 in lilypond: Patch: Make arguments like Context.GrobName accessible as symbol lists, lilypond, 2012/10/17
- Re: [Lilypond-auto] Issue 2883 in lilypond: Patch: Make arguments like Context.GrobName accessible as symbol lists, lilypond, 2012/10/17
- Re: [Lilypond-auto] Issue 2883 in lilypond: Patch: Make arguments like Context.GrobName accessible as symbol lists, lilypond, 2012/10/17
- Re: [Lilypond-auto] Issue 2883 in lilypond: Patch: Make arguments like Context.GrobName accessible as symbol lists, lilypond, 2012/10/18
- Re: [Lilypond-auto] Issue 2883 in lilypond: Patch: Make arguments like Context.GrobName accessible as symbol lists, lilypond, 2012/10/18
- Re: [Lilypond-auto] Issue 2883 in lilypond: Patch: Make arguments like Context.GrobName accessible as symbol lists, lilypond, 2012/10/18
- Re: [Lilypond-auto] Issue 2883 in lilypond: Patch: Make arguments like Context.GrobName accessible as symbol lists, lilypond, 2012/10/18
- Re: [Lilypond-auto] Issue 2883 in lilypond: Patch: Make arguments like Context.GrobName accessible as symbol lists, lilypond, 2012/10/18