Gianmaria Lari <gianmarial...@gmail.com> writes:

>> \repeat unfold is not evaluated at all.  It stays a repeat expression
>> until it gets interpreted.  One reason it is implemented that way is in
>> order to keep the repeats in
>>
>> \relative c' { \repeat unfold 4 { c e g } }
>>
>> in the same octave rather than get
>>
>> \relative c' { c e g c e g c e g c e g }
>>
>> which crosses four octaves.
>
> I understand this pragmatism. It is clear that in a piece when you write
> something like
>
> \relative c' {
> ....somemusic.....
> \repeat unfold 4 { c e g }
> ....somemusic.....
>  }
>
>
> you expect to repeat {c e g} on the same octave. If you don't do it,
> \relative became a command pretty unusable.
>
> But the side effect of this semantic choice looks very important to me.
> We're introducing a strong exceptional behavior, don't we?
> For me (this is my opinion, and of course I'm not a lilypond/musician etc.
> expert) I would prefer force the user to write
>
> \version "2.19.54"
> {
>   \repeat unfold 2 \relative c' {c e g}
> }
>
>
> rather than lost the orthogonality of the language.
> Just my two cents.

\repeat xxxx { }

generates a repeat expression.  Whether that xxxx is "unfold" or not.
And relativity works "linearly" across the expression even when
alternatives are involved where having to write \relative each time
would be a royal pita.

-- 
David Kastrup

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

Reply via email to