lilypond-devel
[Top][All Lists]
Advanced

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

Re: Summary of \relative { q } ... analysis. (was: Plans for changing ch


From: Carl Sorensen
Subject: Re: Summary of \relative { q } ... analysis. (was: Plans for changing chord repeat implementations)
Date: Fri, 27 Jan 2012 12:49:45 +0000
User-agent: Microsoft-MacOutlook/14.10.0.110310

On 1/27/12 5:27 AM, "David Kastrup" <address@hidden> wrote:

>
>
>Possibly I am just paranoid about the transpose problem: people can
>likely accept that { <c e g> \transpose c d { q } } does not transpose.
>And it is not like there is a place where inserting \q could make it
>work.

I totally accept that.  In my mind, q is a copy of the chord output, not a
copy of the music input.


>
>Suggestions?

As I've been watching this thread, the idea came to me that perhaps we
ought to do away with q and replace it with a naked duration.

As far as I can see, it is potentially problematic to support

{<c e g> a b q}

Because the chord to which q refers can be arbitrarily back in the music
stream.

Sane use of q  would be

{<c e g> q q}

So what if a naked duration just meant to repeat the previous chord or
note, with the given duration, i.e.

{c4 d e 8 <c e g>8 4}

Would be equivalent to

{c4 d4 e4 e8 <c e g>8 <c e g>4}

Then one gets the ability to reuse a chord immediately (which is the usage
that Nicolas demonstrated) without having to save a pointer to the last
chord indefinitely.

It also makes the syntax work on both chords and non-chords, which seems
to me to be a reasonable design objective.  It treats durations and
pitches in the input stream in an equivalent manner.  It has the potential
downfall of making the input stream more confusing to read.

Another limitation of this is that it likely won't copy articulations,
etc.  But \q could.

I don't know if this is feasible in the parser, but it seems like it ought
to be.

Just a thought for your consideration.

Thanks,

Carl




reply via email to

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