]> git.donarmstrong.com Git - lilypond.git/commitdiff
Doc: LM: Make verse-and-refrain example into a template.
authorMark Polesky <markpolesky@yahoo.com>
Fri, 14 May 2010 05:33:27 +0000 (22:33 -0700)
committerMark Polesky <markpolesky@yahoo.com>
Fri, 14 May 2010 05:47:20 +0000 (22:47 -0700)
Documentation/learning/fundamental.itely
Documentation/learning/templates.itely
Documentation/snippets/new/vocal-ensemble-template-with-verse-and-refrain.ly [new file with mode: 0644]

index 0965b5a5621e74441ab9c52482fa4da67b6a1f4b..74043244170a6b48465f942d7e0c5a61c48c2da1 100644 (file)
@@ -1334,213 +1334,6 @@ VerseFour  =
 }
 @end lilypond
 
-@cindex verse and refrain
-
-We end with an example to show how we might code a solo verse which
-continues into a two-part refrain in two staves.  The positioning
-of the sequential and simultaneous sections to achieve this within
-a single score is quite tricky, so follow the explanation carefully!
-
-Let's start with a score block containing a @code{ChoirStaff}, as
-we would like the brace to appear at the start of the chorus.
-Normally you would need angle brackets after @code{\new ChoirStaff}
-to bring in all the staves in parallel, but here we want to
-defer the parallelism during the solo so we use braces, although
-angle brackets here wouldn't hurt.  Inside the @code{ChoirStaff} we
-want first the staff which will contain the verse.  This must
-contain notes and lyrics in parallel, so here we need angle
-brackets around the @code{\new Voice} and @code{\new Lyrics} to
-start them at the same time:
-
-@lilypond[quote,verbatim,ragged-right]
-versenotes = \relative c'' {
-  \clef "treble"
-  \key g \major
-  \time 3/4
-  g4 g g | b4 b b |
-}
-
-versewords = \lyricmode {
-  One two three | four five six |
-}
-
-\score {
-  \new ChoirStaff {
-    \new Staff <<
-      \new Voice = "verse" {
-        \versenotes \break
-      }
-      \new Lyrics \lyricsto verse {
-        \versewords
-      }
-    >>
-  }
-}
-@end lilypond
-
-That gives the verse line.
-
-Now we want to continue with refrainA on the same staff while a
-second staff is introduced in parallel with it for refrainB, so
-this is a parallel section which must be positioned immediately
-following the @code{\break} in the verse Voice.  Yes, @emph{within}
-the verse Voice!  Here's that parallel section.  More staves
-could be introduced here in the same way.
-
-@example
-<<
-  \refrainnotesA
-  \new Lyrics \lyricsto verse @{
-    \refrainwordsA
-  @}
-  \new Staff <<
-    \new Voice = "refrainB" @{
-      \refrainnotesB
-    @}
-    \new Lyrics \lyricsto "refrainB" @{
-      \refrainwordsB
-    @}
-  >>
->>
-@end example
-
-Here's the final result with two staves in the chorus showing
-how the parallel section is positioned within the verse Voice:
-
-@lilypond[quote,verbatim, ragged-right]
-versenotes = \relative c'' {
-  \clef "treble"
-  \key g \major
-  \time 3/4
-  g4 g g | b4 b b |
-}
-versewords = \lyricmode {
-  One two three | four five six |
-}
-refrainnotesA = \relative c'' {
-  \clef "treble"
-  \key g \major
-  \time 2/4
-  c4 c | g4 g | \bar "|."
-}
-refrainwordsA = \lyricmode {
-  la la | la la |
-}
-refrainnotesB = \relative c {
-  \clef "bass"
-  \key g \major
-  \time 2/4
-  c4 e | d4 d |
-}
-refrainwordsB = \lyricmode {
-  dum dum | dum dum |
-}
-
-\score {
-  \new ChoirStaff {
-    \new Staff <<
-      \new Voice = "verse" {
-        \versenotes \break
-        <<
-          \refrainnotesA
-          \new Lyrics \lyricsto "verse" {
-            \refrainwordsA
-          }
-          \new Staff <<
-            \new Voice = "refrainB" {
-              \refrainnotesB
-            }
-            \new Lyrics \lyricsto "refrainB" {
-              \refrainwordsB
-            }
-          >>
-        >>
-      }
-      \new Lyrics \lyricsto "verse" {
-        \versewords
-      }
-    >>
-  }
-}
-@end lilypond
-
-@cindex book, example of using
-@funindex \book
-@funindex book
-
-However, although this is an interesting and useful exercise to
-help you to understand how sequential and simultaneous blocks work,
-in practice one would perhaps choose to code this as two
-@code{\score} blocks within an implicit @code{\book} block, as
-follows:
-
-@lilypond[quote,verbatim,ragged-right]
-versenotes = \relative c'' {
-  \clef "treble"
-  \key g \major
-  \time 3/4
-  g4 g g | b4 b b |
-}
-
-versewords = \lyricmode {
-  One two three | four five six |
-}
-
-refrainnotesA = \relative c'' {
-  \clef "treble"
-  \key g \major
-  \time 2/4
-  c4 c | g4 g | \bar "|."
-}
-
-refrainwordsA = \lyricmode {
-  la la | la la |
-}
-
-refrainnotesB = \relative c {
-  \clef "bass"
-  \key g \major
-  \time 2/4
-  c4 e | d4 d |
-}
-
-refrainwordsB = \lyricmode {
-  dum dum | dum dum |
-}
-
-\score {
-  \new Staff <<
-    \new Voice = "verse" {
-      \versenotes
-    }
-    \new Lyrics \lyricsto "verse" {
-      \versewords
-    }
-  >>
-}
-
-\score {
-  \new ChoirStaff <<
-    \new Staff <<
-      \new Voice = "refrainA" {
-        \refrainnotesA
-      }
-      \new Lyrics \lyricsto "refrainA" {
-        \refrainwordsA
-      }
-    >>
-    \new Staff <<
-      \new Voice = "refrainB" {
-        \refrainnotesB
-      }
-      \new Lyrics \lyricsto "refrainB" {
-        \refrainwordsB
-      }
-    >>
-  >>
-}
-@end lilypond
-
 
 @seealso
 Notation Reference: @ruser{Vocal music}.
index 09ee23e626968247b562a141d615b541485b66b2..2940a0d88f54e6d4bd009f5208e8b568de228819 100644 (file)
@@ -110,6 +110,11 @@ beautiful printed scores!
 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
 {vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly}
 
+@appendixsubsec Solo verse and two-part refrain
+
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{vocal-ensemble-template-with-verse-and-refrain.ly}
+
 
 @node Orchestral templates
 @appendixsec Orchestral templates
diff --git a/Documentation/snippets/new/vocal-ensemble-template-with-verse-and-refrain.ly b/Documentation/snippets/new/vocal-ensemble-template-with-verse-and-refrain.ly
new file mode 100644 (file)
index 0000000..82f01ee
--- /dev/null
@@ -0,0 +1,99 @@
+\version "2.13.21"
+
+\header {
+  lsrtags = "vocal-music, contexts-and-engravers, template"
+  texidoc = "
+This template creates a score which starts with a solo verse and
+continues into a refrain for two voices.  It also demonstrates the
+use of spacer rests within the @code{\global} variable to define
+meter changes (and other elements common to all parts) throughout
+the entire score.
+"
+  doctitle = "Solo verse and two-part refrain"
+}
+
+global = {
+  \key g \major
+
+  % verse
+  \time 3/4
+  s2.*2
+  \break
+
+  % refrain
+  \time 2/4
+  s2*2
+  \bar "|."
+}
+
+SoloNotes = \relative g' {
+  \clef "treble"
+
+  % verse
+  g4 g g |
+  b4 b b |
+
+  % refrain
+  R2*2 |
+}
+
+SoloLyrics = \lyricmode {
+  One two three |
+  four five six |
+}
+
+SopranoNotes = \relative c'' {
+  \clef "treble"
+
+  % verse
+  R2.*2 |
+
+  % refrain
+  c4 c |
+  g4 g |
+}
+
+SopranoLyrics = \lyricmode {
+  la la |
+  la la |
+}
+
+BassNotes = \relative c {
+  \clef "bass"
+
+  % verse
+  R2.*2 |
+
+  % refrain
+  c4 e |
+  d4 d |
+}
+
+BassLyrics = \lyricmode {
+  dum dum |
+  dum dum |
+}
+
+\score {
+  <<
+    \new Voice = "SoloVoice" << \global \SoloNotes >>
+    \new Lyrics \lyricsto "SoloVoice" \SoloLyrics
+
+    \new ChoirStaff <<
+      \new Voice = "SopranoVoice" << \global \SopranoNotes >>
+      \new Lyrics \lyricsto "SopranoVoice" \SopranoLyrics
+
+      \new Voice = "BassVoice" << \global \BassNotes >>
+      \new Lyrics \lyricsto "BassVoice" \BassLyrics
+    >>
+  >>
+  \layout {
+    ragged-right = ##t
+    \context { \Staff
+      % these lines prevent empty staves from being printed
+      \RemoveEmptyStaves
+      \override VerticalAxisGroup #'remove-first = ##t
+    }
+  }
+}
+