%{
    Caprice #17 (Paganini)
    Arranged for guitar by Steve Yegge

  compile-command:
  /Applications/LilyPond.app/Contents/Resources/bin/lilypond \
       [-d fret-diagrams] --png caprice-17.ly \
    && /Users/stevey/bin/refresh-lilypond \
    && /Users/stevey/bin/midi caprice-17.midi
%}

\version "2.26.0"  % for upgrading to future LilyPond versions

\include "english.ly"
\include "../common.ly"

#(define introTempo 100)
#(define baseTempo 70)

intro = {
  <<
    \pI
    %% measure 1
    \set Score.measureLength = #1/16
    \relative c {
      <ef^1>16\4 \f
      ^\markup { \halign #0 { \null \raise #1 { \large Sostenuto. }}}
    } \\ \relative c {
      <ef_4>16\5
    }
    \stringNeutral
  >>
  <<
    \relative c {
      | %% measure 2
      \set Score.measureLength = #4/4
      \bar "|"
      <ef>2\5 \fermata b'4\rest b8.\rest \fermata
      <ef,-4 gf-2>16
    } \\ \relative c {
      <ef>2\4 s2
    }
  >>
  <<
    \relative c {
      \noBreak | %% measure 3
      <ef gf>2 \fermata r4 r8. \fermata
      <ef-4 gf!-2 a-1>16\5\4\3

      \noBreak | %% measure 4
      <ef gf a>4\5\4\3 <ef gf a>\5\4\3
      <ef-4 f-2 a-1>\5\4\3 <c-3 f-4 a-2>

      | %% measure 5
      \fingerRight
      \pOff <bf-1 d-0 bf'-4>2 \fermata \fingerUp

      \cadenzaOn \stringDown
      \override Script.font-size = #-3
      \override NoteHead.font-size = #-3
      \override Fingering.font-size = #-6
      \pVII <d'-1\3>8 -> [ <bf-2\4>
      <f'-4\3> -> <d-1>
      <bf'-4\2> -> <f-2\3>
      <d'-1\1> -> <bf-2\2> ]
      \revert NoteHead.font-size
      \revert Script.font-size
      \override Fingering.font-size = #-5
      \fingerRight <f'-4>2 \fermata \fingerUp

      \override NoteHead.font-size = #-3
      \pXIII
      \textSpannerDown \stringSpan "2"
      <d-3>32 \startTextSpan \(
      [ ( \moveFingering #'(0 . -2) <c-1>
          \fingerRight <ef-4> <d-3> )
        \pX \fingerUp <bf-2> ( \moveFingering #'(0 . -2) <a-1> <c-4> <bf-2> )
        \pVI <g-2> ( \moveFingering #'(0 . -2) <f-4> <a-1> <g-2> )
        \pIII <ef-2> ( <d-1> <f-4> <ef-2> ) \stopTextSpan
        \pII <c-4\3> ( <a-1> ) \glissando \pV
        \moveFingering #'(-0.1 . -0.4) <d-4>
        ( \moveFingering #'(0 . 0.5) <c-1> )
        <a>\3 \glissando ] \)
      \revert NoteHead.font-size

      \phrasingSlurDown
      \pIII <bf-1>2 \trill \fermata \(
      \pOff \grace { <a>16 [ <bf> ] \) } bf'
         r bf' r <bf,,,-1\6>2 r8 \fermata
      \bar "||" \break
      \time 4/4
      \cadenzaOff \phrasingSlurNeutral
    }
  >>
}

fourthRun = {
  <<
    \relative c {
      <d f>8\6\5 -> \( <bf d>8\6\5 \)

      \tuplet 13/8 {
        \pX <bf'\5>32 ->
        \( <c\4> d ef <f\3> g a\3 <bf\2> c d\2 <ef\1> f g
      } <f>8 -. \)

      <bf,,, d>\6\5 -_ \( [ <c ef>\6\5 -_ <d f>\6\5 -_ ] \)
    }
  >>
}

firstRepeatSecondHalf = {
  <<
    \relative c {
      \stringUp \fingerNeutral \moveString #'(-0.1 . -3.5)
      \pIII <g-1 ef'-4\5>\6 -_ \( [ <af-1 f'-4>\6\5 -_ <a-1 fs'-4>\6\5 -_ ] \)

      \stringDown \fingerNeutral \fingerInside
      \noBreak
      | %% measure 6
      <bf-1 g'-4>\6\5 ^> ( <g-1 ef'-4>\6\5 )

      \pXI \tuplet 13/8 { <bf''-1\2>32 ->
        \( <g'-4\1> <f-2> <ef-1>
           <d-4\2> <c-2> <bf-1>
           \pX <af-4\3> <g-3> <f-1>
           <ef-4\4> <d-3> <c-1> } <bf-4\5>8 -. \)
      \fingerWherever
    }
  >>
}

firstRepeat = {
  <<
    \relative c {
        %% measure 5
        \stringDown \fingerUp \fingerInside
        \pVII \tuplet 11/8 { <a''!-3\2>32 -> \glissando
        \( <bf-3> <ef-4\1> <c-1>
           <bf-4\2> <af-2> <g-1>
           <f-4\3> <ef-2> <d-1>
           <c-4\4> }
           <bf-2>8 -. \)
        \firstRepeatSecondHalf
      }
  >>
}

firstRepeatTailA = {
  <<
    \relative c {
      \stringUp \fingerNeutral \moveString #'(-0.1 . -3.5)
      \pIII <g-1 ef'-4\5>\6 -_
      \( [ <af-1 f'-4>\6\5 -_ <bf-1 g'-4>\6\5 -_ ] \)

      \set Score.measureLength = #1/4
      \noBreak <g ef'>4
      \set Score.measureLength = #4/4
    }
  >>
}

jolly = {
  <<
    \relative c {
      \tupletsOff
      \once \override TextScript.outside-staff-priority = #10000
      r4
      ^\markup { \halign #0 { \null \raise #1 { \large Andante. }}}
      \repeat volta 2 {
        \mark \markup { \tiny "Capo" }
        \bar ".|:-|"
        \firstRepeat
        \firstRepeatTailA
      }
    }
  >>
  <<
    \relative c {
      | %% measure 8 (first chromatic run)
      \midiTempoChange \tempo 4=140
      \stringDown \fingerUp
      \tuplet 12/16
      { \pVIII <bf''-4\2>32 ^> \(
        \fingerInside <a> <af> <g>
        <gf-4\3> <f> <e> <ef>
        <d-4\4> <df-3>
        <c-2> <cf-1> }
        \midiTempoChange \tempo 4=70
        <bf-1>8 -. \)

      <bf, d>\6\5 -_ \( [ <c ef>\6\5 -_ <cs e>\6\5 -_ ] \)

      \noBreak | %% measure 9
      \fourthRun

      | %% measure 10
      <bf d>4\6\5 _>

      \stringDown \fingerUp \fingerOutside
      \tuplet 12/8 {
        \pVIII <bf''-4\2>32 ^> \(
        \fingerInside <a> <af> <g>
        <gf-4\3> <f> <e> <ef>
        <d-4\4> <df-3> <c-2> <cf-1> }
        <bf-1>8 -. \)

      <bf, d>\6\5 -_ \( [ <c ef>\6\5 -_ <cs e>\6\5 -_ ] \)

      \noBreak | %% measure 11
      \fourthRun
    }
  >>
}

chromaI = {
  <<
    \relative c {
      \tuplet 10/8 { \fingerOutside
        \stringDown \pVIII <bf''\2>32 -> \( <a> <af> <g>
        <gf\3> <f> <e> <ef>
        <d-4\4> <df-3>
      } <c-2>8 -. \)
    }
  >>
}

chromaII = {
  <<
    \relative c {
      \tuplet 10/8 {
        \stringDown \pVI
        <af''-4\2>32 -> \( g gf f
        <e\3> ef d df
        <c-3\4> <cf-2>
      } <bf-1>8 -. \)

      \pV <bf,-1 d-2> -_ \( [ <cf-1 ef-2> -_ <a-1 gf'-4>\6\5 -_ ] \)
    }
  >>
}

serious = {
  <<
    \relative c {
      | %% measure 12
      <bf d>4\6\5 _>
      \chromaI

      \stringLeft
      \pVI <c-1\6 e-2\5>8 -_ \( [ <df-1 f-2> <b-1 af'-4>\6\5 ] \)

      \noBreak | %% measure 13
      <c-2\6 g'-4\5> -> ( <e-1> )
      \fingersOff \chromaI \fingersOn

      \pVI <c-1\6 e-2\5>8 -_ \( [ <df-1 f-2> <b-1 af'-4>\6\5 ] \)

      | %% measure 14
      <c-2\6 g'-4\5> -> ( <e-1> )
      \chromaII

      \noBreak | %% measure 15
      <bf-2 f'-4> -> ( <d-1> )
      \fingersOff \chromaII \fingersOn

      | %% measure 16
      <bf-2 f'-4> -> ( <d-1> )
      \fingerDown \stemDown <ef'\3>32 ->
      \( d df c <cf-4> <bf-3> <g-1> <ef-2>
      ef' -> d df c <cf-4> <bf-3> <af-1> <f-2> \) \stemNeutral
      ef' -> \( d df c <cf-4> <bf-3> <af-2> <g-1>

      | %% measure 17
      <ef'\3> d df c <cf\4> bf a af \)

      <ef'\3> \( d df c
      \pVII <cf-4> <bf-3> <a-1> ( <c-3> ) \pVIII <ef-1\3> ( \)
      <f-3> ) \( \pX <a-1\2> ( <c-3> a ) <ef'-2\1> <c-3\2>
      \pXI <gf'-4> ( <ef-1> ) <c-2\2>
      <a-3\3> ( <gf> ) <ef-2\4>
      <c-3\5> <a-1> <c-3> \)

      | %% measure 18
      <bf-2>8 -- <bf,\6 bf'>\4 --

      \pVIII \tuplet 12/8 { <bf''\2>32 ->
      \( a af g <gf\3> f e ef <d-4\4> <df-3> <c-2> <cf-1> }

      <bf-1>8 -- \) [ <bf,\6 bf'>\4 -- ]
      \pVII \tuplet 12/8 { <d''\1>32 ->
      \( cs c b <bf\2> a af g <gf\3> f e ef }

      | %% measure 19
      <d>8 -- \)
      <bf, bf'>\6\4 --

      \tuplet 37/24 {\pX <f'''-4\1>32 \( [ e ef d <df-4\2> c b bf
      \pVII <a-4> af g gf <f-4\3> e ef d
      <df-4\4> c cf bf \pIV <a-4> af g gf
      <f-4\5> e ef d \pI <df-4> c cf bf
      <a-0>\5 ( <c-1> <ef-4>\5 \glissando ) <gf-4>\5 ( <a-0>\5 ) ] \) }

      | %% measure 20
      \fingerUp
      \tuplet 10/8 { \pV <bf,-2\6>32 \( <d-1> <f-4>
      <af-1> <a-2> <bf-3> <d-2> <f-1> <af-3> <a-3>\2 \) }

      %% copy of firstRepeat but without first note :-/
      \pVII \tuplet 10/8 { 
      <bf-3>32 \( <ef> <c> <bf> <af> <g> <f> <ef> <d> <c> } <bf>8 -. \)

      \fingersOff \firstRepeatSecondHalf \fingersOn

      \stringUp \fingerNeutral \moveString #'(-0.1 . -3.5)
      \pIII <g,-1 ef'-4\5>8\6 -_
      \( [ <af-1 f'-4>\6\5 -_ <bf-1 g'-4>\6\5 -_ ] \)
      <g ef'>4

      \firstRepeat
      \fingersOn
      \stringUp \fingerNeutral \moveString #'(-0.1 . -3.5)
      \pIII <g-1 ef'-4\5>8\6 -_
      \( [ <af-1 f'-4>\6\5 -_
           \fingerRight <bf-1\6 f'-3\5 d'-2\3> -_ ] \)

      \set Score.measureLength = #1/4
      <g-1 ef'-4 g-3 ef'-2>4
      _\markup \italic "Fine."
      \set Score.measureLength = #4/4
      \bar "||" \break
    }
  >>
}

firstOctaves = {
  <<
    \relative c {
      \stringNeutral
      \pX <g'\5 g'\3>8. \( <ef\6 ef'\4>16 \)
      \pVII <c c'> ( <b b'> ) <c c'> -. \( \pV <d d'> -. \)
      <ef\5 ef'\3> ( <d d'> ) <ef ef'> -. \( \pVIII <f f'> -. \)

      \set Score.measureLength = #4/4

      |
      <g g'>\5\3 ( <fs fs'>\5\3 ) <g g'>\5\3 \( -. <a a'>\5\3 -. \)
      <b b'>\5\3 ( <a a'>\5\3 ) <b b'>\5\3 \( -. <g g'>\5\3 -. \)
      \pIX <c\4 c'\2> ( <b b'> ) <c c'> -. \( \pXII <d d'> -. \)
      <ef ef'> ( <d d'> ) <ef ef'> -. \( \pXV <f f'> -. \)
      |

      <g\3 g'\1>8 <g,,\6 g'\4> <g''\3 g'\1>8. \pXII <g g'>16

      <af af'> \( ( <g g'> <af af'> ) <d,\4 d'\2> -. \)
      \pX <g\3 g'\1> \( <fs fs'> ( <g g'> <c,\4 c'\2> ) -. \)
      |

      \pIX <f\3 f'\1> \( ( <e e'> <f f'> ) <b,\4 b'\2> -. \)
      \pVI <ef\3 ef'\1> \( ( <d d'> <ef ef'> ) \pX <c\4 c'\2> -. \)
    }
  >>
}

bflats = {
  <<
    \relative c {
      \pIV <bf\6 bf'\4>8. <bf bf'>16
      <bf bf'> <a a'> <bf bf'> \pV <d\5 d'\3>
      \pVIII <f f'> <bf\4 bf'\2> \pVII <d\3 d'\1> <f f'>
    }
  >>
}

octaves = {
  <<
    \relative c {
      \set Score.measureLength = #3/4
      \firstOctaves
      <c' c'>16 ( \pVIII <bf bf'> ) <bf bf'> ( \pV <af af'> )
      <af af'> ( <g g'> ) <g g' > ( \pIV <fs fs'> )

      <fs fs'> ( <g g' > ) <g' g'>8 -.

      \firstOctaves

      \pVII <bf, bf'>16 \pV <af af'> <g g'> \pVII <f\5 f'\3>
      \pVI <ef ef'> \pIX <g g'> \pVII <f f'> \pV <d d'>
      |
      \set Score.measureLength = #1/4
      <b\6 b'\4> ( <c c'>\6\4 ) <c'\4 c'\2>8
      \set Score.measureLength = #4/4
    }
  >>
  <<
    \relative c {
      \repeat volta 2 {
        |
        \bflats
        <af'' af'>16 ( <f f'> ) <d d'>8 -.
        \bflats
        <af' af'>16 ( <f f'> ) <c\4 c'\2>8 -.

        \pVII <c,\6 c'\4>8. <c c'>16
        <c c'> ( <b b'> ) <c c'> -. \( \pX <d d'> -. \)
        <ef ef'> ( <d d'> ) <ef ef'> -. \( \pXI <f f'> -. \)

        <g\5 g'\3> ( \pIX <fs fs'> ) <g g'> -. \( \pXII <a a'> -. \)
        <b b'>\5\3 ( <a a'> ) <b b'>\5\3 -. \( <g g'>\5\3 -. \)
        <c\4 c'\2> -. <d d'> -. <ef ef'> -. \pXV <f f'> -.
        <g g'>8\4\2 <g, g'>\5\3

        \set Score.measureLength = #1/4
        <b\4 b'\2>16 ( <c c'>\4\2 ) <c,\6 c'\4>8 -.
        \set Score.measureLength = #4/4
      }
    }
  >>
}

tail = {
  <<
    \relative c {
      \set Score.measureLength = #3/4
      \fingersOff \firstRepeat \fingersOff
      \set Score.measureLength = #4/4

      \stringUp \fingerNeutral \moveString #'(-0.1 . -3.5)
      \pIII <g-1 ef'-4\5>8\6 -_
      \( [ <af-1 f'-4>\6\5 -_
           \fingerRight <bf-1\6 f'-3\5 d'-2\3> -_ ] \)

      \set Score.measureLength = #1/4
      <g-1 ef'-4 g-3 ef'-2>4 ^>
      _\markup \right-align \italic "D.C. sin' al Fine senza replica"
      \set Score.measureLength = #4/4
    }
  >>
}

music = {
  \key ef \major
  \time 4/4
  \midiTempoChange \tempo 4=100
  \intro
  \midiTempoChange \tempo 4=70
  \set Score.currentBarNumber = #6
  \jolly
  \serious
  \octaves
  \tail
  \bar "|."
}

\header {
  title = "Caprice 17, Op. 1"
  composer = "Niccolò Paganini"
  arranger = "Arranged for guitar by Steve Yegge"
  copyright = "sites.google.com/site/steveysguitarsite"
  tagline = ##f
}

\score {
  <<
    \new Staff {
      \commonSetup
      \maybeFretDiagrams \music
    }
    \new TabStaff {
      \music
    }
  >>
}

\score {
  \unfoldRepeats
  \music
  \midi {
    \context {
      \Score
      midiInstrument = #"acoustic guitar (steel)"
      tempoWholesPerMinute = #80/4
    }
    \context {
      \Voice
      \remove "Dynamic_performer"
    }
  }
}

\paper {
   indent = 8\mm
   after-title-spacing =
   #'((basic-distance . 0) (padding . 1.5) (stretchability . 3) (minimum-distance . 0))
   bottom-system-spacing =
   #'((basic-distance . 0) (padding . 1.5) (stretchability . 3) (minimum-distance . 0))
   ragged-last-bottom = ##f
}
