song2: Start it!
authorrekado <rekado@elephly.net>
Fri, 30 Oct 2015 20:47:03 +0000 (21:47 +0100)
committerrekado <rekado@elephly.net>
Fri, 30 Oct 2015 20:47:20 +0000 (21:47 +0100)
02-song2/02-song2.ly [new file with mode: 0644]
02-song2/parts/bass.ly [new file with mode: 0644]
02-song2/parts/keys.ly [new file with mode: 0644]
02-song2/parts/stick.ly [new file with mode: 0644]

diff --git a/02-song2/02-song2.ly b/02-song2/02-song2.ly
new file mode 100644 (file)
index 0000000..daaa331
--- /dev/null
@@ -0,0 +1,44 @@
+\version "2.19.27"
+
+\header {
+  title = "Song 2"
+  composer = "The very pretentious elephlies"
+  arranger = "Ricardo Wurmus"
+  copyright = "2002--2015 Ricardo Wurmus"
+}
+
+\include "parts/bass.ly"
+\include "parts/keys.ly"
+\include "parts/stick.ly"
+
+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 = 90 }
+}
+
+\score {
+  \AllMusic
+  \layout {
+    \tempo 4 = 90
+    \context {
+      %% add the RemoveEmptyStaffContext that erases rest-only staves
+      \Staff \RemoveEmptyStaves
+    }
+    \context {
+      \Score
+      \numericTimeSignature
+      %% 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
+    }
+  }
+}
diff --git a/02-song2/parts/bass.ly b/02-song2/parts/bass.ly
new file mode 100644 (file)
index 0000000..5f2031f
--- /dev/null
@@ -0,0 +1,115 @@
+bassA = \relative c {
+  \repeat unfold 2 {
+    b,8 a16 b8 a16 b4 r8 e,16 fis a8     |
+    b a16 b8 a16 b4 r8
+    \ottava #1 d''4\flageolet \ottava #0 |
+    b,,8 a16 b8 a16 e4 r8 e16 fis a8     |
+  } \alternative {
+    { g g16 g8 fis16 b,8 r8 d''16 r d e d8 |}
+    { g,, g16 g8 fis16 d8 ~ d2             |}
+  }
+}
+
+%% key change!
+bassB = \relative c {
+  cis,8 r16 cis8 r16 fis,4. fis4 |
+  a16 a8 a b16 e,4 e8 e fis'     |
+  gis8. e fis8 fis,2             |
+}
+
+bassBWithHarmonic = \relative c {
+  \bassB
+  a,8. b8 r16 e,2
+  \ottava #1 d'''8\flageolet \ottava #0 |
+}
+
+bassBWithoutHarmonic = \relative c {
+  \bassB
+  a,8. b8 r16 e,2 f8 |
+}
+
+bassTransition = \relative fis,, {
+  \repeat volta 2 {
+    fis16 r8. fis16 r8 e16 fis fis fis8 r4    |
+    fis16 r8. fis16 r8 e16 fis fis e fis8 r8. |
+    fis16 r8. fis16 r8 e16 fis fis fis8 r4    |
+    fis16 r8. fis16 r8 e16 fis fis e fis8 r8. |
+  }
+
+  \repeat volta 4 {
+    r16 fis8 e16 fis8 e16 fis8 fis8 r16 r4      |
+    r16 fis8 e16 fis8 e16 fis16 r16 fis16 e4 r8 |
+  }
+}
+
+bassThree = \relative fis,, {
+  \time 6/8
+  \repeat unfold 2 {
+    e16   fis8 fis fis16
+    fis16 gis8 gis gis16 |
+    gis16 a8   a   r16
+    b,8 b b              |
+  }
+
+  d'8. d8 d16    e8. e8 e16    |
+  r16 d r d r d  e8. e16 fis e |
+  d8. d8 d16     e8. e8 e16    |
+  \time 7/8
+  r16 cis8 cis r16 cis8 cis a16 b fis8 |
+}
+
+bassReprise = \relative fis,, {
+  \time 4/4
+  e1 | dis'8. b8 g16 e'4. e,8 g16 fis  |
+  e4. a4 g8 fis e | c' g d' e e, e e e |
+
+  %% TODO: simplify
+  e e16 e e8 e16 e e e e8 e d'         |
+  dis8. b8 g16 e'4 e,16 e g' e, a' b   |
+  e,,8 e16 e e8 a16 a a a a8 a16 a a a |
+  c c, c c' c, c e' e, e e e e e e e e |
+}
+
+bassFinal = \relative fis,, {
+  \repeat volta 4 {
+    e8. e16 r8*4 r16 e16 d' e |
+    dis8. b8 c16 e,2 d'16 e   |
+    e,8. e16 r8*5 a16 b c8. c8 d16 e,2 r8 |
+  }
+
+  %% TODO
+  a16 r8 a16 r16 a a'4. a,16 g' a b, |
+  c8 c c c16 g8. g8 g gis |
+  a16 r8 a16 r16 a a'4. a,16 g' a b, |
+  dis8 dis' r8 dis,16 ais |
+
+  %% TODO: final note missing
+}
+
+bass = {
+  \set Staff.midiInstrument = #"electric bass (finger)"
+  \set Staff.pedalSustainStyle = #'bracket
+  \clef "bass_8"
+
+  %% Intro
+  \time 4/4
+  R1*8
+
+  \key b \minor
+  \bassA
+  \key e \major
+  \bassBWithHarmonic
+
+  \key b \minor
+  \bassA
+  \key e \major
+  \bassBWithoutHarmonic
+
+  \key fis \minor
+  \bassTransition
+  \bassThree
+
+  %% TODO: wrong key
+  \bassReprise
+  \bassFinal
+}
diff --git a/02-song2/parts/keys.ly b/02-song2/parts/keys.ly
new file mode 100644 (file)
index 0000000..b84ed25
--- /dev/null
@@ -0,0 +1 @@
+keyboard = {}
diff --git a/02-song2/parts/stick.ly b/02-song2/parts/stick.ly
new file mode 100644 (file)
index 0000000..37bc7aa
--- /dev/null
@@ -0,0 +1,44 @@
+stickIntroLeft = \relative c {
+  <b a' d>8 r16 <b a' d>8 r16
+  <b gis' d'>4 b8 ~ <b gis' d'> b |
+  <b g' d'>8 r16 <b g' d'>8 r16
+  <b fis' d'>4 b8 ~ <b fis' d'>4  |
+
+  <b a' d>8 r16 <b a' d>8 r16
+  <b gis' d'>4 b8 ~ <b gis' d'> b |
+  <b g' d'>8 r16 <b g' d'>8 r16
+  <b fis' d'>8 ~ <b fis' d'>2     |
+}
+
+stickIntroRight = \relative c' {
+  fis8. fis e4 r16 ais,16 b cis d gis, |
+  e'8.  e   d4 r4.                     |
+  fis8. fis e4 r4.                     |
+  d8.   cis b4 r4.                     |
+}
+
+
+stick = \new PianoStaff <<
+  \set PianoStaff.midiInstrument = #"clav"
+  \set PianoStaff.pedalSustainStyle = #'bracket
+
+  \new Staff \relative c' {
+    \key b \minor
+    \clef "treble_8"
+
+    %% intro
+    \time 4/4
+    \stickIntroRight
+  }
+
+  %% staff for left hand side
+  \new Staff \relative c  {
+    \key b \minor
+    \clef "bass"
+
+    %% intro
+    \time 4/4
+    \repeat unfold 2 \stickIntroLeft
+  }
+>>
+