lilypond-user
[Top][All Lists]
Advanced

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

Re: repeat volta with partial, alternative endings and different \time i


From: Thomas Morley
Subject: Re: repeat volta with partial, alternative endings and different \time in different voices
Date: Mon, 10 Aug 2015 12:32:33 +0200

2015-08-10 10:23 GMT+02:00 Jonathan Scholbach <address@hidden>:
> Hello again ;-)
>
> I have a somewhat special piece of music: It has a partial and a volta
> with alternative endings. That's no problem. But on top it has different
> meters in the alternatives of the different voices. When I do not
> combine the voices in a ChoirStaff (or StaffGroup) everything works
> fine. But as soon as I put them together in a << >> the volta-bar :|
> vanishes. Do you have a solution for that? I am looking for a way to
> solve this without setting the volta-bar manually, since I want to
> produce adequate midi output, too.
>
> My minimal example:
>
> \version "2.19.22"
>
> global = { \time 3/2  \partial 2 }
>
> first = \relative c' {
>   \repeat volta 2 { c2 \time 4/4 c4 c c c }
>     \alternative {
>        { \time 3/2
>          \set Timing.measureLength = #(ly:make-moment 1)
>          c1
>        }
>        { \time 3/2
>          \set Timing.measureLength = #(ly:make-moment 1)
>         d1
>        }
>      }
>      \time 4/4 c4 c c c
> }
>
> second =  \relative c' {
>      \repeat volta 2 { c2 \time 4/4 c4 c c c }
>      \alternative {
>        { \time 3/2
>          \set Timing.measureLength = #(ly:make-moment 1)
>          c1
>        }
>        { \time 5/4
>          \set Timing.measureLength = #(ly:make-moment 5/4)
>         c4 d e f
>        }
>      }
>      g
>      \time 4/4 c4 c c c
> }
>
> % this works:
> \score { \new Staff { \global \first } }
> \score { \new Staff { \global \second } }
>
> % that does not work:
> \score {
>   \new ChoirStaff <<
>     \new Staff { \new Voice { \global \first } }
>     \new Staff { \new Voice { \global \second } }
>   >>
>
>   \layout {
>     \context {
>       \Score
>         \remove "Timing_translator"
>         \remove "Default_bar_line_engraver"
>     }
>     \context {
>       \Staff
>         \consists "Timing_translator"
>         \consists "Default_bar_line_engraver"
>     }
>   }%end of \layout
> }%end of \score
>
>
> Thank you for your help!
>
> Jonathan


You need to take care of "Repeat_acknowledge_engraver" and
"Volta_engraver" as well.

try to replace \score { \new ChoirStaff ... } with:

\score {
  \new ChoirStaff
  <<
    \new Staff
      %% include "Volta_engraver" for the topmost Staff only
      \with { \consists "Volta_engraver" }
      { \new Voice { \global \first } }
    \new Staff { \new Voice { \global \second } }
  >>

  \layout {
    \context {
      \Score
        \remove "Timing_translator"
        \remove "Default_bar_line_engraver"
        \remove "Repeat_acknowledge_engraver"
        \remove "Volta_engraver"
    }
    \context {
      \Staff
        \consists "Timing_translator"
        \consists "Default_bar_line_engraver"
        \consists "Repeat_acknowledge_engraver"
        %% include "Volta_engraver" for all Staffs
        %\consists "Volta_engraver"
    }
  }%end of \layout
}%end of \score


HTH,
  Harm



reply via email to

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