\version "2.24.3"

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

\header {
  tagline = #f
}

gtrOne = \relative {
  \time 4/4
  \key fis \minor
  \tempo 4 = 147
  \set Score.currentBarNumber = #0
  \set TabStaff.minimumFret = #4
  s2\mf s4 s8 a8 \bar ".|:"
  a8 cis8 cis8 cis'8
  cis8 fis,8 fis8 a,8 |
  a8 cis8 cis8 cis'8
  cis8 fis,8 fis8 a,8 |
  a8 cis8 cis8 b'8
  b8 fis8 fis8 a,8 |
  a8 cis8 cis8 b'8
  b8 fis8 fis8 cis8 |
  cis8 d8 d8 gis8
  gis8 d8 d8 cis8 |
  cis8 d8 d8 gis8
  gis8 d8 d8 cis8 |
  d8\glissando e8~ e8 a8
  a8 e8 e4 |
  r8 e8 e8 a8 a8 e8 e8 a,8 \bar ":|."
}

gtrTwoVoiceOne = \relative {
  \time 4/4
  \key fis \minor
  \tempo 4 = 147
  \set TabStaff.minimumFret = #3
  s1\mf \bar ".|:"
  s8 fis8 fis8 e'8 e8
  fis,8 fis4~ |
  fis8 fis8 fis8 e'8
  e8 fis,8 fis4~ |
  fis8 fis8 fis8 d'8 d8
  fis,8 fis4~ |
  fis8 fis8 fis8 d'8 d8
  fis,8 fis8 s8 |
  s8 fis8 fis8 e'8 e8
  fis,8 fis4~ |
  fis8 fis8 fis8 e'8
  e8 fis,8 fis4~ |
  fis8 fis8 fis8 d'8 d8
  fis,8 fis4~ |
  fis8 fis8 fis8 d'8 d8
  fis,8 fis8 s8 \bar ":|."
}

gtrTwoVoiceTwo = \relative {
  \time 4/4
  \key fis \minor
  \tempo 4 = 147
  \set TabStaff.minimumFret = #3
  s2 s4 s8 fis8\4 \bar ".|:"
  fis8\4 s8 s4 s2 s1*2 |
  s2 s4. fis8\4 |
  fis8\4 s8 s4 s2 s1*2 |
  s2 s4. fis8\4 \bar ":|."
}

bass = \relative {
  \time 4/4
  \key fis \minor
  \tempo 4 = 147
  s2\mf s4 s8 e,,8 \bar ".|:"
  e8 fis8~ fis4~
  fis8\parenthesize fis8 e8 fis8 |
  fis8 fis4 fis8 e8\glissando
  fis8 a8\glissando b8 |
  b8 d,8~ d8 a'8 d,4
  cis8( d8) |
  \afterGrace d8\glissando { \hideNotes a'16\4 } \unHideNotes b8 b8 b8
  b8 ais8 ais8 cis,8 |
  e8 fis8~ fis8 fis8
  fis8\parenthesize fis8 e8\glissando fis8 |
  fis8 fis8 fis8 fis8
  e8\glissando fis8 a8 b8 |
  b8 d,8 d4~ d4 cis8(
  d8\glissando |
  e8) e8 e8 e8 cis8
  cis8 cis8 cis8 \bar ":|."
}

kitOne = \drummode {
  s2\mf \grace { sn16( sn } sn) sn8 sn16 sn4 \bar ".|:"
  \repeat unfold 3 {
    hho8 hho \parenthesize hh \parenthesize hh
    <sn hh> \parenthesize hh16 sn hh8 \parenthesize hh |
  }
  hho4\f hho hho <sn hho>8. sn16 |
  hho8\mf hho \parenthesize hh \parenthesize hh
  <sn hh> <\parenthesize sn \parenthesize hh>16 sn hh8 \parenthesize hh |
  hh^\markup { \right-align \concat { "[" \italic "sic" "]" } } hho \parenthesize hh \parenthesize hh
  <sn hh> <\parenthesize sn \parenthesize hh>16 sn hh8 \parenthesize hh |
  hho hho \parenthesize hh \parenthesize hh <sn hh> \parenthesize hh16 sn hho4 |
  hho4\f hho hho <sn hho>8. sn16 |
}

kitTwo = \drummode {
  s2 s4 s8 bd \bar ".|:"
  bd bd r4 r r8 bd |
  \repeat unfold 2 { bd8 bd r bd r4 r8 bd | }
  bd bd r bd bd2 |
  \repeat unfold 3 { bd8 bd r bd r4 r8 bd | }
  bd bd bd bd bd2 \bar ":|."
}

fullScore = <<
  \new GrandStaff <<
    \new Staff \with {
      midiInstrument = "electric guitar (clean)"
      midiPanPosition = #-1.0
    } {
      \clef "treble_8"
      \gtrOne
    }
    \tag #'tablature {
      \new TabStaff {
        \set Staff.stringTunings = \stringTuning <cis, gis, cis fis ais dis'>
        \clef moderntab
        \gtrOne
      }
    }
  >>

  \new GrandStaff <<
    \new Staff \with {
      midiInstrument = "electric guitar (jazz)"
      midiPanPosition = #1.0
    } <<
      \clef "treble_8"
      \new Voice = "g2v1" { \voiceOne \gtrTwoVoiceOne }
      \new Voice = "g2v2" { \voiceTwo \gtrTwoVoiceTwo }
    >>
    \tag #'tablature {
      \new TabStaff <<
        \set Staff.stringTunings = \stringTuning <cis, gis, cis fis ais dis'>
        \clef moderntab
        \new TabVoice = "g2v1" { \voiceOne \gtrTwoVoiceOne }
        \new TabVoice = "g2v2" { \voiceTwo \gtrTwoVoiceTwo }
      >>
    }
  >>

  \new GrandStaff <<
    \new Staff \with {
      midiInstrument = "electric bass (pick)"
      midiPanPosition = #0.0
    } {
      \clef "bass_8"
      \bass
    }
    \tag #'tablature {
      \new TabStaff {
        \set Staff.stringTunings = \stringTuning <cis,, gis,, cis, fis,>
        \clef moderntab
        \bass
      }
    }
  >>

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

\score {
  \fullScore

  \layout {
    indent = 0

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

\score {
  \removeWithTag #'tablature
  \fullScore

  \midi { }
}
