]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/snippets/new/vocal-ensemble-template-with-automatic-piano-reduction.ly
resolve merge
[lilypond.git] / Documentation / snippets / new / vocal-ensemble-template-with-automatic-piano-reduction.ly
diff --git a/Documentation/snippets/new/vocal-ensemble-template-with-automatic-piano-reduction.ly b/Documentation/snippets/new/vocal-ensemble-template-with-automatic-piano-reduction.ly
new file mode 100644 (file)
index 0000000..7c99b53
--- /dev/null
@@ -0,0 +1,101 @@
+\version "2.14.0"
+
+\header {
+  lsrtags = "vocal-music, keyboards, template"
+
+  texidoc = "
+This template adds an automatic piano reduction to the standard SATB
+vocal score demonstrated in @qq{Vocal ensemble template}. This
+demonstrates one of the strengths of LilyPond – you can use a music
+definition more than once. If any changes are made to the vocal notes
+(say, @code{tenorMusic}), then the changes will also apply to the piano
+reduction.
+"
+  doctitle = "Vocal ensemble template with automatic piano reduction"
+}
+
+\paper {
+  top-system-spacing #'basic-distance = #10
+  score-system-spacing #'basic-distance = #20
+  system-system-spacing #'basic-distance = #20
+  last-bottom-spacing #'basic-distance = #10
+}
+
+global = {
+  \key c \major
+  \time 4/4
+}
+
+sopMusic = \relative c'' {
+  c4 c c8[( b)] c4
+}
+sopWords = \lyricmode {
+  hi hi hi hi
+}
+
+altoMusic = \relative c' {
+  e4 f d e
+}
+altoWords =\lyricmode {
+  ha ha ha ha
+}
+
+tenorMusic = \relative c' {
+  g4 a f g
+}
+tenorWords = \lyricmode {
+  hu hu hu hu
+}
+
+bassMusic = \relative c {
+  c4 c g c
+}
+bassWords = \lyricmode {
+  ho ho ho ho
+}
+
+\score {
+  <<
+    \new ChoirStaff <<
+      \new Lyrics = "sopranos" \with {
+        % This is needed for lyrics above a staff
+        \override VerticalAxisGroup #'staff-affinity = #DOWN
+      }
+      \new Staff = "women" <<
+        \new Voice = "sopranos" { \voiceOne << \global \sopMusic >> }
+        \new Voice = "altos" { \voiceTwo << \global \altoMusic >> }
+      >>
+      \new Lyrics = "altos"
+      \new Lyrics = "tenors" \with {
+        % This is needed for lyrics above a staff
+        \override VerticalAxisGroup #'staff-affinity = #DOWN
+      }
+
+      \new Staff = "men" <<
+        \clef bass
+        \new Voice = "tenors" { \voiceOne << \global \tenorMusic >> }
+        \new Voice = "basses" { \voiceTwo << \global \bassMusic >> }
+      >>
+      \new Lyrics = "basses"
+      \context Lyrics = "sopranos" \lyricsto "sopranos" \sopWords
+      \context Lyrics = "altos" \lyricsto "altos" \altoWords
+      \context Lyrics = "tenors" \lyricsto "tenors" \tenorWords
+      \context Lyrics = "basses" \lyricsto "basses" \bassWords
+    >>
+    \new PianoStaff <<
+      \new Staff <<
+        \set Staff.printPartCombineTexts = ##f
+        \partcombine
+        << \global \sopMusic >>
+        << \global \altoMusic >>
+      >>
+      \new Staff <<
+        \clef bass
+        \set Staff.printPartCombineTexts = ##f
+        \partcombine
+        << \global \tenorMusic >>
+        << \global \bassMusic >>
+      >>
+    >>
+  >>
+}