circus: Add beginning of notation.
authorrekado <rekado@elephly.net>
Wed, 14 Oct 2015 18:35:36 +0000 (20:35 +0200)
committerrekado <rekado@elephly.net>
Fri, 16 Oct 2015 19:59:28 +0000 (21:59 +0200)
03-circus.ly [new file with mode: 0644]

diff --git a/03-circus.ly b/03-circus.ly
new file mode 100644 (file)
index 0000000..aea7363
--- /dev/null
@@ -0,0 +1,206 @@
+\version "2.19.27"
+
+\header {
+  title = "Circus"
+  composer = "The very pretentious elephlies"
+  arranger = "Ricardo Wurmus"
+  copyright = "2002--2015 Ricardo Wurmus"
+}
+
+\f
+bassA = \relative cis, {
+  \time 2/4
+  r4 r8 cis ~             |
+  cis4 gis | cis gis      |
+  cis gis  | cis r8 cis ~ |
+  cis4 gis | cis gis      |
+  cis gis  |
+
+  dis'8 ais r d8 ~ d8 a4 d,8 |
+  dis'8 ais r d8 ~ d2        |
+  cis4 gis |
+
+  cis, gis' cis gis |
+  cis gis cis gis   |
+  cis gis cis gis   |
+  cis gis |
+
+  dis'8 ais r d8 ~ d8 a4 d,8 |
+  dis'8 ais r d8 ~ d2        |
+
+  cis4 gis | cis4 gis |
+  cis4 gis | cis4 gis |
+}
+
+bassB = \relative cis, {
+  \time 2/4
+  cis4 gis cis gis cis gis |
+  \time 3/4
+  cis8 e8 gis, gis r gis |
+  \time 2/4
+  a4 e a e a e   |
+  a c8 b r f f r |
+}
+
+bassSpooky = \relative fis,, {
+  \time 2/4
+  fis8 fis  fis fis  fis fis  fis fis  fis fis  fis fis
+  \time 3/4
+  fis8 a8 cis, cis r cis |
+  \time 2/4
+  d8 d  d d  d d  d d  d d  d d
+  d4 f8 e r ais, ais r
+}
+
+bassC = \relative cis, {
+  \time 2/4
+  b4 fis b fis b fis |
+  \time 3/4
+  b8 d8 fis, fis r fis |
+  \time 2/4
+  g4 d g d g d
+  g ais8 a r dis, dis r
+}
+
+\f
+bass = {
+  \set Staff.midiInstrument = #"electric bass (finger)"
+  \clef "bass_8"
+  \key cis \minor
+
+  \time 4/4 \bassA
+  \tempo 4 = 150
+  \bassB \bassB
+
+  \key fis \minor
+  \bassSpooky \bassSpooky
+
+  \key b \minor
+  \bassC \bassC
+}
+
+keyboard = \new PianoStaff <<
+  \new Staff \relative c'  {
+    \set Staff.midiInstrument = #"accordion"
+    \time 2/4
+    \key cis \minor
+    r4 r8 <cis e g> ~ |
+    <cis e g> ~ <cis e gis>-. r <cis e gis>-. r <cis e gis>-. r <cis e gis>-.
+    r <cis e gis>-. r <cis e gis>-. r <cis e gis>-. r
+    
+    <cis e g>8 ~
+    <cis e g>8 ~ <cis e gis>-.
+    r <cis e gis>-. r <cis e gis>-. r <cis e gis>-.
+    r <cis e gis>-. r <cis e gis>-.
+
+    <dis fis ais>8 r r <d fis ais>8 ~ <d fis ais>2 |
+    <dis fis ais>8 r r <d fis ais>8 ~ <d fis ais>2 |
+  }
+
+  \new Staff \relative c {
+    \set Staff.midiInstrument = #"accordion"
+    \clef bass
+    \key cis \minor
+    r2 |
+    cis4-. gis-. cis-. gis-.
+    cis-. gis-. cis-. r8 cis ~
+    cis4 gis-. cis-. gis-.
+    cis-. gis-.
+    dis8 r r d ~ d2
+    dis8 r r d ~ d2
+  }
+>>
+
+stickDance = \relative c' {
+  \time 5/8
+  r8 b cis d fis |
+  \time 5/4
+  g4. fis16 dis e4
+  \tuplet 3/2 { fis,8 c' dis } g4 |
+  fis4. e16 d b4
+  \tuplet 3/2 { f8 b d }
+  fis4
+
+  \time 3/4
+  e ais,,16 d fis8 g gis
+  d' cis ais4 r4
+}
+
+stickHalfTimeFeel = \relative c' {
+  \time 2/4
+  b8 d r b16 d |
+  \time 3/4
+  fis8-. r8*4 b,16 d
+  \time 2/4
+  fis g fis8 e16 d cis b d cis c b
+  \tuplet 3/2 { fis8 g b } |
+  ais8 r8. g16 a ais d4 r8*5
+  d,4 dis eis fis r
+
+  %% TODO
+}
+
+stick = {
+  \set Staff.midiInstrument = #"electric guitar (jazz)"
+  \key cis \minor
+
+  %% count-in
+  \time 2/4 { R2 }
+
+  %% intro
+  { R2*12 }
+  { R2*11 } { R2*4 }
+
+  %% TODO solo
+  \repeat unfold 2 {
+    \time 2/4 R2*3
+    \time 3/4 R2.
+    \time 2/4 R2*5
+  }
+
+  %% TODO spooky
+  \key fis \minor
+  \repeat unfold 2 {
+    \time 2/4 R2*3
+    \time 3/4 R2.
+    \time 2/4 R2*5
+  }
+
+  \key b \minor
+  \stickHalfTimeFeel
+  \stickDance
+  \stickHalfTimeFeel
+}
+
+
+\f
+AllMusic = <<
+  \new Staff = "keyboard"    { \keyboard }
+  \new Staff = "bass"        { \bass }
+  \new Staff = "grand stick" { \stick }
+>>
+
+%% Two scores are needed: one with unfolded repeats for MIDI and the
+%% other with regular repeats for notation.
+\score {
+  \unfoldRepeats { \AllMusic }
+  \midi { \tempo 4 = 120 }
+}
+
+\score {
+  \AllMusic
+  \layout {
+    \tempo 4 = 120
+    \context { 
+      %% add the RemoveEmptyStaffContext that erases rest-only staves
+      \Staff \RemoveEmptyStaves 
+    }
+    \context {
+      \Score
+      %% Remove all-rest staves also in the first system
+      \override VerticalAxisGroup.remove-first = ##t
+      %% If only one non-empty staff in a system exists, still print the starting bar
+      \override SystemStartBar.collapse-height = #1
+    }
+  }
+}