bug-lilypond
[Top][All Lists]
Advanced

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

Re: Issue 1110 in lilypond: Wrong octave of repetition chord with \relat


From: lilypond
Subject: Re: Issue 1110 in lilypond: Wrong octave of repetition chord with \relative and #{ #} syntax
Date: Mon, 23 Jan 2012 18:49:12 +0000


Comment #30 on issue 1110 by address@hidden: Wrong octave of repetition chord with \relative and #{ #} syntax
http://code.google.com/p/lilypond/issues/detail?id=1110

Now since issue 2240 aka 2270 is on the countdown, it makes some sense to think about this one again. We now have the situation that EventChord is a satisfactorily reliable indicator of an actual chord.

I see two ways to deal with this issue now.

a) have q work in the parser (as it does now), let \relative completely reconsider the relation between q and its preceding chord. This is actually pretty ugly.

b) have q never record any pitches (it won't be fazed by \relative then). Instead, the iterator for the repeated chord fills in the pitches. The question is just where it gets them from. It can't bother the EventChord iterator for that since in the case of << { c <c d e> } q >> the event-chord-iterator is called later than the corresponding repeated chord iterator. Basically we need to comb through the whole expression that is going to be iterated, and fill in the repeated chords.

\relative does its respective work on demand. How can we avoid unnecessary work? Do it on demand as well?

\repeatChords \relative c' << { c <c d e> } q >>
Then the user would be responsible not to apply \relative after \repeatChords...

That would be a very straightforward solution without extra cost if you did not actually use the feature. Normally it would be sufficient to put the contents of your \score into a single \repeatChords. I doubt that this will make people happy...




reply via email to

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