From: Graham Percival Date: Mon, 17 Jan 2005 19:03:16 +0000 (+0000) Subject: Misc doc additions. X-Git-Tag: release/2.5.14~243 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=42b7a7710a4c7133ece008c11afe484b36958eff;p=lilypond.git Misc doc additions. --- diff --git a/ChangeLog b/ChangeLog index a0ef10ad44..7746c4767e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2005-01-17 Graham Percival + + * 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 * buildscripts/mf-to-table.py: Use `FetaAlphabetEncoding' for diff --git a/Documentation/user/changing-defaults.itely b/Documentation/user/changing-defaults.itely index 5e47aae1a5..ac515ce1c9 100644 --- a/Documentation/user/changing-defaults.itely +++ b/Documentation/user/changing-defaults.itely @@ -172,7 +172,7 @@ This is useful if the context is referred to later on. For example, when 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 @@ -624,6 +624,21 @@ will also work. 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 diff --git a/Documentation/user/examples.itely b/Documentation/user/examples.itely index 095d5d5c86..cf593260b3 100644 --- a/Documentation/user/examples.itely +++ b/Documentation/user/examples.itely @@ -670,6 +670,109 @@ bassWords = \lyricmode { @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 diff --git a/Documentation/user/notation.itely b/Documentation/user/notation.itely index 4ae9b06b0c..cc66e5e7aa 100644 --- a/Documentation/user/notation.itely +++ b/Documentation/user/notation.itely @@ -3759,6 +3759,7 @@ for complex vocal music. * Flexibility in alignment:: * More stanzas:: * Ambitus:: +* Other vocal issues:: @end menu @node Setting simple songs @@ -4405,6 +4406,61 @@ Examples: @inputfileref{input/@/regression,ambitus@/.ly}. 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 @@ -5536,7 +5592,7 @@ The first @code{g} appears only once, although it was 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 @@ -5551,6 +5607,20 @@ may set the property @code{printPartCombineTexts} to false >> @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,