%{
    The Legend of Zelda:  The Wind Waker
    Dragon Roost Island
    Arranged for ukulele by Steve Yegge

    G' C, E A

\fretboard #"w:4;4-;3-;2-;1-;"

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

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

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

intro = \relative c' {
  \fingerRight
  %% measure 1
  \fretboard #"2;2;2;5;"
  <a'-1 d,-1 fs-1 d'-4>8\4\3\2\1
  <a d, fs d'>16\4\3\2\1
  <a d, fs d'>16\4\3\2\1
  <a d, fs d'>8\4\3\2\1
  <a d, fs d'>8\4\3\2\1
  ~
  <a d, fs d'>4\4\3\2\1
  ~
  | %% measure 2
  <a d, fs d'>2.\4\3\2\1

  | %% measure 3
  \set Staff.midiInstrument = #"woodblock"
  <\x c,>8 -. ^\markup \italic "(tapping)" <\x c>
  <\x c> -. <\x c>
  <\x c> -. <\x c>

  | %% measure 4
  <\x c>8 -.
  <\x c>16 <\x c>
  <\x c>8 -. <\x c>
  <\x c>8 -. <\x c>
  \unset Staff.midiInstrument
  |
}

gmf = \relative c' {
  | %% measure 5
  \fretboard #"o;10;10;10;"
  <g'-0 bf-3 d-3 g-3>8\4\3\2\1
  <g bf d g>16\4\3\2\1
  <g bf d g>\4\3\2\1
  <g bf d g>8\4\3\2\1
  <g bf d g>8\4\3\2\1
  <g bf d g>8\4\3\2\1
  <g bf d g>8\4\3\2\1

  |  %% measure 6
  \fretboard #"5;5;5;8;"
  <c-1 f,-1 a-1 f'-4>4\4\3\2\1
  <c f, a f'>4\4\3\2\1
  <c f, a f'>4\4\3\2\1

  | %% measure 7
  \fretboard #"o;10;10;10;"
  <g-0 bf-3 d-3 g-3>8\4\3\2\1
  <g bf d g>16\4\3\2\1
  <g bf d g>\4\3\2\1
  <g bf d g>8\4\3\2\1
  <g bf d g>8\4\3\2\1
  <g bf d g>8\4\3\2\1
  <g bf d g>8\4\3\2\1

  |  %% measure 8
  \fretboard #"5;5;5;8;"
  <c-1 f,-1 a-1 f'-4>4\4\3\2\1
  <c f, a f'>4\4\3\2\1
  d,\3
}

themeA = \relative c' {
  | %% measure 9
  \fretboard #"o;2;3;1;"
  <d g g bf>4.\3\4\2\1
  a'8 bf g

  | %% measure 10
  \fretboard #"2;o;1;3;"
  <c, f a c>4.\3\2\4\1
  \fretboard #"2;o;1;o;"
  <c f a a>4.\3\2\4\1

  | %% measure 11
  \fretboard #"o;2;3;1;"
  <d g g bf>4.\3\4\2\1
  <d g g bf>8\3\4\2\1
  <d g g bf>\3\4\2\1
  <d g g bf>\3\4\2\1

  | %% measure 12
  \fretboard #"2;o;1;o;"
  <c f a a>4\3\2\4\1
  <c f a a>\3\2\4\1
  d\3

  | %% measure 13
  \fretboard #"o;2;3;1;"
  <d g g bf>4.\3\4\2\1
  a'8 bf g

  | %% measure 14
  \fretboard #"2;o;1;3;"
  <c, f a c>4.\3\2\4\1
  \fretboard #"5;5;5;8;"
  <c' f, a f'>4.\4\3\2\1

  | %% measure 15 -- Bf
  \fretboard #"3;2;1;5;"
  <d, f bf d>4.\3\2\4\1
  <d f bf d>8\3\2\4\1
  <d f bf d>8\3\2\4\1
  <d f bf d>8\3\2\4\1

  | %% measure 16 -- Bf
  <d f bf d>4\3\2\4\1
  <d f bf d>4\3\2\4\1

  \fretboard #"3;2;1;1;"
  <d f bf bf>8\3\2\4\1
  <d f bf bf>8\3\2\4\1

  | %% measure 17 -- Af
  \fretboard #"5;3;4;3;"
  <ef af c c>8.
  d'16
  <ef, af c c>2

  | %% measure 18
  <ef af c c>4
  <ef af c c>8
  c' af c\4

  | %% measure 19
  \fretboard #"o;2;3;1;"
  <d, g g bf>4\3\4\2\1
  <d g g>4.\3\4\2
  <g bf>8\2\1

  | %% measure 20
  <d g g bf>8\3\4\2\1
  <d g g bf>16\3\4\2\1
  <d g g bf>16\3\4\2\1
  <d g g bf>8\3\4\2\1
  <d g g bf>8\3\4\2\1
  <d g g>8\3\4\2
  <g bf>8\2\1

  | %% measure 21
  \fretboard #"o;o;1;3;"
  <g c, f c'>8.\4\3\2\1
  \fretboard #"o;o;1;5;"
  <f d'>16\2\1
  <g c, f c'>4.\4\3\2\1
  \fretboard #"o;o;1;3;"
  <g c, f c'>8\4\3\2\1

  | %% measure 22
  \fretboard #"o;5;5;3;"
  <g f a c>8\4\3\2\1
  <g f a c>16\4\3\2\1
  <g f a c>16\4\3\2\1
  <g f a c>8\4\3\2\1
  \fretboard #"o;5;5;1;"
  <g f a bf>8\4\3\2\1
  <g f a bf>8\4\3\2\1
  <g f a bf>8\4\3\2\1

  | %% measure 23
  \fretboard #"o;3;3;1;"
  <g ef g bf>8\4\3\2\1
  <g ef g bf>16\4\3\2\1
  <g ef g bf>16\4\3\2\1
  <g ef g bf>8\4\3\2\1
  <g ef g bf>8\4\3\2\1
  <g ef g bf>8\4\3\2\1
  <g ef g bf>8\4\3\2\1

  | %% measure 24
  \fretboard #"o;3;3;1;"
  <g ef g bf>4\4\3\2\1 ->
  <g ef g bf>4\4\3\2\1 ->
  <g ef g bf>4\4\3\2\1 ->
}

altOne = \relative c' {
  | %% measure 25
  \fretboard #"o;3;3;1;"
  <g' ef g bf>8\4\3\2\1
  <g ef g bf>16\4\3\2\1
  <g ef g bf>16\4\3\2\1
  <g ef g bf>8\4\3\2\1
  <g ef g bf>8\4\3\2\1
  <g ef g bf>8\4\3\2\1
  <g ef g bf>8\4\3\2\1

  | %% measure 26
  \fretboard #"o;3;3;1;"
  <g ef g bf>8\4\3\2\1
  <g ef g bf>8\4\3\2\1
  <g ef g bf>8\4\3\2\1
  <g ef g bf>8\4\3\2\1
  <g ef g bf>8\4\3\2\1
  <g ef g bf>8\4\3\2\1
}

altTwo = \relative c' {
  | %% measure 27
  \fretboard #"3;3;3;6;"
  <ef g bf ef>8\3\2\4\1 ->
  <ef g bf ef>8\3\2\4\1
  <ef g bf ef>8\3\2\4\1
  \fretboard #"3;2;1;5;"
  <d f bf d>8\3\2\4\1
  <d f bf d>8\3\2\4\1
  <d f bf d>8\3\2\4\1

  | %% measure 28
  \fretboard #"o;o;o;3;"
  <g c, e c'-1>4\4\3\2\1
  <g c, e c'>8\4\3\2\1
  <g c, e c'>8\4\3\2\1
  <g c, e c'>8\4\3\2\1
  <g c, e c'>8\4\3\2\1

  | %% measure 29
  \fretboard #"o;o;6;3;"
  <g c, bf' c>4\4\3\2\1
  <g c, bf' c>8\4\3\2\1
  <g c, bf' c>8\4\3\2\1
  <g c, bf' c>8\4\3\2\1
  <g c, bf' c>8\4\3\2\1

  | %% measure 30
  \fretboard #"o;3;4;3;"
  <g ef af c>8\4\3\2\1
  <g ef af c>16\4\3\2\1
  <g ef af c>16\4\3\2\1
  <g ef af c>8\4\3\2\1
  <g ef af c>8\4\3\2\1
  <g ef af c>8\4\3\2\1
  <g ef af c>8\4\3\2\1

  | %% measure 31
  <g ef af c>4\4\3\2\1 ->
  <g ef af c>4\4\3\2\1 ->
  <g ef af c>4\4\3\2\1 ->

  | %% measure 32
  <g ef af c>8\4\3\2\1
  <g ef af c>16\4\3\2\1
  <g ef af c>16\4\3\2\1
  <g ef af c>8\4\3\2\1
  <g ef af c>8\4\3\2\1
  <g ef af c>8\4\3\2\1
  <g ef af c>8\4\3\2\1

  | %% measure 33
  <g ef af c>8\4\3\2\1 ->
  <g ef af c>8\4\3\2\1
  <g ef af c>8\4\3\2\1 ->
  <g ef af c>8\4\3\2\1
  <g ef af c>8\4\3\2\1 ->
  <g ef af c>8\4\3\2\1
}

climb = \relative c' {
  | %% measure 34
  \fretboard #"o;2;3;1;"
  <d g g bf>8\3\4\2\1
  <d g g bf>16\3\4\2\1
  <d g g bf>16\3\4\2\1
  <d g g bf>8\3\4\2\1
  <d g g bf>8\3\4\2\1
  <d g g bf>8\3\4\2\1
  <d g g bf>8\3\4\2\1

  | %% measure 35
  \fretboard #"2;o;1;3;"
  <c f a c>4\3\2\4\1
  <c f a c>4\3\2\4\1
  <c f a c>4\3\2\4\1

  | %% measure 36
  \fretboard #"o;7;6;5;"
  <g' g bf d>8\4\3\2\1
  <g g bf d>16\4\3\2\1
  <g g bf d>16\4\3\2\1
  <g g bf d>8\4\3\2\1
  <g g bf d>8\4\3\2\1
  <g g bf d>8\4\3\2\1
  <g g bf d>8\4\3\2\1

  | %% measure 37
  \fretboard #"o;5;5;3;"
  <g f a c>4\4\3\2\1
  <g f a c>4\4\3\2\1
  <g f a c>4\4\3\2\1

  | %% measure 38
  \fretboard #"o;10;10;10;"
  <g bf d g>8\4\3\2\1
  <g bf d g>16\4\3\2\1
  <g bf d g>16\4\3\2\1
  <g bf d g>8\4\3\2\1
  <g bf d g>8\4\3\2\1
  <g bf d g>8\4\3\2\1
  <g bf d g>8\4\3\2\1

  | %% measure 39
  \fretboard #"o;9;8;8;"
  <g a c f>4\4\3\2\1
  <g a c f>8\4\3\2\1

  \fretboard #"o;5;5;5;"
  <g f a d>16\4\3\2\1
  <g f a d>16\4\3\2\1
  <g f a d>8\4\3\2\1
  <g f a d>8\4\3\2\1
}

themeB = \relative c' {
  | %% measure 40
  \fretboard #"3;3;3;10;"
  <ef g bf g'>8\3\2\4\1 ->
  <ef g bf g'>8\3\2\4\1
  <ef g bf g'>8\3\2\4\1

  \fretboard #"3;3;3;8;"
  <ef g bf f'>8\3\2\4\1 ->
  <ef g bf f'>8\3\2\4\1
  <ef g bf f'>8\3\2\4\1

  | %% measure 41
  \fretboard #"3;3;3;5;"
  <ef g bf d>8\3\2\4\1 ->
  <ef g bf d>8\3\2\4\1
  <ef g bf d>8\3\2\4\1

  \fretboard #"3;3;6;x;"
  <bf' ef, bf'>8\4\3\2 ->
  <bf ef, bf'>8\4\3\2
  <bf ef, bf'>8\4\3\2

  | %% measure 42
  \fretboard #"o;5;5;3;"
  <g f a c>8.\4\3\2\1
  <g f a d>16\4\3\2\1
  \fretboard #"o;5;5;5;"
  <g f a c>4.\4\3\2\1
  \fretboard #"o;5;5;3;"
  <g f a c>8\4\3\2\1

  | %% measure 43
  <g f a c>8\4\3\2\1
  <g f a c>16\4\3\2\1
  <g f a c>16\4\3\2\1
  <g f a c>8\4\3\2\1
  \fingerUp
  <c-1>\1 <g-0>\4 <bf-3>\2
}

altOneB = \relative c' {
  | %% measure 44
  \fretboard #"o;3;3;3;"
  <g' ef g c>8.\4\3\2\1
  \fretboard #"o;3;3;5;"
  <g ef g d'>16\4\3\2\1
  <g ef g c>4.\4\3\2\1
  \fretboard #"o;3;3;3;"
  <g ef g c>8\4\3\2\1

  | %% measure 45
  <g ef g c>8\4\3\2\1
  <g ef g c>16\4\3\2\1
  <g ef g c>16\4\3\2\1
  <g ef g c>8\4\3\2\1

  \fretboard #"o;3;6;3;"
  <g ef bf' c>8\4\3\2\1
  <g ef bf' c>8\4\3\2\1
  <g ef bf' c>8\4\3\2\1

  | %% measure 46
  \fretboard #"o;5;5;3;"
  <g f a c>8\4\3\2\1
  <g f a c>16\4\3\2\1
  <g f a c>16\4\3\2\1
  <g f a c>8\4\3\2\1
  <g f a c>8\4\3\2\1
  <g f a c>8\4\3\2\1
  <g f a c>8\4\3\2\1

  | %% measure 47
  <g f a c>8\4\3\2\1 [
  <g f a c>8\4\3\2\1 ]
  <g f a c>8\4\3\2\1 -> \noBeam

  \fretboard #"o;5;5;5;"
  <g f a d>16\4\3\2\1  
  <g f a d>16\4\3\2\1  
  <g f a d>8\4\3\2\1  
  <g f a d>8\4\3\2\1  
  |
}

altTwoB = \relative c' {
  | %% measure 48
  \fretboard #"o;o;o;3;"
  <g' c, e c'>8.\4\3\2\1
  \fretboard #"o;o;o;5;"
  <g c, e c'>16\4\3\2\1
  <g c, e c'>4.\4\3\2\1
  \fretboard #"o;o;o;3;"
  <g c, e c'>8\4\3\2\1

  | %% measure 49
  <g c, e c'>8\4\3\2\1
  <g c, e c'>16\4\3\2\1
  <g c, e c'>16\4\3\2\1
  <g c, e c'>8\4\3\2\1

  \fretboard #"o;o;6;3;"
  <g c, bf' c>8\4\3\2\1
  <g c, bf' c>8\4\3\2\1
  <g c, bf' c>8\4\3\2\1

  | %% measure 50
  \fretboard #"o;3;4;3;"
  <g ef af c>8\4\3\2\1
  <g ef af c>16\4\3\2\1
  <g ef af c>16\4\3\2\1
  <g ef af c>8\4\3\2\1
  <g ef af c>8\4\3\2\1
  <g ef af c>8\4\3\2\1
  <g ef af c>8\4\3\2\1

  | %% measure 51
  <g ef af c>4\4\3\2\1 ->
  <g ef af c>4\4\3\2\1 ->
  <g ef af c>4\4\3\2\1 ->

  | %% measure 52
  <g ef af c>8\4\3\2\1
  <g ef af c>16\4\3\2\1
  <g ef af c>16\4\3\2\1
  <g ef af c>8\4\3\2\1
  <g ef af c>8\4\3\2\1
  <g ef af c>8\4\3\2\1
  <g ef af c>8\4\3\2\1

  | %% measure 53
  <g ef af c>8\4\3\2\1 ->
  _\markup "Repeat & F.O."
  <g ef af c>8\4\3\2\1
  <g ef af c>8\4\3\2\1 ->
  <g ef af c>8\4\3\2\1
  <g ef af c>8\4\3\2\1 ->
  <g ef af c>8\4\3\2\1}

music = {
  \key g \minor
  \time 3/4
  \intro
  \break
  \set Staff.midiInstrument = #"acoustic guitar (nylon)"
  \repeat volta 2 {
    \gmf
    \break
    \themeA
  }
  \alternative {
    { \altOne }
    { \altTwo }
  }
  \climb
  \repeat volta 2 {
    \themeB
  }
  \alternative {
    { \altOneB }
    { \altTwoB }
  }
  \bar "|."
}

\header {
  title = "Dragon Roost Island"
  subtitle = "The Legend of Zelda:  The Wind Waker"
  composer = "Koji Kondo"
  arranger = "Arranged for ukulele by Steve Yegge"
  opus = #(strftime "%Y-%m-%d" (localtime (current-time)))
  copyright = "http://sites.google.com/site/steveysguitarsite/"
}

\score {
  <<
    \new Staff {
      \set Staff.instrumentName = "Ukelele"
      \override Score.MetronomeMark.extra-offset = #'(0 . 1.5)
      \override Score.Fingering.font-name = "MaestroTimes"
      \override Score.Fingering.font-size = #-4
      \override Score.StringNumber.font-name = "Times New Roman"
      \override Score.StringNumber.font-size = #-4
      \override Score.Fingering.add-stem-support = ##t
      \override Score.StrokeFinger.add-stem-support = ##t
      \override Score.StringNumber.add-stem-support = ##t
      \tempo 4 = 168
      \maybeFretDiagrams \music
    }
    \new TabStaff {
      \set TabStaff.stringTunings = #`(,(ly:make-pitch 0 5 NATURAL) ,(ly:make-pitch 0 2 NATURAL) ,(ly:make-pitch 0 0 NATURAL) ,(ly:make-pitch 0 4 NATURAL) )  %% '(A E C G)
      \music
    }
  >>
}

\score {
  {
    %\transposition c  % magically puts midi output in correct octave
    \set midiInstrument = #"acoustic guitar (nylon)"
    \unfoldRepeats
    \music
  }
  \midi {
    \tempo 4 = 168
  }
}

\paper {
   indent = 8\mm
   markup-system-spacing =
   #'((basic-distance . 0) (padding . 1.5) (stretchability . 3) (minimum-distance . 0))
   last-bottom-spacing =
   #'((basic-distance . 0) (padding . 1.5) (stretchability . 3) (minimum-distance . 0))
   max-systems-per-page = 4
   ragged-last-bottom = ##f
}
