Kieren MacMillan <kieren_macmil...@sympatico.ca> writes:

> Hi Sarah,
>
>> Hey thanks. I'm thinking of using the  thing in  the manual that says
>> 
>> << { \voiceOne ... }
>>  \new Voice { \voiceTwo ... }
>>>> \oneVoice
>
> You should.  ;)
>
> Here's a function (and snippet/example) that might help:
>
> \version "2.17.13"
>
> split =
> #(define-music-function (parser location music1 music2) (ly:music? ly:music?)
>   (make-music
>    'SequentialMusic
>    'elements
>    (list (make-music
>           'SimultaneousMusic
>           'elements
>           (list (make-music
>                  'SequentialMusic
>                  'elements (list voiceOne music1))
>                 (make-music
>                  'ContextSpeccedMusic
>                  'property-operations '()
>                  'context-id "2"
>                  'context-type 'Voice
>                  'element (make-music 'SequentialMusic
>                                       'elements (list voiceTwo music2)))))
>          oneVoice)))

Uh, any reason this is not just

split =
#(define-music-function (parser location music1 music2)
   (ly:music? ly:music?)
   #{ << { \voiceOne $music1 \oneVoice }
         \context Voice = "2" { \voiceTwo $music2 } >>
   #})

Why make things more complex than necessary?

-- 
David Kastrup


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

Reply via email to