\version "2.24.3"

#(set-default-paper-size '(cons (* 210 mm) (* 5000 mm)))

\header {
  tagline = #f
}

voxOne = \relative {
  \time 4/4
  \key e \major
  \tempo 4 = 185
  \newSpacingSection
  \override Score.SpacingSpanner.spacing-increment = #0.1
  \partial 256 s256 |
  \newSpacingSection
  \revert Score.SpacingSpanner.spacing-increment
  \bar "||"
  \xNotesOn
  \stemDown
  s1*7 |
  r2\ff r8 fis' gis fis |
  gis8. gis fis8 gis4 gis~ |
  gis4 r4 r4. b8 |
  b8 b b b b2 |
  s1*10 |
  r2. gis8 fis |
  gis fis gis fis gis4 gis~ |
  gis2 r4 gis8 gis |
  gis8. gis gis8 gis4 gis~ |
  \afterGrace gis4.\glissando { \hideNotes dis16 } \unHideNotes r8 r2 |
  s1 |
  \time 3/2
  s1.*2 |
  \time 11/8
  s1 s4. |
  \time 2/4
  s2 |
  \bar "||"
}

lyricsOne = \lyricmode {
  I keep a val -- ley be -- tween us,
  So we can ne -- ver touch.
  Ei -- ther way, \markup { \concat { you \char ##x2019 ll } } meet the same fate
  as a coal -- mine ca -- na -- ry.
}

voxTwo = \relative {
  \time 4/4
  \key e \major
  \partial 256 s256 |
  \xNotesOn
  \stemUp
  s1*14 |
  r2. gis'8 fis |
  gis4 gis8 fis gis4 gis~ |
  gis4 r r8 gis8 8 8 |
  gis8. gis gis4 gis4.(\glissando |
  \afterGrace b4.)\glissando { \hideNotes fis16 } \unHideNotes r8 r2 |
  s1*8 |
  \time 3/2
  s1.*2 |
  \time 11/8
  s1 s4. |
  \time 2/4
  s2 |
}

lyricsTwo = \lyricmode {
  Wal -- low \markup { \concat { \char ##x2019 round } } in the de -- sert,
  Or in the tren -- ches sin -- \markup { \concat { kin \char ##x2019 . } }
}

gtrOne = \relative {
  \time 4/4
  \key e \major
  \partial 256 s256 |
  <cis e gis>4.\f^\markup { \italic { distortion on } } r8 r2 |
  R1 |
  <cis e gis>4. r8 r2 |
  R1 |

  <a' cis e>4. r8 r2 |
  <cis, b' dis fis>4. r8 r2 |
  <cis fis ais>2 <cis e gis> |
  \repeat unfold 2 {
    <cis e gis>4.-. \repeat tremolo 2 <e' gis>16 \repeat tremolo 8 q16 |
    \repeat tremolo 16 q16 |
    <cis, e gis>4.-. \repeat tremolo 2 <gis'' b>16 \repeat tremolo 8 q16 |
    \repeat tremolo 16 q16 |
    <gis, cis e>4.-. \repeat tremolo 2 <cis dis>16 \repeat tremolo 8 q16 |
    <cis, b' dis fis>4.-. \repeat tremolo 2 <dis' e>16 \repeat tremolo 8 q16 |
    <cis, fis ais>2 <cis e gis> |
  }
  <cis e gis>4.-. \repeat tremolo 2 <e' gis>16 \repeat tremolo 8 q16 |
  \repeat tremolo 16 q16 |
  <cis, e gis>4.-. \repeat tremolo 2 <gis'' b>16 \repeat tremolo 8 q16 |
  \repeat tremolo 16 q16 |
  <gis, cis e>4.-. \repeat tremolo 2 <cis dis>16 \repeat tremolo 8 q16 |
  <cis, b' dis fis>4.-. \repeat tremolo 2 <dis' e>16 \repeat tremolo 8 q16 |
  \time 3/2
  <cis, fis ais>2 <cis e gis>1 |
  <cis fis ais>2 <cis e gis>1 |
  \time 11/8
  <cis fis ais>2 <cis e gis>2~ q4. |
  \time 2/4
  <cis fis ais>4 r |
}

gtrTwo = \relative {
  \time 4/4
  \key e \major
  \partial 256 s256 |
  <b, e gis>4.\f^\markup { \italic { distortion on } } r8 r2 |
  R1 |
  <b e gis>4. r8 r2 |
  R1 |
  <a' cis e>4. r8 r2 |
  <cis, b' dis fis>4. r8 r2 |
  <cis fis ais>2 <b e gis> |
  \repeat unfold 2 {
    \repeat unfold 2 {
      <b e gis>4. r8 r2 |
      R1 |
    }
    <a' cis e>4. r8 r2 |
    <cis, b' dis fis>4. r8 r2 |
    <cis fis ais>2 <b e gis> |
  }
  \repeat unfold 2 {
    <b e gis>4. r8 r2 |
    R1 |
  }
  <a' cis e>4. r8 r2 |
  <cis, b' dis fis>4. r8 r2 |
  \time 3/2
  <cis fis ais>2 <b e gis>1 |
  <cis fis ais>2 <b e gis>1 |
  \time 11/8
  <cis fis ais>2 <b e gis>2~ q4. |
  \time 2/4
  <cis fis ais>4 r |
}

bass = \relative {
  \time 4/4
  \key e \major
  \partial 256 s256 |
  e,,4.\f r8 r2 |
  R1 |
  e4. r8 r2 |
  R1 |
  a4. r8 r2 |
  b4. r8 r2 |
  fis2 e |
  \repeat unfold 2 {
    \repeat unfold 2 {
      e4. r8 r2 |
      R1 |
    }
    a4. r8 r2 |
    b4. r8 r2 |
    fis2 e |
  }
  \repeat unfold 2 {
    e4. r8 r2 |
    R1 |
  }
  a4. r8 r2 |
  b4. r8 r2 |
  \time 3/2
  \repeat unfold 2 { fis2 e1 | }
  \time 11/8
  fis2 e2~ e4. |
  \time 2/4
  \afterGrace fis2\glissando { \hideNotes e'16 } \unHideNotes |
}

kitOne = \drummode {
  \time 4/4
  \partial 256 s256 |
  \repeat unfold 2 {
    cymc2 <sn hh>16-> hh hh hh hh-> hh hh hh |
    hh8 hho r hh <sn hh>-> hh16 hh hh-> hh hh hh |
    hho4 r <sn hh>16-> hh hh hh hh-> hh hh hh |
    hh8 hho r hh <sn hho>4 hh16-> hh hh hh |
    \repeat percent 2 { hho4 r <sn hh>16-> hh hh hh hh-> hh hh hh | }
    cymc2 <sn cymc> |
  }
  cymc2 <sn hh>16-> hh hh hh hh-> hh hh hh |
  hh16-> hh hh hh hh-> hh hh hh <sn hh>-> hh hh hh hh-> hh hh hh |
  hho4 r <sn hh>16-> hh hh hh hh-> hh hh hh |
  hh16-> hh hh hh hh-> hh hh hh <sn hh>-> hh hh hh hh-> hh hh hh |
  \repeat percent 2 { hho4 r <sn hh>16-> hh hh hh hh-> hh hh hh | }
  cymc2 <sn cymc> |
  cymc2 <sn hh>16-> hh hh hh hh-> hh hh hh |
  hh16-> hh hh hh hh-> hh hh hh <sn hh>-> hh hh hh hh-> hh hh hh |
  hho4 r <sn hh>16-> hh hh hh hh-> hh hh hh |
  hh16-> hh hh hh hh-> hh hh hh <sn hh>-> hh hh hh hh-> hh hh hh |
  \repeat percent 2 { hho4 r <sn hh>16-> hh hh hh hh-> hh hh hh | }
  \time 3/2
  \repeat unfold 2 { cymc2 <sn cymr>1 | }
  \time 11/8
  cymc2 <sn cymr~>2 cymr4. |
  \time 2/4
  cymc2 |
}

kitTwo = \drummode {
  \time 4/4
  \partial 256 s256 |

  bd4\f \parenthesize hhp8 bd r2 |
  r8 bd \parenthesize hhp bd16 bd r2 |
  bd4 hhp8 bd r2 |
  r8 bd \parenthesize hhp bd16 bd r2 |
  \repeat percent 2 { bd4 hhp8 bd r2 | }
  bd4 hhp bd hhp8 bd |

  bd4 \parenthesize hhp8 bd r2 |
  r8 bd \parenthesize hhp bd16 bd r2 |
  bd4 hhp8 bd r2 |
  r8 bd \parenthesize hhp bd16 bd r2 |
  \repeat percent 2 { bd4 hhp8 bd r2 | }
  bd4 hhp bd hhp8 bd |

  bd4 \parenthesize hhp8 bd r2 |
  r8 bd bd4 r2 |
  bd4 hhp8 bd r2 |
  r8 bd bd4 r2 |
  \repeat percent 2 { bd4 hhp8 bd r2 | }
  bd4 hhp bd hhp8 bd |
  bd4. bd8 r2 |
  r8 bd bd4 r2 |
  bd4 hhp8 bd r2 |
  r8 bd bd4 r2 |
  \repeat percent 2 { bd4 hhp8 bd r2 | }
  \time 3/2
  bd4 hhp bd1 |
  bd2 bd1 |
  \time 11/8
  bd2 bd r4. |
  \time 2/4
  bd2 |
}

fullScore = <<
  \new Staff = "voxStaff" \with {
    midiInstrument = "marimba"
    midiPanPosition = #0.0
  } <<
    \clef "treble"
    \new Voice = "voxv1" { \voiceTwo \voxOne }
    \new Voice = "voxv2" { \voiceOne \voxTwo }
    \new Lyrics \lyricsto "voxv1" { \lyricsOne }
    \new Lyrics \with { alignAboveContext = "voxStaff" } {
      \lyricsto "voxv2" { \lyricsTwo }
    }
  >>

  \tag #'folded {
    \new Staff {
      \clef "treble_8"
      \gtrOne
    }
  }
  \tag #'unfolded {
    \new Staff \with {
      midiInstrument = "overdriven guitar"
      midiPanPosition = #-1.0
    } {
      \clef "treble_8"
      \unfoldRepeats { \gtrOne }
    }
  }

  \new Staff \with {
    midiInstrument = "distorted guitar"
    midiPanPosition = #1.0
  } {
    \clef "treble_8"
    \gtrTwo
  }

  \new Staff \with {
    midiInstrument = "electric bass (pick)"
    midiPanPosition = #0.0
  } {
    \clef "bass_8"
    \bass
  }

  \tag #'folded {
    \new DrumStaff \with { drumStyleTable = #weinberg-drums-style } <<
      \new DrumVoice { \voiceOne \kitOne }
      \new DrumVoice { \voiceTwo \kitTwo }
    >>
  }
  \tag #'unfolded {
    \new DrumStaff \with { drumStyleTable = #weinberg-drums-style } <<
      \new DrumVoice { \unfoldRepeats { \voiceOne \kitOne } }
      \new DrumVoice { \unfoldRepeats { \voiceTwo \kitTwo } }
    >>
  }
>>

\score {
  \removeWithTag #'unfolded
  \fullScore

  \layout {
    indent = 0

    \context {
      \Score
      \override Glissando.minimum-length = #4
      \override Glissando.springs-and-rods = #ly:spanner::set-spacing-rods
      \override Glissando.thickness = #2
    }

    \context {
      \StaffGroup
      \RemoveAllEmptyStaves
    }
  }
}

\score {
  \removeWithTag #'folded
  \fullScore

  \midi { }
}
