\version "2.4.2"

\header {
	title = "BARCAROLE - INTERMEZZO"
	subtitle = "from \"The Tales of Hoffman,\" by JACQUES OFFENBACH."
	meter = \markup { \bold { All \small \normal-size-super tto mod\small \normal-size-super to } }
     }

global = {
	\time 6/8
	\key d \major
}

goverrides = {
	\override Rest #'style = #'classical
	#(set-accidental-style 'modern)
}

upperaprint = \relative c'' {
	\clef treble

	\repeat unfold 17 { << fis2. { s2\startTrillSpan s8. s16\stopTrillSpan } >> }
}

upperamidi = \relative c'' {
	\clef treble

	\repeat unfold 17 { fis2.^\trill } % in case lilypond starts midi-fying trills in the future
}

lotsanotes = {
	\set subdivideBeams = ##t
	\set Score.beatLength = #(ly:make-moment 1 8)
	<dis fis a>32([ c \repeat unfold 3 { <dis fis a>32 c }
	<dis fis b> c <dis fis b> c)]
	<dis fis b>([ c \repeat unfold 3 { <dis fis b> c }
	<dis fis a> c <dis fis a> c)]
	\set subdivideBeams = ##f
}

arpeggiated = {
	<a cis g' a>8[\arpeggio
	r
	<b cis g' b>]\arpeggio
	<b cis g' b>[\arpeggio
	r
	<a cis g' a>]\arpeggio
}

melodya = {
	fis4( g8) g4( fis8)
	\repeat unfold 2 { fis( e g) g4( fis8) }
}

shortarpeggio = {
	<b d fis b>8\arpeggio
	<b d fis b>8[\arpeggio
	r
	<a d fis a>]\arpeggio
}


upper = \relative c'' {
	\goverrides
	\repeat unfold 2 { \lotsanotes }
	\repeat unfold 2 { \repeat tremolo 12 { <e g a>32( cis) } }
	\repeat unfold 2 { \lotsanotes }
	\repeat unfold 8 { \arpeggiated } \bar "||" \break \once \override TextScript #'extra-offset = #'(-2 . 2)
	<a d fis a>8[\arpeggio^\markup { \bold "Moderato" } r <b d fis b>]\arpeggio
		<b d fis b>[\arpeggio r <a d fis a>]\arpeggio
	<a d fis a>8[\arpeggio r <b d fis b>]\arpeggio
		<b d fis b>[\arpeggio r <a d fis a>]\arpeggio
	\melodya
	fis4 <d fis b>8\arpeggio <d fis b>4\arpeggio <d fis a>8\arpeggio
	\melodya
	fis8 r \shortarpeggio
	\repeat unfold 2 {
		\stemDown a4( b8) \stemNeutral b4( <a cis>8)
		<a cis>4( <b d>8) <b d>4( <a cis>8)
		\stemUp <a cis>4( <g b>8) <g b>4( <fis a>8) \stemNeutral
		<fis a>4 \shortarpeggio }
	<< {
		\goverrides
		a4( b8) b4( c8)
		d2.~
		d8 a b c b a
		b4.~ b8 r b
		b4( cis8) cis4( d8)
		e2.~
		e8 b( cis d cis b)
		\repeat unfold 2 {
			a4 r8 r4 r8
			a4.~ a8( cis b) }
		<e, a>
	} \\ {
		\goverrides
		r4 r8 r4 fis8
		fis4( g8) g4( a8)
		a4 r8 d, e fis
		g4 r8 r4 r8
		r4 r8 r4 gis8
		gis4( a8) a4( b8)
		b4 r8 e, fis gis
		cis,4 r8 a cis e
		dis2.(
		e4) r8 a, cis e
		dis2.(
		\hideNotes e8) \unHideNotes
	} >>
	r \repeat unfold 2 { <cis' e b'>\arpeggio } r
		\repeat unfold 2 { <cis e a>\arpeggio } r
		\repeat unfold 2 { <cis g' b>\arpeggio } r
		<cis g' a>\arpeggio
	fis,4( g8) g4( fis8)
		\repeat unfold 2 { fis( e g) g4( fis8) }
	fis4 \shortarpeggio
	\melodya
	<c dis fis a>8\arpeggio[ r <c dis fis b>]\arpeggio
		<c dis fis b>[\arpeggio	r <c dis fis a>]\arpeggio
	<b e g>\arpeggio\noBeam e( fis g a b)
	a4-> \shortarpeggio
	<a cis g' a>8\arpeggio\noBeam a( b cis d e)
	<< {
		\goverrides
		fis2.->
		fis8( e d!) cis!( d b)
		a4.->~ a4 b8
		cis4.->~ cis4 cis8 \slurDown
		d4 r8 a8( d4)
		a8( e'4) r4 r8
		d8( fis4) a,8( d4)
		a8( e'4) r4 r8 \slurNeutral
	} \\ {
		\goverrides
		r8 dis,^> e^> fis^> g^> a^>
		g4 r8 r4 r8
		fis( e d) cis d b'
		a4( g8 fis4 e8)
		d4 r8 r4 r8 \slurUp
		r4 r8 a8( g'4)
		fis4 r8 r4 r8
		r4 r8 a,8( g'4) \slurNeutral
	} >>
	d'8[( fis]) <d fis b>\arpeggio\noBeam <d fis b>4\arpeggio <d fis a>8\arpeggio
	<a d fis>4\arpeggio <a d g>8\arpeggio <a d g>4\arpeggio <a d fis>8\arpeggio
	<fis a d>4\arpeggio <fis a e'>8\arpeggio <fis a e'>4\arpeggio <fis a d>8\arpeggio
	<d fis a>4\arpeggio <d fis b>8\arpeggio <d fis b>4\arpeggio <d fis a>8\arpeggio
	<a d fis>4\arpeggio <a d g>8\arpeggio <a d g>4\arpeggio <a d fis>8\arpeggio
	\repeat tremolo 6 { <a d>32( fis) } \repeat tremolo 6 { <b d>( g) }
	\repeat tremolo 6 { <a d>( fis) } \repeat tremolo 6 { <g d>( e) }
	\repeat unfold 2 { \repeat tremolo 12 { <a d>( fis) } }
	<fis a d>4 r8 r4 r8\fermata \bar "|."
}

lower = \relative c' {
	\clef bass
	\goverrides
	R2. \slurDown
	r4 r8 r4 \clef treble <d b'>16( <fis cis'>
	<b d>8) r r r4 <d, b'>16( <fis cis'>
	<b d>8) r r r4 <d, b'>16( <fis cis'>
	<b d>8)[ r <fis cis'>] <b d>[ r <cis e>] \slurNeutral
	<d fis> r r r4 r8 \slurUp
	r4 r8 \clef bass \acciaccatura c,,8 \stemDown b16( ais b d fis b) \stemNeutral \slurNeutral
	d8.->( cis16 b8) b8.->( a16 g8)
	fis4. r4 r8 \clef treble
	\repeat unfold 2 { <b' d>[ r <cis e>] <cis e>[ r <b d>] }
	<b d>4 r8 r4 <d, b'>16( <b' d>
	<fis cis'>4) r8 r4 <d b'>16( <b' d>
	<fis cis'>4) r8 r4 r8 \clef bass
	r4 r8 \stemDown fis,,16( eis fis ais cis e!) \stemNeutral
	g8.->( fis16 e8) e8.->( d16 cis8)
	d4. r4 r8 \clef treble \stemDown
	a''8[ r b] b[ r a]
	a[ r b] b[ r a] \stemNeutral
	a r r \clef bass \stemDown a,,16( gis a cis e g!) \stemNeutral
	b8.->( a16 g8) g8.->( fis16 e8)
	\clef treble \stemDown a'8[ r b] b[ r a]
	a[ r b] b[ r a] \stemNeutral
	\clef bass \acciaccatura a,,,8 a'8 r r \stemDown a16( gis a cis e g!) \stemNeutral
	r4 r8 cis,16( bis cis e g b!)
	r4 r8 e,16( dis e g a cis)
	fis8.->( e16 dis8) d8.->( cis16 b8)
	a( gis g) fis( e d)
	\times 3/2 { cis c } \times 3/2 { b bes }
	a4.( gis
	g e \bar "||"
	d4) r8 <a'' d fis>4 r8
	<d,, d'>4 r8 <a'' d fis>4 r8
	d,,[ r a'] <d a'>[ r a]
	\repeat unfold 2 { d,[ r a'] \stemDown <cis g' a>[ r a] \stemNeutral }
	\repeat unfold 2 { d,[ r a'] <d a'>[ r a] }
	\repeat unfold 2 { d,[ r a'] \stemDown <cis g' a>[ r a] \stemNeutral }
	d,[ r a'] <d a'>[ r a]
	\repeat unfold 2 {
		d,[ r a'] <d fis a>[\arpeggio r a]
		a,[ r a'] <e' g a>[\arpeggio r a,]
		a,[ r a'] \stemDown <cis g' a>[\arpeggio r a] \stemNeutral
		d,[ r a'] <d fis a>[\arpeggio r a] }
	d,[ r d'] <fis d'>[\arpeggio r d]
	\repeat unfold 2 { d,[ r d'] <a' c>[\arpeggio r d,] }
	g,[ r <d' g c>] <d g c>[ r <d g b>]
	\stemDown \repeat unfold 3 { e,[ r e'] <gis d' e>[\arpeggio r e] } \stemNeutral
	\repeat unfold 2 {
		a,,[ r a'] e'[ r a,]
		a,[ r a'] <fis' a>[\arpeggio r a,] }
	\stemDown a( cis e a cis e)
	g( e cis a g e) \stemNeutral
	d,( a' d a' d, a)
	\repeat unfold 2 { d,( a' cis \stemDown <g' a> cis, a) \stemNeutral }
	d,( a' d <fis a> d a)
	d,( a' d a' d, a)
	\repeat unfold 2 { d,( a' cis \stemDown <g' a> cis, a) \stemNeutral }
	dis,( a' dis fis dis fis)
	e,( b' e <g b>4) r8
	<a,, a'>( a'' d fis4) r8
	a,,( a' e' g4) r8
	dis,,( fis' a c4) r8
	e,,8( g' b e b g)
	<a,, a'>( a' d <fis a> d a)
	<a, a'>( a' cis <g' a> cis, a)
	\repeat unfold 2 {
		d,( a' d <fis a> d a)
		d,( a' cis g' cis, a) }
	\repeat unfold 4 { d,( a' d <fis a>\arpeggio d a) }
	d,( a' d) r d( a)
	\repeat unfold 2 { <d, d'>4 r8 <d d'>4 r8 }
	\repeat unfold 2 { <d d'>4 r8 r4 r8 }
	<d d'>4 r8 r4 r8\fermata \bar "|."
}

dynamics = {
	s2.\p
	s2.*16
	s2.\pp
	s2.*7
	s4. s8\< s s\!
	s2.
	s8^\markup { \italic "dim." } s s s\> s4
	s4. s4 s8\!
	s2.^\markup { \italic "rit." }
	s
	s\pp
	s
	s^\markup { \italic "bien chante" }
	\repeat unfold 2 { s8\< s s\! s\> s s\! }
	s2.
	\repeat unfold 3 { s8\< s s\! s\> s s\! }
	s2.
	s4 s8\< s4\! s8
	s4\< s8\! s4\> s8\!
	s2.*2
	s4 s8 s4\< s8\!
	\repeat unfold 2 { s4\< s8\! s4\> s8\! }
	s2.*12
	s4. s4\< s8\!
	\repeat unfold 2 { s8\> s s\! s4. }
	\repeat unfold 2 { s4\< s8\! s4\> s8\! }
	s2.
	s4\< s8\! s4\> s8\!
	s2.*3
	s8 s8\< s s4 s8\!
	s2.
	s8 s8\< s s4 s8\!
	s2.*4
	s4. s4\< s8\!
	s2.*3
	s4 s8^\markup { \italic "sempre" } s4.
	s4^\markup { \italic "piu" } s8 s4^\markup { \italic "dolce" } s8
	s4 s8^\markup { \italic "morendo" } s4.
	s2.*2
	s\ppp s2.*4
}

tempomod = {
	s2.*29
	\tempo 8=168 s4. \tempo 8=166 s4.
	\tempo 8=164 s4. \tempo 8=162 s4. \tempo 8=170
}

pedal = {
	s2.*23
	s4.\sustainDown s4.\sustainUp
	s2.*67
}


     \score {
       \context PianoStaff <<
         \context Staff=upper { \global \upperaprint \upper }
         \context Dynamics=dynamics \dynamics
         \context Staff=lower <<
           \global
           \lower
         >>
         \context Dynamics=pedal \pedal
       >>
       \layout {
         \context {
           \type "Engraver_group_engraver"
           \name Dynamics
           \alias Voice % So that \cresc works, for example.
           \consists "Output_property_engraver"

           minimumVerticalExtent = #'(-1 . 1)

           \consists "Piano_pedal_engraver"
           \consists "Script_engraver"
           \consists "Dynamic_engraver"
           \consists "Text_engraver"

           \override TextScript #'font-size = #2
           \override TextScript #'font-shape = #'italic
           \override DynamicText #'extra-offset = #'(0 . 2.5)
           \override Hairpin #'extra-offset = #'(0 . 2.5)

           \consists "Skip_event_swallow_translator"

           \consists "Axis_group_engraver"
         }
         \context {
           \PianoStaff
           \accepts Dynamics
           \override VerticalAlignment #'forced-distance = #7
         }
       }
     }

     \score {
       \unfoldrepeats {
       \context PianoStaff <<
          \context Staff=upper { \global \upperamidi \upper }
         \context Dynamics=dynamics \dynamics
         \context Staff=lower <<
           {\global \lower }
           \tempomod
         >>
         \context Dynamics=pedal \pedal
       >> }
       \midi { \tempo 8=170
         \context {
           \type "Performer_group_performer"
           \name Dynamics
           \consists "Piano_pedal_performer"
           \consists "Span_dynamic_performer"
           \consists "Dynamic_performer"
         }
         \context {
           \PianoStaff
           \accepts Dynamics
         }
       }
     }