From: Graham Percival Date: Sat, 1 Mar 2008 22:44:55 +0000 (-0800) Subject: Update from Till. X-Git-Tag: release/2.11.42-1~7^2~12 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=497d1951590bd34aae949edc1eec219b88365b9d;p=lilypond.git Update from Till. --- diff --git a/Documentation/user/staff.itely b/Documentation/user/staff.itely index 618bc6bf27..c6f8411095 100644 --- a/Documentation/user/staff.itely +++ b/Documentation/user/staff.itely @@ -12,17 +12,14 @@ @lilypondfile[quote,ragged-right,line-width=16\cm,staffsize=16] {staff-headword.ly} -Notes, dynamic signs, rests, etc., are grouped with a set of horizontal -lines, called a staff (plural @q{staves}). In LilyPond, these -lines are drawn using a separate layout object called @code{staff -symbol}. - -Two or more staves can be grouped vertically in a @code{GrandStaff}, a -@code{StaffGroup}, or a @code{ChoirStaff}. +This section explains how to influence the staff appearance, +print scores with more than one staff, and +how to apply specific performance marks to single staves. @menu -* Displaying staves:: +* Displaying staves:: +* Modifying single staves:: * Writing parts:: @end menu @@ -30,87 +27,255 @@ Two or more staves can be grouped vertically in a @code{GrandStaff}, a @node Displaying staves @subsection Displaying staves +This section shows the different possibilities to create and group +staves into groups, which can be marked in the beginning of each +line with either a bracket or a brace. + + + @menu -* System start delimiters:: -* Staff symbol:: -* Hiding staves:: +* Initiating new staves:: +* Grouping staves:: +* Deeper nested staff groups:: @end menu -@node System start delimiters -@subsubsection System start delimiters +@node Initiating new staves +@subsubsection Initiating new staves + +@cindex new staff +@cindex staff initiation +@cindex staff, new + +The lines of a staff are produced by a @code{staff symbol} layout object. +LilyPond ensures that all music is printed on staff lines so if you just +type in some notes, the staff symbol is added automatically to the output. +This is just a shortcut to make the program usage more easy, but in most +cases where you want to print more complex music on more than on staff +it is better to create the staff explicitly at the beginning of your +music inside of the @code{\score} environment. + +With the command @code{\new Staff @{ ... @}} you actually call a new +Staff context that has already everything set up to the default +engraving rules. @ref{Creating contexts} explains how different contexts +are called. + +Once a staff is instantiated it can be started or stopped at every point +in the score. This is done with the commands @code{\startStaff} and +@code{\stopStaff}. How to use it is shown in @ref{Staff symbol}. + +Besides the default @code{Staff} context there are also +specialized staff contexts for setting percussion, Guitar music, +and ancient music. +@c No need to mention all the other contexts? +See @ref{Printing chord names}, @ref{Percussion staves}, +@ref{Tablatures basic}, @ref{Gregorian Chant contexts}, and +@ref{Mensural contexts} for an explanation. + +@seealso + +Music Glossary: @rglos{staff}, @rglos{staves} + +Snippets: @lsrdir{Staff,Staff-notation} + +Internals Reference: @internalsref{Staff} + + + +@node Grouping staves +@subsubsection Grouping staves @cindex start of system @cindex staff, multiple +@cindex staves, multiple +@cindex system start delimiters @cindex bracket, vertical @cindex brace, vertical @cindex grand staff +@cindex piano staff @cindex staff group @cindex staff, choir +@cindex choir staff @cindex system -Many scores consist of more than one staff. These staves can be -grouped in several different ways: +LilyPond provides different types of contexts to group single staves +together. These contexts influence in the first place the appearance +of the system start delimiter, but they have also influence on the +behaviour of the bar lines. + @itemize @item -In a @code{GrandStaff}, the group is started with a brace -at the left, and bar lines are connected between the staves. +If no context is specified, the default properties for the score +will be used: the group is started with a vertical line, and the +bar lines are not connected. -@lilypond[verbatim,ragged-right,quote] -\new GrandStaff -\relative << - \new Staff { c1 c } - \new Staff { c c } ->> +@lilypond[verbatim,ragged-right,quote,relative=2] + << + \new Staff { c1 c } + \new Staff { c c } + >> @end lilypond @item In a @code{StaffGroup}, the bar lines will be drawn through -all the staves, but the group is started with a bracket. +all the staves, and the group is started with a bracket. -@lilypond[verbatim,ragged-right,quote] -\new StaffGroup -\relative << - \new Staff { c1 c } - \new Staff { c c } ->> +@lilypond[verbatim,ragged-right,quote,relative=2] + \new StaffGroup + << + \new Staff { c1 c } + \new Staff { c c } + >> @end lilypond @item -In a @code{ChoirStaff}, the group is started with a -bracket, but bar lines are not connected. - -@lilypond[verbatim,ragged-right,quote] -\new ChoirStaff -\relative << - \new Staff { c1 c } - \new Staff { c c } ->> +In a @code{ChoirStaff}, the group is +started with a bracket, but bar lines are not connected. + +@lilypond[verbatim,ragged-right,quote,relative=2] + \new ChoirStaff + << + \new Staff { c1 c } + \new Staff { c c } + >> @end lilypond @item -If no context is specified, the default properties for the score -will be used: the group is started with a vertical line, and the -bar lines are not connected. +In a @code{GrandStaff}, the group is started with a brace +at the left, and bar lines are connected between the staves. -@lilypond[verbatim,ragged-right,quote] -\relative << - \new Staff { c1 c } - \new Staff { c c } ->> +@lilypond[verbatim,ragged-right,quote,relative=2] + \new GrandStaff + << + \new Staff { c1 c } + \new Staff { c c } + >> @end lilypond + +@item +The @code{PianoStaff} behaves almost as the @code{GrandStaff} but is +optimized for setting piano music. + +@lilypond[verbatim,ragged-right,quote,relative=2] + \new PianoStaff + << + \new Staff { c1 c } + \new Staff { c c } + >> +@end lilypond + @end itemize -@cindex Mensurstriche layout -@cindex Renaissance music +According to classic engraver rules an orchestral score consists of +staves connected only with a single line at the beginning of the system. +In LilyPond this is produced grouping the @code{Staff} contexts with +@code{<< ... >>}. + +Each instrument family is grouped inside of a @code{StaffGroup} with a +starting bracket. A group of same instruments or an instrument using +more than one staff is grouped with braces in a @code{GrandStaff}. + +Piano music is notated with the @code{PianoStaff} context, that produces +a starting brace and conntects the bar lines between the systems. + +Choral music (vocal music for more than one voice) is notated using the +@code{ChoirStaff} context that produces a starting bracket but does not +connect the bar lines between the staves so the lyrics will not collide +with bar lines. + +Here is an example of an orchestral score using groupings. Note that the +instrument names are omited here, see @ref{Instrument names} how to set +them. + +@lilypond[verbatim,ragged-right,quote,relative=2] + \score{ + << + \new StaffGroup %the woodwinds group + << + \new Staff { c1 c } + \new Staff { c c } + \new Staff { c c } + >> + \new StaffGroup %the brass group + << + \new Staff { c c } + \new Staff { c c } + \new GrandStaff %the horns need two staves + << + \new Staff { c c } + \new Staff {\clef bass c c } + >> + >> + \new ChoirStaff + << + \new Staff { c c } + \new Staff {\clef alto c c } + \new Staff {\clef bass c c } + >> + \new PianoStaff %for the piano + << + \new Staff { c c } + \new Staff {\clef bass c c } + >> + >> + } +@end lilypond + +@cindex mensurstriche layout +@cindex renaissance music +@cindex transcription of mensural music +@cindex mensural music, transcription of -In addition to these four staff group types, other groupings can -be produced by changing various properties. E.g., the +Other groupings may be achieved by changin various properties. +E.g., the @q{Mensurstriche} layout common in Renaissance music, with bar lines running between but not through the staves, can be produced from a @code{StaffGroup} or @code{GrandStaff} context if -the bar lines are made transparent in the @code{Staff} itself, with -the command @code{\override Staff.BarLine #'transparent = ##t} +the bar lines are made transparent in the @code{Staff} itself: + +@lilypond[verbatim,ragged-right,quote,relative=2] + global = {\override Staff.BarLine #'transparent = ##t + s1 s + %the final bar line is not interupted + \once \override Staff.BarLine #'transparent = ##f + \bar "|."} + \new StaffGroup + << + \new Staff {<< \global { c1 c } >>} + \new Staff {<< \global { c c } >>} + >> +@end lilypond + + +@c FIXME: Graham will deal with this. -gp +@c snippet 201 +To display a bracket even if there is only one staff, see +@c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc] +@c {staff,display-bracket-with-only-one-staff-in-a system.ly} + +@seealso + +Music Glossary: @rglos{brace}, +@rglos{bracket}. + +Snippets: @lsrdir{Staff,Staff-notation} + +Internals Reference: @internalsref{ChoirStaff}, +@internalsref{GrandStaff}, @internalsref{StaffGroup}, +@internalsref{SystemStartBar}, @internalsref{SystemStartBrace}, +@internalsref{SystemStartBracket}. + + + +@node Deeper nested staff groups +@subsubsection Deeper nested staff groups + +The last section explained the grouping of staves and also the nesting +of different types of staves together. So the @q{Horn section} in our +example above is contained both in a @code{StaffGroup} and a +@code{GrandStaff}. + +Here about innerChoirStaff and innerStaffGroup @cindex staff, nested @@ -145,25 +310,31 @@ and @internalsref{SystemStartBracket}. A fourth delimiter, @code{systemStartSquare}, is also available, but must be instantiated manually -@c FIXME: Graham will deal with this. -gp -@c snippet 201 -To display a bracket even if there is only one staff, see -@c @lsr{staff,display-bracket-with-only-one-staff-in-a system.ly} -@seealso -Music Glossary: @rglos{brace}, @rglos{staff}, @rglos{staves} -@rglos{bracket}. +Internals Reference: @internalsref{SystemStartBar}, +@internalsref{SystemStartBrace}, @internalsref{SystemStartBracket}, +@internalsref{systemStartDelimiterHierarchy}. -Snippets: @lsrdir{Staff,Staff-notation} -Internals Reference: @internalsref{ChoirStaff}, -@internalsref{GrandStaff}, @internalsref{StaffGroup}, -@internalsref{SystemStartBar}, @internalsref{SystemStartBrace}, -@internalsref{SystemStartBracket}, -@internalsref{systemStartDelimiterHierarchy}. + + + + + + + +@node Modifying single staves +@subsection Modifying single staves + +@menu +* Staff symbol:: +* Ossia staves:: +* Hiding staves:: +@end menu + @node Staff symbol @subsubsection Staff symbol @@ -189,6 +360,9 @@ b b b b @end lilypond +@node Ossia staves +@subsubsection Ossia staves + @cindex staves, Frenched @cindex ossia @cindex Frenched staves