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

I have pretty much not slept at all this night because brooding over this. I'll spare you the dozen approaches I don't like all too well for various reasons.

The main point is that repeated chords and their original form another relativation problem in addition to the normal one. We don't want to waste performance or create problems when we don't actually relativize.

The most straightforward approach I can think of is, when relativizing a music sequence, to do _two_ passes (or do one pass with two corresponding pitch state variables). The first does the normal relativation while leaving repeated chords alone, the second carries over the last preceding absolute chord starting pitch to repeat chords. A repeat chord in a relativized sequence that comes before any non-repeated chord is an error.

This makes the association between a repeat chord and its relativation reference different from the association for absolute pitches that is established in the parser.

But as demonstrated before, relativation is a sequential process and we can't guarantee that the sequence is compatible with a "hard link" between origin and repeat, even without the problem created by deep-copy.


_______________________________________________
bug-lilypond mailing list
bug-lilypond@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-lilypond

Reply via email to