lilypond-auto
[Top][All Lists]
Advanced

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

Re: [Lilypond-auto] Issue 3639 in lilypond: tuplet of a single chord giv


From: lilypond
Subject: Re: [Lilypond-auto] Issue 3639 in lilypond: tuplet of a single chord gives a syntax error
Date: Wed, 30 Oct 2013 08:19:44 +0000


Comment #2 on issue 3639 by address@hidden: tuplet of a single chord gives a syntax error
http://code.google.com/p/lilypond/issues/detail?id=3639

Or use \default:

\tuplet 6/4 \default <d' a'>2.:8

The problem here is the optional argument before the music argument: if it is skipped, the parser can only carry a single token _without_ lookahead across the skipped optional argument (which is music_closed in the parser, not including chords). So either one would have to form <d' a'> into an artifial token that can still take a duration following it, or one would have to check the predicate on <> after seeing < and make a decision then.

Note that this will not help against things like
\tuplet 4/6 \displayMusic <d' a'>
since the return value of \displayMusic is not known before it is called, and you can't call it with tentative values like <> or you get spurious output.

Basically, this is the conundrum behind issue 2067. It has improved with issue 3618, but the basic problem of not being able to call a music function tentatively remains, so now issue 2067 would accept

\displayMusic c'

but would balk at

\displayMusic \tweak color #red c'

which is still not really good enough. With \tuplet, the tradeoff of needing to require a "closed music" expression seemed reasonable. Single note/chord tuplets seemed weird enough not to bother, and braces will do the trick.

I don't think it is a regression: I think you would _always_ have seen this problem since \tuplet had the optional \tupletSpan behavior, and that was basically with its first commit.

Unless you come up with evidence to the contrary, I'll be removing the "regression" label as well as the "critical" label.

There is a simple solution, of course: change the syntax with the optional span to
\tuplet 4 2/3 { c8 c c c c c }
and I had considered that for a while. My decision was that the resulting appearance was more confusing, not warranting the rather flimsy advantage of being able to specify single chords or notes as the music argument.

--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings



reply via email to

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