lilypond-user
[Top][All Lists]
Advanced

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

Re: repeat volta and \barNumberCheck


From: Knute Snortum
Subject: Re: repeat volta and \barNumberCheck
Date: Tue, 13 Oct 2020 06:04:08 -0700

Thanks David,

I'm going to look over your MWEs and maybe get back to you.

---
Knute Snortum
(via Gmail)

On Mon, Oct 12, 2020 at 7:57 PM David Wright <lilylis@lionunicorn.co.uk> wrote:
>
> On Sun 04 Oct 2020 at 17:06:48 (-0700), Knute Snortum wrote:
> >
> > It seems that repeat volta and \barNumberCheck don't work well
> > together when you use the \alternative function.  If you put a
> > \barNumberCheck inside of a repeat volta, the \braNumberCheck fails
> > all the time.  I think it's because when you go through the music a
> > second time, the numbering is off.
> >
> > This may not be a bug, but it's pretty inconvenient. Here's my MWE:
> >
> > %%% Start
> > \version "2.20.0"
> >
> > rightHand = \relative c' {
> >   \repeat volta 2 {
> >     \partial 4 f4
> >     \barNumberCheck 2
> >     c4 d e
> >   }
> >
> >   \repeat volta 2 {
> >     f4 |
> >     \barNumberCheck 3
> >     c4 d e f |
> >   }
> > }
> >
> > \include "articulate.ly"
> >
> > \score {
> >   \articulate {
> >     \new Staff \rightHand
> >   }
> > }
> > %%%End
>
> I rewrote your MWE in three respects: I "corrected" the bar numbers
> for conventional numbering (as already pointed out), I made the
> pitches less ambiguous, and I replaced \articulate by \unfoldRepeats,
> which shows more clearly where the problem lies. (AIUI \articulate
> implicitly unfolds the repeats.¹)
>
> Now you can see where the barchecks and barnumberchecks come from
> more clearly. The former is a "composition" error, the latter is
> as you thought: the second pass of the source has a different
> counting origin.
>
> My way of dealing with the snag is to generate the MIDI (and the
> like) first. When the run is completed, the console log with be
> left displaying the clean \layout run *after* the dirty run:
>
>   […]
>   Interpreting music...
>   knute1.ly:4:5: warning: Barcheck failed got 2 expect 1
>
>       \barNumberCheck 1 % corrected
>   knute1.ly:10:5: warning: Barcheck failed got 3 expect 2
>
>       \barNumberCheck 2 % corrected
>   knute1.ly:9:8: warning: barcheck failed at: 1/4
>       g4
>          |
>   knute1.ly:10:5: warning: Barcheck failed got 4 expect 2
>
>       \barNumberCheck 2 % corrected
>   Preprocessing graphical objects...
>   Interpreting music...
>   Preprocessing graphical objects...
>   […]
>
> On Sun 04 Oct 2020 at 17:18:49 (-0700), Knute Snortum wrote:
> > Here's another way that "articulate.ly"  messes with bar line checks.
> > If you put a \repeat volta in the middle of a measure, you cannot get
> > reliable bar line checks (|) after that.  Here's my MWE:
> >
> > %%%Start
> > \version "2.20.0"
> >
> > rightHand = \relative c' {
> >   \repeat volta 2 {
> >     \partial 4 f4
> >     c4 d e f |
> >     c4 d e
> >   }
> >
> >   \repeat volta 2 {
> >     f4 |
> >     c4 d e f |
> >   }
> > }
> >
> > \include "articulate.ly"
> >
> > \score {
> >   \articulate { % Remove articulate and all is well!
> >     \new Staff \rightHand
> >   }
> > }
> > %%%End
>
> Much the same "compositional" problem: it's not clear on which beat of
> the bar the upper d lies, 4th or 1st.
>
> ¹ I haven't read articulate.ly in any detail, but there are hints:
>
>   "% Totally unfold repeats, so that the non-obvious sequencing doesn't
>    % confuse us.  This is necessary for time stealing to work, because
>    % that relies on the sequence in which we see events matching their
>    % audible sequence.  Also unfold multi-measure rests to equivalent
>    % skips, with preceding and following bar checks, so that time stealing
>    % can change the length of the pause without falling foul of the
>    % implicit bar checks."
>
> Cheers,
> David.



reply via email to

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