
%% Optional (but recommended) language upgrade helper.
%% Get the version of your Lilypond with  lilypond --version
\version "2.10.33"

%% Some useful macros.
cres = \markup{\italic{cres.}}
dim = \markup{\italic{dim.}}

\paper {
  %% Note section "5.5 Fitting music onto fewer pages".
  %% WARNING: This is the bash-it-with-a-hammer approach.
  %% Try to keep it as a last resort.
  %system-count = #12

  %% Other things to change (see section "11.1.2: Page formatting"
  %% from Lilypond manual).

  %% Margin between header and the top of the page. Default 5mm.
  %top-margin = #5

  %% Distance between the top-most music system and the page header.
  %% Default is 4mm.
  %head-separation = #4

  %% Distance from the top of the printable area to the center of the
  %% first stave. This only works for staves which are vertically
  %% small. Big staves are set with the top of their bounding box
  %% aligned to the top of the printable area. Default is 12mm.
  %page-top-space = #12

  %% If set to true, systems will not be spread vertically across the
  %% page.  This does not affect the last page. Default is false.
  %% This should be set to true for pieces that have only two or three
  %% systems per page, for example orchestral scores.
  %ragged-bottom = ##f
  %% This one *does* affect the last page.
  %ragged-last-bottom = ##f

  %% This dimensions determines the distance between systems. It is the
  %% ideal distance between the center of the bottom staff of one
  %% system and the center of the top staff of the next system. Default
  %% is 20mm.
  %%
  %% Increasing this will provide a more even appearance of the page at
  %% the cost of using more vertical space.
  %between-system-space = #20

  %% This dimension is the minimum amount of white space that will
  %% always be present between the bottom-most symbol of one system,
  %% and the top-most of the next system. Default is 4mm.
  %between-system-padding = #4
}

%% The header block defines the titles and texts.
\header {
    title = "Rambling Wreck From Georgia Tech"
    instrument = ""
    composer = "Mike Greenblatt"
    copyright = \markup { \box \center-align { \teeny \line { This sheet music has been placed in the public domain by the typesetter — see \hspace #-0.5 \with-url #"http://creativecommons.org/licenses/publicdomain" http://creativecommons.org/licenses/publicdomain } } }
    %% False tagline stops that irritating "Music engraving by LilyPond" string.
    tagline = ##f
    %enteredby = "Nobody"
    %updatedby = "Nobody"
    date = "1911"
}

global = {
   \key ees \major
   \time 6/8
   %\set Score.markFormatter = #format-mark-box-alphabet
}

sopMusic = \relative c'' {
   \autoBeamOff
   %% Set the tempo marking here.
   \tempo 4.=90
   %\once \override Score.MetronomeMark #'transparent = ##f

   % bar 1
   R1*6/8*3 |
   r4. g4(^\markup{\smallCaps{Verse}} f8) |

   % bar 5
   ees4 ees8 ees4 f8 |
   g4 g8 g( f) ees |
   f8 g f ees4 d8 |
   ees4.~ ees4 f8 |
   g4 g8 g4 aes8 |

   % bar 10
   bes4 bes8 bes4 bes8 |
   bes8( f) f f4 f8 |
   f4.~ f4 bes8 |
   c4 aes8 c4 aes8 |
   c8 ees4~ ees c8 |

   % bar 15
   bes4 c8 bes4 g8 |
   bes4 r8 g4^> f8 |
   ees4 ees8 ees4 f8 |
   g4 g8 g( f) ees |
   f8( g) f ees4 d8 |

   % bar 20
   ees8 r8 f8 g4_>^\markup{\smallCaps{Chorus}} f8

   \bar "|."

   % Chorus
   ees4 ees8 ees4 f8 |
   g4 g8 g f ees |
   f8 g f ees4 d8 |
   ees4.~ ees4 f8 |

   % bar 25
   g8 g g g g aes |
   bes8 bes bes bes bes bes |
   bes f f f4 f8 |
   f4.~ f4 bes8 |
   c4 aes8 c4 aes8 |

   % bar 30
   c8 ees4~ ees8 r8 c |
   bes4 c8 bes4 g8 |
   bes4. g4 f8 |
   ees4 ees8 ees4 f8 |
   g4 g8 g8 f ees |

   % bar 35
   f8 g f ees4 d8 |
   ees4.~ ees8 r8 r8

   \bar "|."
}
sopWords = \lyricmode {
   Oh if I had a daugh -- ter sir I’d dress her in white and gold
   And take her on the cam -- pus, sir, to cheer the brave and bold
   But if I had a son, sir, I tell you what he’d do
   He would yell to hell with Geor -- gia
   like his dad -- dy used to do

   For I’m a ramb -- ling wreck
   from Geor -- gia Tech and a
   hell of an en -- gin -- eer
   A hell of a hell of a hell of a hell of a
   hell of an en -- gin -- eer

   Like all good jol -- ly fel -- lows,
   I drink my whi -- sky clear

   I’m a ramb -- ling wreck
   from Geor -- gia Tech and a
   hell of an en -- gin -- eer.
}


pianoTrebleMusic = \relative c' {

   % bar 1
   <ees ees'>4-> <aes c>8 <c, c'>4-> <ees aes>8 |
   <bes bes'>4-> <ees aes>8 <g, g'>4-> <bes ees>8
   f'8-> g aes bes-> c d |
   ees8 r8 r g,4-> f8 |

   % bar 5
   <g, bes ees>4-> <g bes ees>8 <g bes ees>4 <aes d f>8 |
   <bes ees g>4 <bes ees g>8 <bes ees g>8 f'8 ees |
   <aes, f'>8 <bes g'>8 <aes f'>8 <aes ees'>4 <aes d>8 |
   <<
      { \voiceOne ees'4.~ ees4 f8 }
      \new Voice = "pianoTrebleTwo"
      { \voiceTwo <g, bes>4 <g bes>8 <g bes>4 r8 }
   >> \oneVoice |
   <bes ees g>4 <bes ees g>8 <bes ees g>4 <bes d aes'>8 |

   % bar 10
   <bes ees bes'>4 <bes ees bes'>8 <bes ees bes'>4 <bes ees bes'>8 |
   <bes d bes'>8 f'8 <bes, d f>8 <aes ees'f>4 <aes ees'f>8 |
   <<
      { \voiceOne f'4.~ f4 bes8 }
      \new Voice = "pianoTrebleTwo"
      { \voiceTwo bes,4 <aes c ees>8 <bes d>4 r8 }
   >> \oneVoice |
   <ees c'>4 aes8 <ees c'>4 aes8 |
   <ees f c'>8 <ees f ees'>4~ <ees f ees'>4 c'8 |

   % bar 15
   <ees, bes'>4 c'8 <ees, bes'>4 g8 |
   <ees bes'>4 r8 <bes g'>4-> <aes f'>8 |
   <g bes ees>4 <g bes ees>8 <g bes ees>4 <aes d f>8 |
   <bes ees g>4 <bes ees g>8 <bes ees g>8 f'8 ees |
   <aes, f'>8 <bes g'> <aes f'> <aes ees'>4 <aes d>8 |

   % bar 20
   <g bes ees>8 r8 f'8 <bes, g'>4-> <aes f'>8 |
   % Chorus
   <g bes ees>4 <g bes ees>8 <g bes ees>4 <aes d f>8 |
   <bes ees g>4 <bes ees g>8 <bes ees g>8 f'8 ees |
   <aes, f'>8 <bes g'> <aes f'> <aes ees'>4 <aes d>8 |
   <<
      { \voiceOne ees'4.~ ees4 f8 }
      \new Voice = "pianoTrebleTwo"
      { \voiceTwo <g, bes>4 <g bes>8 <g bes>4 r8 }
   >> \oneVoice |

   % bar 25
   <bes ees g>8 <bes ees g> <bes ees g> <bes ees g>4 <bes d aes'>8 |
   <bes ees bes'>8 <bes ees bes'> <bes ees bes'> <bes ees bes'>4 <bes ees bes'>8 |
   <bes d bes'>8 <bes d f>8 <bes d f> <bes ees f>4 <bes ees f>8 |
   <<
      { \voiceOne f'4.~ f4 bes8 }
      \new Voice = "pianoTrebleTwo"
      { \voiceTwo bes,4 <aes ees'>8 <bes d>4 r8 }
   >> \oneVoice |
   <ees c'>4 aes8 <ees c'>4 aes8 |

   % bar 30
   <ees fis c'>8 <ees fis ees'>4~ <ees fis ees'>8 r8 c'8 |
   <ees, bes'>4 c'8 <ees, bes'>4 g8 |
   <ees bes'>4 r8 <bes g'>4 <aes f'>8 |
   <g bes ees>4 <g bes ees>8 <g bes ees>4 <aes d f>8 |
   <bes ees g>4 <bes ees g>8 <bes ees g> f' ees |

   % bar 35
   <aes, f'>8 <bes g'> <aes f'> <aes ees'>4 <aes d>8 |
   \set doubleSlurs = ##t
   <g bes ees>4.( <ees' g ees'>8)-> r8 r

   \bar "|."
}

pianoBassMusic = \relative c {

   % bar 1
   <c c'>4. <aes aes'>4. |
   <g g'>4. <ees ees'>4. |
   <f f'>4. <bes, bes'>4. |
   ees'8 r8 r r4.

   % bar 5
   <ees, ees'>4. <bes bes'>4. |
   <ees ees'>4. <bes bes'>4. |
   <f' f'>4. <bes, bes'>4. |
   <ees ees'>4 bes'8 ees,4 r8 |
   <ees ees'>4.~ <ees ees'>4 <f f'>8 |

   % bar 10
   <g g'>4.~ <g g'>4 <ges ges'>8 |
   <f f'>4. <c c'>4. |
   <bes bes'>4 <c c'>8 <d d'>4 r8 |
   <aes' aes'>4. <aes aes'>4. |
   <a a'>4. <a a'>4. |

   % bar 15
   <bes bes'>4. <g g'>4. |
   <ees ees'>4 r8 <bes bes'>4.-> |
   <ees ees'>4. <bes bes'>4. |
   <ees ees'>4. <bes bes'>4. |
   <f' f'>4. <bes, bes'>4. |

   % bar 20
   <ees ees'>8 r8 r <bes bes'>4. |
   % Chorus
   <ees ees'>4. <bes bes'>4. |
   <ees ees'>4. <bes bes'>4. |
   <f' f'>4. <bes, bes'>4. |
   <ees ees'>4 bes'8 ees,4 r8 |

   % bar 25
   <ees ees'>4.~ <ees ees'>4 <f f'>8 |
   <g g'>4.~ <g g'>4 <ges ges'>8 |
   <f f'>4. <c c'>4. |
   <bes bes'>4 <c c'>8 <d d'>4 r8 |
   <aes' aes'>4. <aes aes'>4. |
   
   % bar 30
   <a a'>4. <a a'>4. |
   <bes bes'>4. <g g'>4. |
   <ees ees'>4 r8 <bes bes'>4. |
   <ees ees'>4. <bes bes'>4. |
   <ees ees'>4. <bes bes'>4. |

   % bar 35
   <f' f'>4. <bes, bes'>4. |
   <ees ees'>8 bes'8 g ees r8 r

   \bar "|."
}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% Everything below this point is pretty generic.
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\score {
   <<
      \new Staff = sopstaff \with { \consists "Ambitus_engraver" } <<
         \set Staff.fontSize = #0
         \set Staff.midiInstrument = "clarinet"
         \clef treble
         \new Voice = "sopranos" { \global \sopMusic }
      >>
      \new Lyrics = sopranos { s1 }
      \context Lyrics = sopranos \lyricsto sopranos \sopWords

      \new PianoStaff <<
         \new Staff <<
            \global
            \set Staff.midiInstrument = "acoustic grand"
            \clef treble
            \set Staff.printPartCombineTexts = ##f
            % **NOTE**: See "8.3.4: Formatting cue notes" in manual.
            \set Staff.fontSize = #-1
            \pianoTrebleMusic 
         >>
         \new Staff <<
            \global
            \set Staff.midiInstrument = "acoustic grand"
            \clef bass
            \set Staff.printPartCombineTexts = ##f
            \set Staff.fontSize = #-1
            \pianoBassMusic 
         >>
      >>
   >>

   %% This is a collection of *piece-wide* layout customisations.
   %% Just to re-emphasise, they apply across the whole piece,
   %% all staves. If you want staff-specific tweaks, put them inside
   %% the config for that staff (eg. see the piano staff fontSize
   %% configs above).
   \layout {
      \context {
         \Staff
         % A little smaller so lyrics can be closer to the staff.
         %\override VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 3)

         % This means 4/4 and 2/4 time signatures will be shown
         % with numbers rather than as "common" or "cut-common" symbols.
         %\override TimeSignature #'style = #'()
      }
      \context {
         \Score
         \override BarNumber #'stencil
         %= #(make-stencil-boxer 0.1 0.25 ly:text-interface::print)
         = #(make-stencil-boxer 0.1 0.5 ly:text-interface::print)
         %= #(make-stencil-circler 0.1 0.25 ly:text-interface::print)
         %= #(make-stencil-circler 0.1 0.4 ly:text-interface::print)
         %= #(make-stencil-circler 0.2 0.5 ly:text-interface::print)
         %                         ^^^ ^^^ <----radius
         %                          |borderwidth

         % This fixes the bar-number box so it floats just above the
         % curly stave marker thingy. Default appears to be 1.
         \override BarNumber #'padding = #2
      }

      %% Note: http://www.geoffhorton.com/lilypond.html
      \context {
         \Lyrics
         \override LyricText #'font-size = #0
      }
   }
   % MIDI!
   \midi { }
}
