lilypond-user
[Top][All Lists]
Advanced

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

Re: Failure to properly display appoggiatura inside a repeat volta


From: David Kastrup
Subject: Re: Failure to properly display appoggiatura inside a repeat volta
Date: Wed, 16 Feb 2022 23:36:59 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)

Kenneth Wolcott <kennethwolcott@gmail.com> writes:

> Hi;;
>
>   I'm trying to engrave the 8notes.com's Voice+Piano arrangement of
> "Take Me Out to the Ball Game".  I decided to skip the lyrics for now
> and replace the corresponding notes with a trumpet.
>
>   I'm having a problem correctly displaying appoggiatura that exists
> inside a repeat volta.
>
>   The problem: The appoggiatura appears in a previous bar (all by itself).
>
>   I have attached screenshots of the bars in question (8-10) from the
> original and my attempt at engraving it.
>
>   I've also attached the output of Lilypond 2.22.1 (no errors and no 
> warnings).
>
>   I've attached the bars of Lilypond source (bars 8-10).
>
>   I've also attached the whole original pdf, my pdf and the entire
> Lilypond source.
>
>   I've tried to reproduce this problem in an (almost) MWE, but it
> worked just fine.
>
>   I must be doing something obviously stupid here, but I can't seen to find 
> it.

Issue 34.

All \repeat volta statements have to start at the same time, namely
8. before the beat.  You do that by adding grace space.

Here is the diff:

--- Take_Me_Out_to_the_Ball_Game.ly.bak 2022-02-16 23:25:10.244468097 +0100
+++ Take_Me_Out_to_the_Ball_Game.ly     2022-02-16 23:34:47.314658111 +0100
@@ -30,7 +30,7 @@
 %\break
   R1*3/4        | % m8
   \repeat volta 2 {
-    << { R1*3/4 } \\ { \appoggiatura { s8. } s2. } >>  % m9
+    \grace s8. R1*3/4 |  % m9
     R1*3/4      | % m10
   }
   \repeat volta 2 {
@@ -234,7 +234,7 @@
 %\break
   <fs' a'>4 r r                | % m8
   \repeat volta 2 {
-    \appoggiatura { s8. } s2.  | % m9
+    \grace s8. s2.             | % m9
     s2.                        | % m10
   }
   \repeat volta 2 {
@@ -336,6 +336,7 @@
 %\break
   d4 s2                  | % m8
   \repeat volta 2 {
+    \grace s8.
     <d, d>4 r r          | % m9
     <a,, a,>4 r r        | % m10
   }
@@ -438,6 +439,7 @@
 %\break
   d,4 r r  | % m8
   \repeat volta 2 {
+    \grace s8.
     s2.    | % m9
     s2.    | % m10
   }

Note that you don't use \appoggiatura but rather \grace when you don't
want the associated slur to be typeset as well.

Here is the completed variant:

\version "2.22.0"

% Take Me Out to the Ball Game

\header {
  title = "Take Me Out to the Ball Game"
  composer = "Albert von Tilzer"
  arranger = "arr. David Bruce"
}

global = {
  \language "english"
  \time 3/4
  \key d \major
  \tempo "Tempo di valse" 4=120
  \partial 4
}

trumpet = {
  \global
  \clef treble
  r4      | % m0
  R1*3/4  | % m1
  R1*3/4  | % m2
  R1*3/4  | % m3
  R1*3/4  | % m4
  R1*3/4  | % m5
  R1*3/4  | % m6
  R1*3/4  | % m7
%\break
  R1*3/4        | % m8
  \repeat volta 2 {
    \grace s8. R1*3/4 |  % m9
    R1*3/4      | % m10
  }
  \repeat volta 2 {
    a'2\f a'4   | % m11
    a'4 g' fs'  | % m12
    a'2 a'4     | % m13
    a'2.        | % m14
%\break
    b'2 b'4        | % m15
    b'4 a' g'      | % m16
    b'2 b'4        | % m17
    b'2.           | % m18
    cs''2 cs''4    | % m19
    cs''4 d'' e''  | % m20
    b'2 b'4        | % m21
%\break
    b'4 cs'' e''  | % m22
    b'2. ~        | % m23
    b'4 cs'' e''  | % m24
    a'2. ~        | % m25
    a'2 r4        | % m26
    a'2 a'4       | % m27
    a'4 g' fs'    | % m28
%\break
    a'2 a'4    | % m29
    a'2.       | % m30
    b'2 b'4    | % m31
    b'4 a' g'  | % m32
    b'2 b'4    | % m33
    b'2 a'4    | % m34
    gs'2 gs'4  | % m35
%\break
    gs'4 a' b'   | % m36
    cs''2 a'4    | % m37
    e'2 e'4      | % m38
    fs'4 gs' a'  | % m39
    b'2 cs''4    | % m40
    a'2. ~       | % m41
    a'2 r4       | % m42
%\break
    d'2_> d''4  | % m43
    b'4 a' fs'  | % m44
    a'2.        | % m45
    e'2.        | % m46
    d'2_> d''4  | % m47
    b'4 a' fs'  | % m48
    a'2. ~      | % m49
%\break
    a'2 r4        | % m50
    b'4 as' b'    | % m51
    fs'4 g' a'    | % m52
    b'2 g'4       | % m53
    e'2.          | % m54
    b'2 b'4       | % m55
    b'4 cs'' d''  | % m56
%\break
    e''4 cs'' b'  | % m57
    a' fs' e'     | % m58
    d'2_> d''4    | % m59
    b'4 a' fs'    | % m60
    a'2.          | % m61
    e'2 e'4       | % m62
    d'2 e'4       | % m63
%\break
    fs'4 g' a'    | % m64
    b'2. ~        | % m65
    b'4 b' cs''   | % m66
    d''2.         | % m67
    d''2.         | % m68
    d''4 cs'' b'  | % m69
%\break
    a'4 gs' a'  | % m70
    b'2.        | % m71
    cs''2.      | % m72
  }
  \alternative {
    {
      d''2. ~   | % m73
      d''4 r r  | % m74
    }
    {
      d''2. ~   | % m75
      d''4 r r  | % m76
    }
  }
}

rh_one = {
  \global
  \clef treble
  b'8\f c''     | % m0
  d''2.^>       | % m1
  d''2.^>       | % m2
  d''4 cs'' b'  | % m3
  a'4 gs' a'    | % m4
  b'2.          | % m5
  <c' c''>2.    | % m6
  <d' d''>2. ~  | % m7
%\break
    <d' d''>4 s2                                  | % m8
  \repeat volta 2 {
    \appoggiatura { a16 b cs' } d'4 <a d' fs'> q  | % m9
    r4 <a d' fs'> q                               | % m10
  }
  \repeat volta 2 {
    a'2\pp a'4                                    | % m11
    a'4 g' fs'                                    | % m12
    a'2 a'4                                       | % m13
    a'2 a'4                                       | % m14
%\break
    b'2 b'4        | % m15
    b'4 a' g'      | % m16
    b'2 b'4        | % m17
    b'2 r4         | % m18
    <g' cs''>2 q4  | % m19
    cs''4 d'' e''  | % m20
    <g' b'>2 q4    | % m21
%\break
    b'4 cs'' e''  | % m22
    b'2. ~        | % m23
    b'4 cs'' e''  | % m24
    <fs' a'>2. ~  | % m25
    <fs' a'>2 r4  | % m26
    a'2 a'4       | % m27
    a'4 g' fs'    | % m28
%\break
    a'2 a'4    | % m29
    a'2 fs'4   | % m30
    b'2 b'4    | % m31
    b'4 a' g'  | % m32
    b'2 b'4    | % m33
    b'2 a'4    | % m34
    gs'2 gs'4  | % m35
%\break
    <e' gs'>4 <ds' a'> <d' e' b'>  | % m36
    a'2 a'4                        | % m37
    e'2 e'4                        | % m38
    fs'4 gs' a'                    | % m39
    b'2 cs''4                      | % m40
    <cs' a'>4 a_> as_>             | % m41
    b4_> c'_> cs'_>                | % m42
%\break
    \appoggiatura { a16 b cs' } d'2_> d''4  | % m43
    b'4 a' fs'                              | % m44
    a'2.                                    | % m45
    e'2.                                    | % m46
    \appoggiatura { a16 b cs' } d'2_> d''4  | % m47
    b'4 a' fs'                              | % m48
    <g' a'>2. ~                             | % m49
%\break
    <g' a'>2(as'4)  | % m50
    b'4 as' b'      | % m51
    fs'4 g' a'      | % m52
    b'2 g'4         | % m53
    e'2.            | % m54
    b'2 b'4         | % m55
    b'4 cs'' d''    | % m56
%\break
    e''4 cs'' b'                            | % m57
    a'4 fs'_> e'_>                          | % m58
    \appoggiatura { a16 b cs' } d'2_> d''4  | % m59
    b'4 a' fs'                              | % m60
    a'2.                                    | % m61
    e'2 e'4                                 | % m62
    d'2 e'4                                 | % m63
%\break
    <d' fs'>4 <cs' g'> <c' d' a'>                 | % m64
    b'2. ~                                        | % m65
    b'4 b'4 cs''                                  | % m66
    d''2.                                         | % m67
    d''2.                                         | % m68
    <d' fs' d''>4_> <cs' fs' cs''>_> <b d' b'>_>  | % m69
%\break
    <a d' a'>4_> <gs d' gs'>_> <a d' a'>_>  | % m70
    <b b'>2.                                | % m71
    <cs' cs''>2.                            | % m72
  }
  \alternative {
    {
      <fs' a' d''>4 cs''^>\> b'^>  | % m73
      a'_> fs'_> e'_>\!            | % m74
    }
    {
      <fs' a' d''>2.(              | % m75
      <d'' fs'' d'''>4)\fz r r     | % m76
    }
  }
}

rh_two = {
  \global
  \clef treble
  s4                                | % m0
  r4 <e' g'> q                      | % m1
  r4 <f' gs'> q                     | % m2
  <d' fs'>4_> <cs' fs'>_> <b d'>_>  | % m3
  <a d'>4 <gs d'> <a d'>            | % m4
  r4 <d' gs'> q                     | % m5
  r4 <g' a'> q                      | % m6
  r4 <f' a'> q                      | % m7
%\break
  <fs' a'>4 r r                | % m8
  \repeat volta 2 {
    \grace s8. s2.             | % m9
    s2.                        | % m10
  }
  \repeat volta 2 {
    r4 <a fs'> <a e'>          | % m11
    r4 <g d'> <a d'>           | % m12
    r4 <a fs'> <a e'>          | % m13
    r4 <a d'> <d' fs'>         | % m14
%\break
    r4 <b e'> <a ds'>   | % m15
    r4 <b e'> q         | % m16
    fs4 <b e'> <b ds'>  | % m17
    r4 <b g'> q         | % m18
    s2.                 | % m19
    g'2.                | % m20
    s2.                 | % m21
%\break
    g'2.               | % m22
    r4 g' fs'          | % m23
    e'2.               | % m24
    d'4(cs' b          | % m25
    a4) b(a)           | % m26
    r4 <a fs'> <a e'>  | % m27
    r4 <g d'> <a d'>   | % m28
%\break
    r4 <a fs'> <a e'>   | % m29
    r4 <a d'> <d' fs'>  | % m30
    r4 <b e'> <a ds'>   | % m31
    r4 <b e'> q         | % m32
    r4 <b e'> <b ds'>   | % m33
    r4 <b e'> r         | % m34
    r4 <d' e'> q        | % m35
%\break
    s2.            | % m36
    r4 <cs' e'> q  | % m37
    s2.            | % m38
    ds'2.          | % m39
    d'2.           | % m40
    s2.            | % m41
    s2.            | % m42
%\break
    \appoggiatura { s8. } s2.  | % m43
    s2.                        | % m44
    r4 e' d'                   | % m45
    cs'4 b a                   | % m46
    \appoggiatura { s8. } s2.  | % m47
    s2.                        | % m48
    s2.                        | % m49
%\break
    s2 <e' g'>4  | % m50
    ds'2. ~      | % m51
    ds'2.        | % m52
    e'2.         | % m53
    e'2.         | % m54
    gs'2. ~      | % m55
    gs'2.(       | % m56
%\break
    g'4) <e' g'> q  | % m57
    <e' g'>4 r r    | % m58
    s2.             | % m59
    s2.             | % m60
    r4 e' d'        | % m61
    cs'4 b a        | % m62
    s2.             | % m63
%\break
    s2.            | % m64
    r4 <d' g'> q   | % m65
    <d' g'>4 r r   | % m66
    r4 <e' g'> q   | % m67
    r4 <f' gs'> q  | % m68
    s2.            | % m69
%\break
    s2.            | % m70
    r4 <d' gs'> q  | % m71
    r4 <g' a'> q   | % m72
  }
  \alternative {
    {
      s2.          | % m73
      s2.          | % m74
    }
    {
      s2.          | % m75
      s2.          | % m76
    }
  }
}

lh_one = {
  \global
  \clef bass
  r4                           | % m0
  <b, b>2.                     | % m1
  <bf, bf>2._>                 | % m2
  <a, a>2_> <g, g>4_>          | % m3
  <fs, fs>4 <es, es> <fs, fs>  | % m4
  <e, e>2.                     | % m5
  <a, a>2.                     | % m6
  d2. ~                        | % m7
%\break
  d4 s2                  | % m8
  \repeat volta 2 {
    \grace s8.
    <d, d>4 r r          | % m9
    <a,, a,>4 r r        | % m10
  }
  \repeat volta 2 {
    <d, d>2\mp <cs, cs>4  | % m11
    <b,, b,>2 <a,, a,>4   | % m12
    <d, d>2 <cs, cs>4     | % m13
    <b,, b,>2 <a,, a,>4   | % m14
%\break
    <g, g>2 <fs, fs>4  | % m15
    <e, e>2 <d, d>4    | % m16
    <g, g>2 <fs, fs>4  | % m17
    <e, e>2 <d, d>4    | % m18
    <e, e>4 <g a> q    | % m19
    a,4 <g a cs'> q    | % m20
    r4 e' d'           | % m21
%\break
    cs'4(<cs' e'>) a   | % m22
    a,4 <a cs'> q      | % m23
    a,4 <g a cs'> q    | % m24
    d4 <fs a> q        | % m25
    d4 b,(a,)          | % m26
    <d, d>2 <cs, cs>4  | % m27
    <g, g>2 <a,, a,>4  | % m28
%\break
    <d, d>2 <cs, cs>4    | % m29
    <b,, b,>2 <a,, a,>4  | % m30
    <g, g>2 <fs, fs>4    | % m31
    <e, e>2 <d, d>4      | % m32
    <g, g>2 <fs, fs>4    | % m33
    <e, e>2 r4           | % m34
    <b,, b,>4 e e, ~     | % m35
%\break
    <e, e>4 fs gs          | % m36
    a2 e4                  | % m37
    <cs, cs>4 <e a cs'> q  | % m38
    <b,, b,>4 <fs a b> q   | % m39
    <e, e>4 <e gs> q       | % m40
    <a, a>4 a,_> as,_>     | % m41
    b,4_> c_> cs_>         | % m42
%\break
    \appoggiatura { a,16 b, cs } d4^> <fs a> q  | % m43
    <a,, a,>4 <fs a d'> q                       | % m44
    <e, e>4 <g a> q                             | % m45
    a,4 g a,                                    | % m46
    \appoggiatura { a,16 b, cs } d4^> <fs a> q  | % m47
    a,4 <fs a d'> q                             | % m48
    e,4 <cs' e'> q                              | % m49
%\break
    <a, a>4 <a cs'> <c c'>       | % m50
    <b, b> fs <b, a>             | % m51
    <a, b>4 <fs a b> q           | % m52
    <e, e>4 <g b> q              | % m53
    b,4 <g b> q                  | % m54
    <gs, gs>4 <e g d'> q         | % m55
    <e, e>4 <e gs e'> <e gs d'>  | % m56
%\break
    <a, a>4 <a cs'> <a d'>                      | % m57
    <a cs'>4 fs^> e^>                           | % m58
    \appoggiatura { a,16 b, cs } d4^> <fs a> q  | % m59
    <a,, a,>4 <fs a d'> q                       | % m60
    <e, e>4 <g a> q                             | % m61
    a,4 g a,                                    | % m62
    <d, d>4 <fs a> q                            | % m63
%\break
    <d, d>4 <d, e> <fs, fs>  | % m64
    <g, g>4 <g b> q          | % m65
    <g, g>4 <g b d'> q       | % m66
    <b, b>2.                 | % m67
    <bf, bf>2.               | % m68
    <a, a>2^> <g, g>4_>      | % m69
%\break
    <fs, fs>4_> <es, es>_> <fs, fs>_>  | % m70
    <e, e>2.                           | % m71
    <a, a>2.                           | % m72
  }
  \alternative {
    {
      <d d'>4 <cs cs'>^> <b, b>^>      | % m73
      <a, a>4^> <fs, fs>^> <e, e>^>    | % m74
    }
    {
      <d d'>4 <a, a> <fs, fs>          | % m75
      <d, d>4_> r r                    | % m76
    }
  }
}

lh_two = {
  \global
  \clef bass
  s4          | % m0
  s2.         | % m1
  s2.         | % m2
  s2.         | % m3
  s2.         | % m4
  s2.         | % m5
  s2.         | % m6
  d,4 a, fs,  | % m7
%\break
  d,4 r r  | % m8
  \repeat volta 2 {
    \grace s8.
    s2.    | % m9
    s2.    | % m10
  }
  \repeat volta 2 {
    s2.  | % m11
    s2.  | % m12
    s2.  | % m13
    s2.  | % m14
%\break
    s2.  | % m15
    s2.  | % m16
    s2.  | % m17
    s2.  | % m18
    s2.  | % m19
    s2.  | % m20
    e2.  | % m21
%\break
    s2.  | % m22
    s2.  | % m23
    s2.  | % m24
    s2.  | % m25
    s2.  | % m26
    s2.  | % m27
    s2.  | % m28
%\break
    s2.  | % m29
    s2.  | % m30
    s2.  | % m31
    s2.  | % m32
    s2.  | % m33
    s2.  | % m34
    s2.  | % m35
%\break
    s2.  | % m36
    s2.  | % m37
    s2.  | % m38
    s2.  | % m39
    s2.  | % m40
    s2.  | % m41
    s2.  | % m42
%\break
    s2.  | % m43
    s2.  | % m44
    s2.  | % m45
    s2.  | % m46
    s2.  | % m47
    s2.  | % m48
    s2.  | % m49
%\break
    s2.  | % m50
    s2.  | % m51
    s2.  | % m52
    s2.  | % m53
    s2.  | % m54
    s2.  | % m55
    s2.  | % m56
%\break
    s2.  | % m57
    s2.  | % m58
    s2.  | % m59
    s2.  | % m60
    s2.  | % m61
    s2.  | % m62
    s2.  | % m63
%\break
    s2.  | % m64
    s2.  | % m65
    s2.  | % m66
    s2.  | % m67
    s2.  | % m68
    s2.  | % m69
%\break
    s2.    | % m70
    s2.    | % m71
    s2.    | % m72
  }
  \alternative {
    {
      s2.  | % m73
      s2.  | % m74
    }
    {
      s2.  | % m75
      s2.  | % m76
    }
  }
}

\score {
  <<
    \new Staff \with { instrumentName = "Trumpet" } \trumpet
    \new PianoStaff \with { instrumentName = "Piano" }
    <<
      \new Staff << { \rh_one } \\ { \rh_two } >>
      \new Staff << { \lh_one } \\ { \lh_two } >>
    >>
  >>
  \layout {}
}

\score {
  \unfoldRepeats {
    <<
      \new Staff {
        \set Staff.midiInstrument = "trumpet"
        \trumpet
      }
      \new Staff {
        \set Staff.midiInstrument = "acoustic grand"
        << { \rh_one } \\ { \rh_two } >>
      }
      \new Staff {
        \set Staff.midiInstrument = "acoustic grand"
        << { \lh_one } \\ { \lh_two } >>
      }
    >>
  }
  \midi {}
}

-- 
David Kastrup

reply via email to

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