\version "2.18.2"
\language "english"

\header {
  title = "Hollow Years"
  composer = "John Petrucci"
  arranger = "arr. Tommy Montgomery"
  copyright = "Retirement Festivus 2017"
}

global = {
  \key d \minor
  \set Staff.printKeyCancellation = ##f
  \numericTimeSignature
  \override TupletBracket #'bracket-visibility = #'if-no-beam
  \set Score.connectArpeggios = ##t
  \time 4/4
  \tempo "Moderately fast heroin dirge" 4 = 72
}

pianoVerseR = \relative c'' {
  <a f'>4. q8 <g e'>4. q8 |
  <f d'>4. <d a'>8 ~ q4 <d g>8 <c a'> |
  <d bf'>2 <e c'> |
  <f d'>4. <g a e'>8 ~ q8 g16 a e' d c8 |

  <a f'>4. q8 <g e'>4. q8 |
  <f d'>4. <d a'>8 ~ q4 <d g>8 <c a'> |
  <d bf'>2 <e c'> |
  <e g bf d>4. <e g a cs>8 ~ q8 g16 a e' d cs8 |
}

pianoVerseL = \relative c, {
  d8 a' d f c, a' c f |
  g,8. d'16 g a bf8 ~ bf a g d |
  bf f' g4 c,8 f g c, |
  d,8. a'16 d f a,8 ~ a a a'4 |

  d,,8 a' d f c, a' c f |
  g,8. d'16 g a bf8 ~ bf a g d |
  bf f' g4 c,8 f g c, |
  g8. d'16 g d a8 ~ a e' a4 |
}

pianoPreChorusL = \relative c, {
  % pre-chorus
  \repeat unfold 3 {
    d16 a' d e f e d a bf, f' bf d e d bf f |
    c g' c d e d c g a g a bf a g f e |
  }
}

pianoChorusL = \relative c {
  a8 c16 f c'8 f,16 c bf8 f'16 bf c8 bf16 f |
  c8 f16 g c8 g16 f c8 f16 g c8 g16 f |
  a,8 c16 f c'8 f,16 c bf8 f'16 bf c8 bf16 f |
  c8 f16 g c8 g16 f d8 f16 a d8 a16 f |

  a,8 c16 f c'8 f,16 c bf8 f'16 bf c8 bf16 f |
  c8 f16 g c8 g16 f cs8 e16 a cs8 a16 e |
  d8 a d f c, a' d f |
  b,,8. d16 g b d8 ~ d b g4 |
  bf,!8 f' d' f, c g' c g |
}

pianoChorusR = \relative c' {
  \repeat unfold 6 { <c g'>8 a <c g'>16 f8. }
  <g c>8 f <g c>4 r16 f a d e d a g |
  \repeat unfold 2 { <c, g'>8 a <c g'>16 f8. }
  <g c>8 f <g c> f <g cs> e <g cs> e |
  <a d>4 <f a> <d f> <a c> |
  <g d'>4 d'8 <g b d> ~ q4 q |
  <d f c'>4 <d f bf!> <c f a> <c f g>  \bar "||" |
}

pianoIntroL = \relative c, {
  d8\mp a' <f' a>4 c,8 a' <f' a>4 |
  g,8. d'16 g a <g bf>8 ~ q d g,4 |
  a8 g' d' g, a, e' cs' e, |
  d,8. a'16 d e a,8 ~ a16 e' g a g8 a, |
  d,8 a' <f' a>4 c,8 a' <f' a>4 |
  g,8. d'16 g a g8 ~ g d g,4 |
  a8 d g4 a,8 e' g4 |
}

pianoIntroR = \relative c' {
  <f a e'>2\mp <f g e'> |
  <g bf d>4. <g a d>8 ~ q2 |
  <bf d g>2 <a cs g'> |
  <f a e'>4. <e a c! d>8 ~ q4 <c! g'>4 |
  <a e' f>2 <c e g>2 |
  <bf d a'>4. q8 ~ q4 <d g> |
  <bf d>2 <g a cs> |
}

pianoInterludeL = \relative c, {
  \repeat unfold 2 {
    f8 c' f16 c f,8 d a' d16 a d,8 |
    bf f' bf16 f bf,8 c g' c16 g c,8 |
  }
}

pianoInterludeR = \relative c' {
  a'8 c16 <f a>16 ~ q8 c16 a ~ a8 d16 <f a>16 ~ q8 d16 a ~ |
  a8 d16 <f a>16 ~ q8 d16 a ~ a8 c16 f bf a g f |
  a,8 c16 <f a>16 ~ q8 c16 a ~ a8 d16 <f a>16 ~ q8 d16 a ~ |
  a8 d16 <f a>16 ~ q8 d16 a ~ a8 c16 f bf a g8 |
}

pianoPart = \new PianoStaff \with {
  instrumentName = "Piano"
} <<
  \new Staff = "right" \with {
    midiInstrument = "acoustic grand"
  } \relative c' {
    \global
    \set Staff.midiMinimumVolume = #0.3
    \set Staff.midiMaximumVolume = #0.5
    \clef treble

    \pianoIntroR
    <f, a d>4. <a e'>8 ~ q8 d <a e'>8 f' |

    % verse 1
    \pianoVerseR

    % pre-chorus
    \repeat unfold 3 {
      <f a d>4 q q q |
      <e g c> q <e g cs> q |
    }

    f,8 bf c f f,8 bf c f |
    \clef bass \times 4/6 { c,16 f g c f g } \clef treble \ottava #1 \times 4/6 { c16 f g c f g }
    \times 4/6 { c16 g e c g e } \ottava #0 \times 2/3 { c16 g e } c8 |

    \pianoChorusR
    \pianoInterludeR

    % verse 2
    \pianoVerseR

    % pre-chorus
    \repeat unfold 3 {
      r8 <e' e'> <f f'> <d d'> ~ q <e e'> <f f'>4 |
      r8 <e e'> <f f'> <g, g'> ~ q <e' e'> <f f'>4 |
    }

    \times 4/6 { bf,,16 c d e f g } \times 4/6 { a g f g a bf }
    \times 4/6 { c d e f g a } \times 4/7 { bf a bf c d e f } |

    <g, c g'>4 <c, g' c> <g c g'>16 <f c' f>8 <e g c e>16 ~ q4 |

    \pianoChorusR
    \pianoIntroR

    <f, a d>8. d'16 <f a d>8. \times 2/3 { d'32 f a }
    \times 2/3 { <g bf>8 <a c> <g bf> } \grace bf16 \times 2/3 { <f a>8 <e g> <d f> } |

    % pre-chorus
    a'16 d a'8 ~ a d,,,16 f e d f e d f e d |
    f e c f e c f e cs f e cs f e cs f |
    e d f e d f e d f e d f e d f e |
    c f e c f e c f e cs f e cs f e cs |
    f e d f e d f e d f e d f e d f |
    e c f e c f e c f e cs f e cs f e |

    d e f g   a bf c d   \times 4/7 { e f g a g f e } d32 c bf a g f e d |
    <c c'>4 <d d'> <e e'> <f f'> |
    <g g'> <a a'> <bf bf'> <c c'> |

    \key g \major
    <b d g b>4->\f \times 4/6 { g16 b d g d b } \times 4/6 { g c d g d c } \times 4/6 { g c d g d c } |
    \times 4/6 { a d e a e d } \times 4/6 { a d e a e d } \times 4/6 { a d e \ottava #1 a d e } \times 4/6 { a e d \ottava #0 a e d } |
    \times 4/6 { g, b d g d b } \times 4/6 { g b d g d b } \times 4/6 { g c d g d c } \times 4/6 { g c d g d c } |
    \times 4/6 { a d e a e d } \times 4/6 { a d e a e d } e4 g,32 b e g <b e>8 |
    \times 4/6 { g,16 b d g d b } \times 4/6 { g b d g d b } \times 4/6 { g c d g d c } \times 4/6 { g c d g d c } |
    \times 4/6 { a16 d e a e d } \times 4/6 { a d e a e d } <ds, fs c'>4 <b fs' b> |
    \repeat unfold 4 { <e g>8 b } |
    <e a>8. d16 <e a> d <e a>8 ~ q4 r4 |
    <g, c! e> <g c e> <a d fs> q |

    \transpose c d \pianoInterludeR

    \repeat unfold 4 {
      <g' d'>4 <d' g>8 q ~ q4 <g, e'>8 <d' g> ~ |
      q4 <g, e'>8 <d' g> ~ q <b e> <a d>4 |
    }

    <d, g>8 <d a'>4 <g b>8 ~ q <d a'>4 <g b>8 ~ |
    q <d a'>8 g <d g> ~ q2 ~ | q1\fermata \bar "|." |

  }
  \new Staff = "left" \with {
    midiInstrument = "acoustic grand"
  } \relative c, {
    \global
    \set Staff.midiMinimumVolume = #0.2
    \set Staff.midiMaximumVolume = #0.4
    \clef bass

    % intro
    \pianoIntroL
    d8. a'16 d e a,8 ~ a4 bf4 |

    % verse 1
    \pianoVerseL

    % pre-chorus
    \pianoPreChorusL

    bf,4 bf' bf, bf' |
    c,8 g' c d c4 g |

    \pianoChorusL
    \pianoInterludeL

    % verse 2
    \pianoVerseL

    % pre-chorus
    \pianoPreChorusL

    <bf, f' bf>4. q8 ~ q4 q |
    <c, c'>8 g'' c g' <c,, c'>4 q8 g' |

    \pianoChorusL
    \pianoIntroL
    d4 d, <a' a'> <c c'> |

    % pre-chorus
    \repeat unfold 3 {
      <d d'>4 <a'' d f> <bf,, bf'> <f'' bf d> |
      <c, c'> <g'' c e> <a,, a'> <g'' cs e> |
    }

    <bf,, bf'> <bf, bf'> <bf' bf'> <bf' bf'> |
    <c c'>8 <bf bf'>4 <a a'>8 ~ q <g g'>4 <f f'>8 |
    <c c'>8 <c, c'>4 <c' c'>8 ~ q <c, c'>4 <c' c'>8 |

    \key g \major
    <g g'>4\f q <c c'> q |
    <d d'> q <d, d'> q |
    <g g'>4 q <c c'> q |
    <d d'> q \times 4/6 { e16 b' e g b e ~ } e8 b, |

    <g, g'>4 q <c c'> q |
    <d d'> q <b b'> <ds b' ds> |
    e16 b' e g e8 b d,!16 b' e g e8 b |
    cs,8 a'16 cs e a cs8 ~ cs a <a,, a'>8 <b b'> |
    <c! c'!>4 q <d d'> q |

    \repeat unfold 3 { \transpose c d \pianoInterludeL }

    g4 <d' g> g, <d' g> |
    g, <d' g> g,8 d' g g, |
    g,1\fermata |
  }
>>

trumpetChorus = \relative c' {
  f8\f r8 c' c ~ c8 r8 f, c' ~ |
  c4 bf8 a ~ a g r8. e16 |
  f8 c'4 c8 ~ c bf4 c8 ~ |
  c a( g4) r2 |

  f8 r8 c' c ~ c8 r8 a a( |
  g) g4 r8 bf( a)  g f |
  r4 g8( a16 f ~ f4) r8. d16 |
  g8 g g16( a) g8 ~ g r8 d e16 f ~ |
  f8 g a bf g f4 f8 ~ |
}

trumpetMusic = \relative c' {
  \global
  \set Staff.midiMinimumVolume = #0.3
  \set Staff.midiMaximumVolume = #0.6

  r4\mf r16 a' e'( d f4.) a8 |
  a8( bf16) bf16 ~ bf2 r4 |
  r1 | r1 |

  r4 r16 a,\mf e'( d f4.) bf16( c) |
  c8 bf16 bf ~ bf8. a16 a8 g4. |

  r4 r16 g, bf( a g a8. ~ a8) a |
  \grace { g16( a16 } g8 f16) f ~ f2 r4 \bar "||" |

  % verse 1
  r4 r16 d16 a'( g) a8 g16( a ~ a4) |
  r4 r8 d,16 a' ~ a8( g16) g ~ g4 |
  r4 r16 d16 g( f) g8 f16( g ~ g4) |
  r8. d16 g8( a16) a ~ a4 r4 |

  r4 r16 d,16 a'( g) a8 g16( a ~ a4) |
  r4 r16 d,16 a'( g a8 g16) g ~ g4 |
  r4 r16 d16 (g f) g8. f16 g f g( a ~ |
  a2) r2 |

  % pre-chorus
  r8\mp e f4 r8 e8 f4 |
  \repeat unfold 2 { r8 e f4 r8 e8 f4 | }
  r8 e f e f4 e |
  d8 e f4 bf,8 e f4 |
  c8 e f4 cs8 e f4 |
  r8 d e f r d e f |
  r8 c f c ~ c c e4 \bar "||" |

  % chorus
  \trumpetChorus
  f2 r2 |

  r1 | r1| r1 |

  d16\p e f e a2 f16 e d c |
  bf16 c d c g'4 ~ g4. f16 e |
  d16 e f e d2 c16 d e f |
  g a a g a2 e16 d c8 |
  d16 e f8 ~ f2 bf16 a g f |
  g16 f e d bf2 bf16 c d e |
  f e d e f2 e16 d c bf |
  a2 r2 |

  % pre-chorus
  f''8\f e d c ~ c4 bf8 c ~ |
  c d4. r2 |
  f8 e d c ~ c4 a8 c ~ |
  c2 r2 |
  f8 e d c ~ c4 a8 c ~ |
  c d4. r4 r8. f,16 |
  bf8 a g f ~ f g4 g8 ~ |
  g2 r2 |

  \trumpetChorus


  % interlude
  f4 r16 a\mf e'( d) f4. g16( a) |
  a8( bf16) bf ~ bf4 ~ bf8 r8 r4 |
  r4 r16 bf,( d cs) d( e8. ~ e8.) g16 |
  g8( a16) a ~ a4 r2 |
  r4 r16 a, e'( d) \times 2/3 { d8 d d } \times 2/3 { d c bf } |
  \times 2/3 { bf c4 } r16 bf bf( c32 bf a16) bf8. r4 |
  r4 r16 a'[ r16 f32( e)] f4 ~ f16[ e r d32( cs] |
  d2) f,4 g |

  % pre-chorus
  a8\p( g f) e ~ e4 d8 f8 ~ | f g4 r8 r8 e f4 |
  a8( c bf) a ~ a4 f8 g8 ~ | g4 a8\f c ~ c4 d8 a ~ |
  a4 f8\p a ~ a4 f8 g ~ | g g4 r8 r e f4 |
  r2 r8 f'4 g8( ~ | g2. ~ g8 f | e2) r2 \bar "||" |

  \key g \major
  g,4\ff d'8 d ~ d4 g,8 d' ~ |
  d4 c8 b ~ b a4 r16 fs |
  g8 d'4 d8 ~ d4 b8 d ~ |
  d b a2 r4 |
  g4 d'8 d ~ d4 g,8 b( |
  a) a r4 c8( b a) g ~ |
  g r8 a( b16) g ~ g4 r8. e16 |
  g8 a b a ~ a r e fs16 g ~ |
  g8 a b c a g4 a16( g ~ |
  g2) r2 |

  r1 | r1 | r1 |

  r1 |
  r4 g8\mp g ~ g a4 g8 ~ |
  g4 r8 g ~ g a4 b8 ~ |
  b c4 b8 ~ b a4 g8 ~ |
  g4 r4 r2 |
  r4 g8 g ~ g a4 g8 ~ |
  g4 r8 g ~ g a4 b8 ~ |
  b c4 b8 ~ b a4 g8 ~ |
  g2 r2 |

  r1 | r1 |

}

trumpet = \new Staff \with {
  instrumentName = "Trumpet"
  midiInstrument = #"trumpet"
} { \clef treble \relative c' \trumpetMusic  }

clarinetChorus = \relative c' {
  r8\p^"Chorus" c( f) c r c( f) c |
  r c( f) c r c( e8) r16 c' |
  c8 f4 f8 ~ f d4 f8 ~ |
  f d( c4) r2 |

  r8 c,( f) c r c( f) c |
  r c( f4) cs'8 cs cs( d) |
  r8 e,( f) d r e( f) c |
  r d( g) d r d( g) d |
  r c( f) c r c( f4 ~ |
}

clarinetMusic = \relative c' {
  \global
  \clef treble
  \set Staff.midiMinimumVolume = #0.2
  \set Staff.midiMaximumVolume = #0.5

  r1 | r1 |
  r4 r16 bf'\mf d( cs d e8. ~ e8) f16( g) | g8( a16) a ~ a4 r8 c,,16\p( d e16 d) c8 |
  d2( c2 | bf1) |
  r4 r16 bf'\mf d( cs d e8. ~ e8) f |
  \grace { e16( f16 } e8 d16) d ~ d2 r4 |

  % verse 1
  d,2(^"Verse 1"\p c | bf2.) d8( e | f2 g | a2) r8 c,16( d e d c8) |

  d4.( e8 f2 | g4) bf8 a ~ a4 g8( a) |
  bf2( c | d4. e8 ~ e) a,16( cs) e( d cs8) |

  % pre-chorus
  f8(^"Pre-chorus"\f e d) c! ~ c4 bf8  c ~ | c d4 r8 r2 |
  f8( e d) c ~ c4 a8 c ~ | c2 r2 |
  f8( e d) c ~ c4 a8 c ~ | c d4 r8 r2 |
  bf8( a) g f ~ f g4 g8 ~ | g2 r2 |

  % chorus
  \clarinetChorus
  f2) r2 |

  r1 | r1 | r1 |

  r4^"Verse 2" r16 d16\f a'( g) a8 g16( a ~ a4) |
  r4 r8 d,16 a' ~ a8( g16) g ~ g4 |
  r4 r16 d g f g8 f16 g f4 |
  r4 r16 d g f g8 a16 a ~ a4 |
  r8. a16 f'8 f16 e ~ e d16 a8 ~ a4 |
  r4 r16 d, a' g ~ g a g g ~ g4 |
  r4 r16 d g f g8. f16 g f g( a ~ |
  a2) r2 |

  d,8^"Pre-chorus"\p e f f ~ f4 f8 g ~ |
  g g4. e8 d cs a |
  d e f f ~ f4 f8 g ~ |
  g2 e8 d cs a |
  d e f f ~ f4 f8 g ~ |
  g g4. e8 d cs a |
  d c! d d ~ d c4 c8 ~ |
  c2 r2 |

  \clarinetChorus

  % interlude
  f2) r2 |
  r2 r8 f'16\mf( g32 f e8) f16( g ~ |
  g4) r4 r2 |
  r4 r8. a,16 f'8. e16 \grace e16( d8) g,16( a ~ |
  a4) r16 a e'( d) \times 2/3 { f8 f f } \times 2/3 { f e d } |
  \times 2/3 { d e4 } r4 r4 r16 a[ r16 g32( f)] |
  g4 r4 r4 r16 e[ r16 d32( cs] |
  d2) a4 c! |

  % pre-chorus
  f8(^"Pre-chorus"\f e d) c ~ c4 bf8 c ~ | c d4 r8 r2 |
  f8( e d) c ~ c4 a8 c ~ | c2 r2 |
  f8( e d) c ~ c4 a8 c ~ | c d4 r8 r2 |
  bf8( a) g f ~ f a4 c8 ~ | c1 ~ | c2 r2 |

  \key g \major
  g4\ff g'8 g ~ g4 d8 g ~ |
  g4 e8 e ~ e d4 r8 |
  g,8 g'4 g8 ~ g4 e8 g ~ |
  g e d2 r4 |
  g,4 g'8 g ~ g4 e8 e ~ |
  e d r4 c8( b a) g ~ |
  g r8 a( b16) g ~ g4 r8. e16 |
  g8 a b a ~ a r8 e'8 fs16 g ~ |
  g8 a b c a g4 a16( g ~ \bar "||" |
  g2) r2 |

  r1 | r1 | r1 |

  r1^"Outro" |
  r4 b,8\mp b ~ b c4 b8 ~ |
  b4 r8 b ~ b c4 d8 ~ |
  d e4 d8 ~ d c4 b8 ~ |
  b4 r4 r2 |
  r4 b8 b ~ b c4 b8 ~ |
  b4 r8 b ~ b c4 d8 ~ |
  d e4 d8 ~ d c4 b8 ~ |
  b2 r2 |

  r1 | r1 |
}

chordExceptionMusic = {
  <c e g b d'>1-\markup { "maj9" }
  <c e g b fs'>1-\markup { "maj7" \sharp "11" }
}

chordExceptions = #(append
  (sequential-music-to-chord-exceptions chordExceptionMusic #t)
  ignatzekExceptions
)

verseChords = \chordmode {
  d2:m f:1.3.5.9/c | g1:1.3-.5.9 |
  bf2:1.3.5.6.9 c:sus4 | d4.:m a8:m11 ~ q2 |
  d2:m f:1.3.5.9/c | g1:1.3-.5.9 |
  bf2:1.3.5.6.9 c:1.3.5.9 | g4.:m/a a8:7 ~ q2 |
}

preChorusChords = \chordmode {
  \repeat unfold 3 { d2:m bf:maj7 | c a:7 | }
}

chorusChords = \chordmode {
  f2:/a bf | c1:sus4 |
  f2:/a bf | c:sus4 d:m |
  f:/a bf | c:sus4 a:7 |
  d:m d:m/c | g1:/b |
  bf2 c:sus4 |
}

introChords = \chordmode {
  d2:1.3-.5.9 f:1.3.5.7+.9/c | g1:1.3-.5.9 |
  g2:m/a a:7 | d:1.3-.5.9 a:m11 |
  d2:1.3-.5.9 f:1.3.5.7+.9/c | g1:1.3-.5.9 |
  g2:m/a a:7 |
}

chordValues = {
  \chordmode {
    \set additionalPitchPrefix = #"add"
    \set majorSevenSymbol = \markup { "maj7" }
    \set chordNameExceptions = #chordExceptions

    % intro
    \introChords
    d4.:1.3-.5.9 d:1.3-.5.9/a bf4:1.3.5.7+.11+ |

    \verseChords
    \preChorusChords | bf1 | c2:sus4 c |
    \chorusChords

    \repeat unfold 2 { f2 d:m | bf c:sus4 | }

    \verseChords
    \preChorusChords | bf1 | c2:sus4 c |
    \chorusChords

    \introChords
    d2:1.3-.5.9 d4:1.3-.5.9/a c:sus4 |

    \preChorusChords | bf1 | c:sus4 | c |

    \transpose c d \chorusChords
    \repeat unfold 6 { g2 e:m | c d:sus4 | }
    g1 | g1 | g1 |
  }
}

\score {
  <<
    \new ChordNames {
      \set chordChanges = ##t
      \chordValues
    }
    \new Staff \with { \consists "Ambitus_engraver" instrumentName = "Clarinet" } { \transpose c bf, \clarinetMusic }
    \new Staff \with { \consists "Ambitus_engraver" instrumentName = "Trumpet" } { \transpose c bf, \trumpetMusic }
    \pianoPart
  >>
  \layout {
    \context {
      % \Staff \RemoveEmptyStaves
      \override Glissando.minimum-length = #4
      \override Glissando.springs-and-rods = #ly:spanner::set-spacing-rods
      \override Glissando.thickness = #2
    }
  }
}

\score {
  <<
    \new Staff \with { midiInstrument = #"clarinet" } { \clarinetMusic }
    \new Staff \with { midiInstrument = #"trumpet" } { \trumpetMusic }
    \pianoPart
  >>
  \midi {}
}