+2005-01-17 Graham Percival <gperlist@shaw.ca>
+
+ * Documentation/user/examples.itely: add SATB automatic piano
+ reduction template.
+
+ * Documentation/user/notation.itely: added info about changing
+ partcombine texts. Also adds examples of alternate lyrics.
+
+ * Documentation/user/changing-defaults.itely: added warning
+ about \RemoveEmptyStaffContext overriding previous changes.
+
2005-01-17 Werner Lemberg <wl@gnu.org>
* buildscripts/mf-to-table.py: Use `FetaAlphabetEncoding' for
setting lyrics the melody is in a named context
@example
-\context Voice = "@b{tenor}" @var{music}
+\CONtext Voice = "@b{tenor}" @var{music}
@end example
@noindent
It is not possible to collect context changes in a variable, and apply
them to one @code{\context} definition by referring to that variable.
+The @code{\RemoveEmptyStaffContext} will override your current
+@code{\Staff} variable. If you wish to change the defaults for a
+staff that uses @code{\RemoveEmptyStaffContext}, you must do so
+after calling @code{\RemoveemptyStaffContext}, ie
+
+@example
+\layout @{
+ \context @{
+ \RemoveEmptyStaffContext
+
+ \override Stem #'thickness = #4.0
+ @}
+@}
+@end example
+
@node Defining new contexts
@subsection Defining new contexts
@end lilypond
+@subsection SATB vocal score and piano reduction
+
+This template adds an automatic piano reduction to the SATB vocal
+score. This demonstrates one of the strengths of LilyPond -- you
+can use a music definition more than once. If you make any changes
+to the vocal notes (say, tenorMusic), then the changes will also
+apply to the piano reduction.
+
+@lilypond[quote,verbatim,raggedright]
+\version "2.4.0"
+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 {
+<<
+ \context ChoirStaff
+ <<
+ \context Lyrics = sopranos { s1 }
+ \context Staff = women <<
+ \context Voice =
+ sopranos { \voiceOne << \global \sopMusic >> }
+ \context Voice =
+ altos { \voiceTwo << \global \altoMusic >> }
+ >>
+ \context Lyrics = altos { s1 }
+ \context Lyrics = tenors { s1 }
+ \context Staff = men <<
+ \clef bass
+ \context Voice =
+ tenors { \voiceOne <<\global \tenorMusic >> }
+ \context Voice =
+ basses { \voiceTwo <<\global \bassMusic >> }
+ >>
+ \context Lyrics = basses { s1 }
+ \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 <<
+ \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 >>
+ >>
+ >>
+>>
+
+ \layout {
+ \context {
+ % a little smaller so lyrics
+ % can be closer to the staff
+ \Staff minimumVerticalExtent = #'(-3 . 3)
+ }
+ }
+}
+@end lilypond
+
+
@c bad node name to avoid node name confict
@node Ancient notation templates
@section Ancient notation templates
* Flexibility in alignment::
* More stanzas::
* Ambitus::
+* Other vocal issues::
@end menu
@node Setting simple songs
There is no collision handling in the case of multiple per-voice
ambitus.
+@node Other vocal issues
+@subsection Other vocal issue
+
+@ignore
+yeah, I'm giving up somewhat by stuffing a bunch of things in
+here. But at least they're in the manual now; it's easier to
+move them around in the manual once they're already here.
+
+Besides, if users complain about everything stuffed in here, I
+can ask them for specific instructions about where to move these
+examples, and that might get them more involved in the docs. -gp
+@end ignore
+
+You can display alternate (or divisi) lyrics by naming voice
+contexts and attaching lyrics to those specific contexts.
+
+@lilypond[verbatim,raggedright,quote]
+\score{ <<
+ \context Voice = "melody" {
+ \relative c' {
+ c4
+ <<
+ { \voiceOne c8 e }
+ \context Voice = splitpart { \voiceTwo c4 }
+ >>
+ \oneVoice c4 c | c
+ }
+ }
+ \new Lyrics \lyricsto "melody" { we shall not o- ver- come }
+ \new Lyrics \lyricsto "splitpart" { shall }
+>> }
+@end lilypond
+
+
+You can use this trick to display different lyrics for a repeated
+section.
+
+@lilypond[verbatim,raggedright,quote]
+\score{ <<
+ \context Voice = melody \relative c' {
+ c2 e | g e | c1 |
+ \context Voice = verse \repeat volta 2 {c4 d e f | g1 | }
+ a2 b | c1}
+ \lyricsto melody \context Lyrics = mainlyrics \lyricmode {
+ do mi sol mi do
+ la si do }
+ \lyricsto verse \context Lyrics = mainlyrics \lyricmode {
+ do re mi fa sol }
+ \lyricsto verse \context Lyrics = repeatlyrics \lyricmode {
+ dodo rere mimi fafa solsol }
+>>
+}
+@end lilypond
+
+
@node Other instrument specific notation, Tablatures, Vocal music, Notation manual
@section Other instrument specific notation
specified twice (once in each part). Stem, slur, and tie directions are
set automatically, depending whether there is a solo or unisono. The
first part (with context called @code{one}) always gets up stems, and
-`solo', while the second (called @code{two}) always gets down stems and
+`Solo', while the second (called @code{two}) always gets down stems and
`Solo II'.
If you just want the merging parts, and not the textual markings, you
>>
@end lilypond
+To change the text that is printed for solos or merging, you may
+set the @code{soloText}, @code{soloIIText}, and @code{aDueText}
+properties.
+
+@lilypond[quote,verbatim,raggedright,fragment,relative=2]
+\new Staff <<
+ \set Score.soloText = #"ichi"
+ \set Score.soloIIText = #"ni"
+ \set Score.aDueText = #"tachi"
+ \partcombine
+ \relative g' { g a( b) r }
+ \relative g' { g r4 r f }
+>>
+@end lilypond
Both arguments to @code{\partcombine} will be interpreted as
@internalsref{Voice} contexts. If using relative octaves,