On Thu, May 24, 2012 at 7:26 PM, Nick Payne <[email protected]> wrote:
> With more than one voice, using Timing.measurePosition for partial bars
> results in spurious barcheck errors and also causes problems with automatic
> beaming:
>
...
>            c c c c c c |
>            \set Timing.measurePosition = #(ly:make-moment -3 8)
>            c4. |

You don't need to change the length of a measure where repeat and the
end of the piece is involved. So in your second example just taking
all of the measureLength overrides out make it work as expected. There
are valid times to adjust the measure length, but it isn't needed in
this example.

Secondly, from what I understand of setting measure position the error
makes sense. By setting it at the end of the measure you're saying
that the measure still has some more time left, but you also have a
bar check at the same time. This may also explain the beaming issues.
You can cheat this by moving the \set later in the measure:
  s8 \set Timing.measurePosition = #(ly:make-moment -2 8) s4 (see below)

Lastly, you should separate out the \partial, repeats, and other
top-level directives into parallel music (and move it to a variable).
That way you avoid duplicating them in each voice.

\score
{
  \new Staff \relative c''
  {
    \time 3/4
    <<
      {
        \partial 4.
        s4. |
        s2.*2 |
        s8 \set Timing.measurePosition = #(ly:make-moment -2 8) s4
      }
      <<
        {
          c4. |
          c8 c c c c c |
          c c c c c c |
          c4. |
        }
        \\
        {
          c,4. |
          c8 c c c c c |
          c c c c c c |
          c4. |
        }
      >>
    >>
  }
}

-----Jay

_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to