lilypond-user
[Top][All Lists]
Advanced

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

Re: Barcheck errors with Timing.measurePosition and multiple voices


From: Jay Anderson
Subject: Re: Barcheck errors with Timing.measurePosition and multiple voices
Date: Thu, 24 May 2012 19:53:46 -0700

On Thu, May 24, 2012 at 7:26 PM, Nick Payne <address@hidden> 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



reply via email to

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