\version "2.20.0"
\language "english"

\header {
  title = "A New Day (guitar solo)"
  composer = "Tommy Montgomery"
  copyright = "(c) 2021 Tommy Montgomery"
}

global = {
  \key d \minor
  \set Staff.printKeyCancellation = ##f
  \numericTimeSignature
  \compressFullBarRests
  \omit Voice.StringNumber
  \override TupletBracket #'bracket-visibility = #'if-no-beam
  \override MultiMeasureRest.expand-limit = #3
  \override Score.ChordName.font-name = #"Noto Serif"
  \override Score.ChordName.font-size = #0
  \override Score.LyricText.font-name = #"Noto Serif"
  \override Score.LyricText.font-size = #0
  \tempo 4 = 76
}

global = {
  \key d \minor
  \set Staff.printKeyCancellation = ##f
  \numericTimeSignature
  \compressFullBarRests
  \omit Voice.StringNumber
  \override TupletBracket #'bracket-visibility = #'if-no-beam
  \override MultiMeasureRest.expand-limit = #3
  \override Score.ChordName.font-name = #"Noto Serif"
  \override Score.ChordName.font-size = #0
  \override Score.LyricText.font-name = #"Noto Serif"
  \override Score.LyricText.font-size = #0
  \tempo 4 = 152
}

guitarOne = \relative c'' {
  \time 7/8 d2 d4 a'8 |
  \time 4/4 g4. g16 g g8 a c\glissando( d) |
  \time 7/8 \grace c8( d2) f4.  |
  \time 4/4 e2 e16( c) g e c e g c |
  \time 7/8 d2 f4-. a8 |
  \time 4/4 g4( fs8) d8 ~ d c,16 e g c e g |
  \time 7/8 f!4. e8 f \tuplet 3/2 { e16( f e) } d8 |
  \time 4/4 d2\harmonic \ottava #1 bf'16( f) e c \ottava #0 bf a f e |

  \time 7/8 d2 d8[( e16 d]\glissando c8) |
  \time 4/4 d4. d16 d d8 e f g |
  \time 7/8 g4 c8[ f,] ~ f[ c' e,] ~ |
  \time 4/4 e c' c,4 c'2 |
  \time 7/8 \tuplet 3/2 4 { bf,8( d) f( bf) c( d) } bf,16( d) f( bf) c( d) |
  \tuplet 3/2 4 { c,8( e) g( c) d( e) } c,16( e) g( c) d( e) |
  d4 e f g16\glissando( a) |
  \time 5/4 a4 a16( g) a8 ~ a2. |

}

guitarOneStaff = \new Staff \with { midiInstrument = "distorted guitar" midiMaximumVolume = #0.6 }{ \global \guitarOne }


chordExceptionMusic = {
  <c e g b d'>1-\markup { "maj9" }
  <c e g b fs'>1-\markup { "maj7" \sharp "11" }
  <c ef f g bf>1-\markup { "m7sus4" }
  <c ef gf bff>1-\markup { "°7" }
  <c e g d'>1-\markup { "add9" }
  <c ef g d'>1-\markup { "m(add9)" }
  <c e fs as>1-\markup { \super { \sharp "11" \sharp "13" } }
  <c g>1-\markup { "5" }
  <c e g bf>1-\markup { "7" }
  <c e g b>1-\markup { "maj7" }
  <c ef g bf>1-\markup { "m7" }
  <c f g>1-\markup { "sus4" }
  <c d g>1-\markup { "sus2" }
  <c e g bf df'>1-\markup { "7" \super { \flat "9" } }
  <c e g f'>1-\markup { "add11" }
  <c e g b d' f' a'>1-\markup { "maj13" }
}

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

chordValues = \chordmode {
  \global
  \powerChords
  \set chordNameExceptions = #chordExceptions
  \set majorSevenSymbol = \markup "maj7"

  d2..:1.5 | q1 | f2..:1.5 | c1 |
  d2..:1.5 | q1 | g2..:1.5 | bf2:1.5 q8 c4.:1.5 |
  d2..:1.5 | q1 | f2..:1.5 | c1 |
  bf2.. | c | a:7sus4 | a1:7 q4 |

}

chordNames = \new ChordNames {
  \set chordChanges = ##t
  \chordValues
}

\score {
  <<
    \chordNames
    \guitarOneStaff
  >>
  \layout {
    \context {
      \Staff \RemoveEmptyStaves
      \override Glissando.minimum-length = #4
      \override Glissando.springs-and-rods = #ly:spanner::set-spacing-rods
      \override Glissando.thickness = #2
      \override VerticalAxisGroup.remove-first = ##t
    }
  }
}

guitarOneStaff = \new Staff \with { midiInstrument = "distorted guitar" midiMaximumVolume = #0.6 }{ \global \guitarOne }