lilypond-devel
[Top][All Lists]
Advanced

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

Re: Plans for changing chord repeat implementations


From: David Kastrup
Subject: Re: Plans for changing chord repeat implementations
Date: Thu, 26 Jan 2012 23:35:24 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.92 (gnu/linux)

Nicolas Sceaux <address@hidden> writes:

> Le 26 janv. 2012 à 11:00, David Kastrup a écrit :
>
>> The bad news is that absolute pitch friends would have to call the \q
>> function (any better name for it?) explicitly.  Since q is an input
>> convenience, and relative pitch is also an input convenience, I don't
>> think that there would be much of an affected user base.
>
> What would be the impact of your solution on this kind of code?
> Is it just about adding e.g. \q before the block?

Yes, that would be all.  Otherwise you would get an error message
telling you to do so once q hits the iterators (the sole purpose of its
iterator would be to create that error; \q/\relative would replace all
traces of q with the final chord so that one would no longer see the
history).

I am not particularly happy about that, but
a) \relative needs its own sequencing, so if we sequence in the parser,
we have two competing ways of creating sequences.
b) sequencing in the parser needs to either do a lot of copying
just-in-case, or face breakage when music functions and iterators and
other stuff modify music (which they are permitted to do).
c) sequencing automatically "at the last possible moment" (when
iterating) differs even more with sequencing in \relative mode, and has
its own set of surprises.

As you can see mentioned in the hand-waving comments already (and the
bug I want to fix is just the tip of the iceberg), this is all rather
shaky.  Making the sequencing explicit (and relative as a user-made
sequencing point seems like one reasonable spot where doing this
automatically seems to make good sense to me, while I don't see a
similarly obvious place when \relative is _not_ being used) makes the
feature and its implications and side-effects straightforward.

Right after \relative is a good time.  I don't see anything equally
convincing in absolute music, in particular that one must _not_ apply \q
_before_ \relative, and one usually does not know in advance whether
music is going to pass through \relative yet.

And if you delay completely to iteration time, it will not just show
identical chords when using \relative, but also across using \transpose
and similar.  Which also seems awkward.  Maybe I am picking the wrong
balance point for awkwardness here.  No idea.

-- 
David Kastrup



reply via email to

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