lilypond-devel
[Top][All Lists]
Advanced

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

Re: parallel versus series scoring


From: Nicolas Sceaux
Subject: Re: parallel versus series scoring
Date: Sat, 21 Jan 2006 13:24:53 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (darwin)

Han-Wen Nienhuys <address@hidden> writes:

> Nicolas Sceaux wrote:
>> Han-Wen Nienhuys <address@hidden> writes:
>> 
>>>Nicolas Sceaux wrote:
>>>
>>>>------------------------------------------------------
>>>>parallelMusic = #(def-music-function (parser location voice-number
>>>>music) (number? ly:music?)
>>>
>>>it's hack, but it's a cool one. With a little polishing, we should be
>>>able to put it in the standard distribution. Wouldn't it be better to
>>>store the voices in different variables? It would be nice to check
>>>whether the lengths of all bars are equal.
>> If it were to be actually used, it should be a bit more
>> generic. Maybe:
>>   \parallelMusic voice-identifiers output-pattern parallel-music
>> For instance (not workable example, see below):
>> \parallelMusic #'(voiceA voiceB voiceC)
>>                << \new Staff \voiceA
>>                   \new Staff \voiceB
>>                   \new Staff \voiceC >>
>>   { c'1 | e' | g' |
>>     d' | fis' | a' | }
>> <==>
>> << \new Staff { c'1 | d' | }
>>    \new Staff { e' | fis' | }
>>    \new Staff { g' | a' | } >>
>
> As you point out, this presents syntactical difficulties. Why not do
>
>   \parMusic #'(A B C)  { c | e | g  | d | f | a}
>
> which expands to  { }, and defines the following vars in the parser
>
>    A = { c d }
>    B = { e f }
>    C = { g a }
>
> then, the user can decide for himself how to structure A B and C.

OK!
I'll work on the bar length checking.




reply via email to

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