> 3.) I sometimes want to write repeats as | 1,3 | 2 | 4 |
>
> Is there any better way than the following?
>
> \alternative {
>   {
>     \set Score.repeatCommands = #'((volta "1, 3"))
>     ...
>   }
>   {
>     ...
>   }
>   {
>     \set Score.repeatCommands = #'((volta "4") end-repeat)
>     ...
>   }
> }
>
> Is there a way to make this both appear correctly and play correctly
> in a midi file?
>


Regarding the custom endings, what's wrong with this approach, such that
you need a better approach?  If you are looking for a simpler way to enter
it, you can write a function.

Similar to an earlier question, no, MIDI doesn't honor or respect repeats.
So, you need to add the repeated sections in a MIDI-only tag.


\version "2.19.15"

voltaCustomThreeEndings = #(define-music-function (parser location
repMusicCommon repEndingA repMusicA repEndingB repMusicB repEndingC
repMusicC) (ly:music? markup? ly:music? markup? ly:music? markup?
ly:music?) #{
    \set Score.repeatCommands = #'(start-repeat)
    $repMusicCommon

    \set Score.repeatCommands = #(list (list 'volta repEndingA))
    $repMusicA

    \set Score.repeatCommands = #(list (list 'volta repEndingB))
    $repMusicB

    \set Score.repeatCommands = #(list (list 'volta #f) 'end-repeat (list
'volta repEndingC))
    $repMusicC

    \set Score.repeatCommands = #'((volta #f))
#})

musicCommon = { e'1 1 1 1 }
musicEndingA = { a'1 }
musicEndingB = { b'1 }
musicEndingC = { c'1 }

melody = {
    \voltaCustomThreeEndings
        \musicCommon
        "1,3" { \musicEndingA }
        "2" { \tag #'MIDI { \musicCommon } \musicEndingB }
        "4" { \tag #'MIDI { \musicCommon \musicEndingA \musicCommon }
\musicEndingC }
}

\score {
    \header { piece = "PDF Version" }
    <<
        \keepWithTag #'(PDF) \melody
    >>
    \layout {}
}


\score {
    \header { piece = "MIDI Version" }
    <<
        \keepWithTag #'(MIDI) \melody
    >>
    \midi {}

    %  You can print this MIDI version to validate on paper,
    %  just ignore the repeat signs and endings.
    \layout {}
}



David Elaine Alt
415 . 341 .4954                                           "*Confusion is
highly underrated*"
ela...@flaminghakama.com
self-immolation.info
skype: flaming_hakama
Producer ~ Composer ~ Instrumentalist
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to