X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fnotation%2Fstaff.itely;h=1462d0996e6b07cbec99d08948c1e07c4cb315a6;hb=f4d8c77fc2ebac49bbdb0d0e9bec636313508846;hp=a8111bd7c47a7a1a096521fb9b4c5fe5b0727537;hpb=9a73c67a79a21b889d67f8d28f2c106de830d936;p=lilypond.git diff --git a/Documentation/notation/staff.itely b/Documentation/notation/staff.itely index a8111bd7c4..1462d0996e 100644 --- a/Documentation/notation/staff.itely +++ b/Documentation/notation/staff.itely @@ -7,12 +7,14 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.14.0" +@c \version "2.19.2" @node Staff notation @section Staff notation -@lilypondfile[quote]{staff-headword.ly} +@c The line width is a bit of a hack to allow space for the +@c instrument names. +@lilypondfile[quote,ragged-right,line-width=14.5\cm,staffsize=16]{staff-headword.ly} This section explains how to influence the appearance of staves, how to print scores with more than one staff, and how to add tempo @@ -67,7 +69,7 @@ grouping staves. @notation{Staves} (singular: @notation{staff}) are created with the @code{\new} or @code{\context} commands. For details, see -@ref{Creating contexts}. +@ref{Creating and referencing contexts}. The basic staff context is @code{Staff}: @@ -122,7 +124,7 @@ Music Glossary: @rglos{staves}. Notation Reference: -@ref{Creating contexts}, +@ref{Creating and referencing contexts}, @ref{Percussion staves}, @ref{Showing melody rhythms}, @ref{Default tablatures}, @@ -430,67 +432,75 @@ f'4 d \startStaff g, e @endpredefined The lines of a staff belong to the @code{StaffSymbol} grob (including -ledger lines) can be modified using @code{StaffSymbol} properties, but +ledger lines) and can be modified using @code{StaffSymbol} properties, but these modifications must be made before the staff is (re)started. -The number of staff lines can be altered, +The number of staff lines can be altered: @lilypond[verbatim,quote,relative=2] f4 d \stopStaff -\override Staff.StaffSymbol #'line-count = #2 +\override Staff.StaffSymbol.line-count = #2 \startStaff g, e | f'4 d \stopStaff -\revert Staff.StaffSymbol #'line-count +\revert Staff.StaffSymbol.line-count \startStaff g, e | @end lilypond -The position of each the staff lines can also be altered. The values -used are @emph{half} staff line spaces and the new position is relative -to the normal center line. A single staff line is printed for every -value entered so that the number of staff lines, as well as their -position in the staff, can be changed with a single override. +The position of each staff line can also be altered. A list of +numbers sets each line's position. @code{0}@tie{}corresponds to the normal +center line, and the normal line positions are +@code{(-4@tie{}-2@tie{}0@tie{}2@tie{}4)}. A single staff line is +printed for every value entered so that the number of staff lines, as +well as their position, can be changed with a single override. @lilypond[verbatim,quote,relative=2] f4 d \stopStaff -\override Staff.StaffSymbol #'line-positions = #'(1 3 5 -1 -3) +\override Staff.StaffSymbol.line-positions = #'(1 3 5 -1 -3) \startStaff g, e | f'4 d \stopStaff -\override Staff.StaffSymbol #'line-positions = #'(8 6.5 -6 -8 -0.5) +\override Staff.StaffSymbol.line-positions = #'(8 6.5 -6 -8 -0.5) \startStaff g, e @end lilypond -The clef position and the position of middle C may need to be adjusted -accordingly to fit the new lines. See @ref{Clef}. +To preserve typical stem directions (in the bottom half of the staff +stems point up, in the top half they point down), align the center +line (or space) of the customized staff with the position of the +normal center line (0). The clef position and the position of +middle@tie{}C may need to be adjusted accordingly to fit the new +lines. See @ref{Clef}. Staff line thickness can be altered. Ledger lines and note stems, by default, are also affected. @lilypond[verbatim,quote,relative=2] \new Staff \with { - \override StaffSymbol #'thickness = #3 + \override StaffSymbol.thickness = #3 } { f4 d g, e } @end lilypond -However, it is possible to set ledger line thickness independently of -staff lines. The two values required multiply the staff line thickness -with the staff line spacing and are then added together to give the -ledger line thickness. +It is also possible to set ledger line thickness independently of staff +lines. @lilypond[verbatim,quote,relative=2] \new Staff \with { - \override StaffSymbol #'thickness = #2 - \override StaffSymbol #'ledger-line-thickness = #'(0.5 . 0.4) + \override StaffSymbol.thickness = #2 + \override StaffSymbol.ledger-line-thickness = #'(0.5 . 0.4) } { f'4 a, a,, f } @end lilypond +@noindent +The first value is multiplied by the staff line thickness, the second by +the staff space and then the two values are added together to give the +new thickness of the ledger line. + The vertical positions of ledger lines can be altered, @lilypond[verbatim,quote,relative=2] \new Staff \with { - \override StaffSymbol #'ledger-positions = #'(-3 -2 -1 2 5 6) + \override StaffSymbol.ledger-positions = #'(-3 -2 -1 2 5 6) } { f'4 a, a,, f } @end lilypond @@ -501,23 +511,23 @@ also have their own ledger lines. @lilypond[verbatim,quote,relative=2] \new Staff \with { - \override StaffSymbol #'ledger-extra = #4 + \override StaffSymbol.ledger-extra = #4 } { f'4 a, d, f, } @end lilypond -Legder lines can also be made to appear inside the staff where custom +Ledger lines can also be made to appear inside the staff where custom staff lines are required. The example shows the default position of -ledger lines when the explicit @code{legder-position} is and is not set. -The @code{stopStaff} is needed in the example to revert the +ledger lines when the explicit @code{ledger-position} is and is not set. +The @code{\stopStaff} is needed in the example to revert the @code{\override} for the whole @code{StaffSymbol}. -@lilypond[fragment,quote,relative=1] -\override Staff.StaffSymbol #'line-positions = #'(-8 0 2 4) +@lilypond[verbatim,quote,relative=1] +\override Staff.StaffSymbol.line-positions = #'(-8 0 2 4) d4 e f g \stopStaff \startStaff -\override Staff.StaffSymbol #'ledger-positions = #'(-8 -6 (-4 -2) 0) +\override Staff.StaffSymbol.ledger-positions = #'(-8 -6 (-4 -2) 0) d4 e f g @end lilypond @@ -526,7 +536,7 @@ line spacing as well. @lilypond[verbatim,quote,relative=2] \new Staff \with { - \override StaffSymbol #'staff-space = #1.5 + \override StaffSymbol.staff-space = #1.5 } { f'4 d, g, e, } @end lilypond @@ -593,7 +603,7 @@ to align the ossia staff. This method is most appropriate when only a few ossia staves are needed. @lilypond[verbatim,quote] -\new Staff = main \relative c'' { +\new Staff = "main" \relative c'' { c4 b d c << { c4 b d c } @@ -602,8 +612,8 @@ only a few ossia staves are needed. \remove "Time_signature_engraver" alignAboveContext = #"main" fontSize = #-3 - \override StaffSymbol #'staff-space = #(magstep -3) - \override StaffSymbol #'thickness = #(magstep -3) + \override StaffSymbol.staff-space = #(magstep -3) + \override StaffSymbol.thickness = #(magstep -3) firstClef = ##f } { e4 d f e } @@ -622,12 +632,12 @@ example. @lilypond[verbatim,quote,ragged-right] << - \new Staff = ossia \with { + \new Staff = "ossia" \with { \remove "Time_signature_engraver" - \override Clef #'transparent = ##t + \hide Clef fontSize = #-3 - \override StaffSymbol #'staff-space = #(magstep -3) - \override StaffSymbol #'thickness = #(magstep -3) + \override StaffSymbol.staff-space = #(magstep -3) + \override StaffSymbol.thickness = #(magstep -3) } { \stopStaff s1*6 } @@ -635,7 +645,7 @@ example. c4 b c2 << { e4 f e2 } - \context Staff = ossia { + \context Staff = "ossia" { \startStaff e4 g8 f e2 \stopStaff } >> @@ -643,7 +653,7 @@ example. c4 b c2 << { g4 a g2 } - \context Staff = ossia { + \context Staff = "ossia" { \startStaff g4 e8 f g2 \stopStaff } >> @@ -661,12 +671,12 @@ break. For more information about @lilypond[verbatim,quote,ragged-right] << - \new Staff = ossia \with { + \new Staff = "ossia" \with { \remove "Time_signature_engraver" - \override Clef #'transparent = ##t + \hide Clef fontSize = #-3 - \override StaffSymbol #'staff-space = #(magstep -3) - \override StaffSymbol #'thickness = #(magstep -3) + \override StaffSymbol.staff-space = #(magstep -3) + \override StaffSymbol.thickness = #(magstep -3) } \relative c'' { R1*3 c4 e8 d c2 @@ -684,7 +694,7 @@ break. For more information about \layout { \context { \Staff \RemoveEmptyStaves - \override VerticalAxisGroup #'remove-first = ##t + \override VerticalAxisGroup.remove-first = ##t } } @end lilypond @@ -837,8 +847,8 @@ this case, use the following overrides instead of removing the engraver: @example -\override StaffSymbol #'stencil = ##f -\override NoteHead #'no-ledgers = ##t +\omit StaffSymbol +\override NoteHead.no-ledgers = ##t @end example For the Known issues and warnings associated with @@ -908,8 +918,9 @@ multi-line instrument names, @code{\center-column} must be used: { f2 g4 f } \new Staff \with { instrumentName = \markup { - \center-column { "Clarinet" } - \line { "in B" \smaller \flat } + \center-column { "Clarinet" + \line { "in B" \smaller \flat } + } } } { c4 b c2 } @@ -922,7 +933,7 @@ multi-line instrument names, @code{\center-column} must be used: However, if the instrument names are longer, the instrument names in a staff group may not be centered unless the @code{indent} and @code{short-indent} settings are increased. For details about these -settings, see @ref{\paper variables for shifts and indents}. +settings, see @ref{paper variables for shifts and indents,,@code{@bs{}paper} variables for shifts and indents}. @lilypond[verbatim,quote,ragged-right] \relative c'' { @@ -1018,13 +1029,13 @@ expression to declare the instrument switch: R1*16 \instrumentSwitch "contrabassoon" c,,2 g \break - c,1 ~ | c1 + c,1 ~ | 1 } @end lilypond @seealso Notation Reference: -@ref{\paper variables for shifts and indents}, +@ref{paper variables for shifts and indents,,@code{@bs{}paper} variables for shifts and indents}, @ref{Modifying context plug-ins}. Snippets: @@ -1298,7 +1309,7 @@ fluteNotes = \relative c'' { oboeNotes = \relative c'' { R1 - s1*0^\markup { \tiny "flute" } + \new CueVoice { \set instrumentCueName = "flute" } \cueDuring #"flute" #UP { R1 } g2 c, } @@ -1341,10 +1352,13 @@ oboeNotes = \relative c'' { } @end lilypond -Markup can be used to show the name of the quoted instrument. Also, -if the cue notes require a change in clef, this can be done manually but -the original clef should also be restored manually at the end of the cue -notes. +The name of the instrument playing the cue can be printed by setting +the @code{instrumentCueName} property in a temporary @code{CueVoice} +context. The placement and style of the @code{instrumentCueName} is +controlled by the @code{InstrumentSwitch} object, see +@ref{Instrument names}. If the cue notes require a change in clef, +this can be done manually but the original clef should also be +restored manually at the end of the cue notes. @lilypond[verbatim,quote] fluteNotes = \relative c'' { @@ -1355,7 +1369,7 @@ bassoonNotes = \relative c { \clef bass R1 \clef treble - s1*0^\markup { \tiny "flute" } + \new CueVoice { \set instrumentCueName = "flute" } \cueDuring #"flute" #UP { R1 } \clef bass g4. b8 d2 @@ -1381,7 +1395,7 @@ fluteNotes = \relative c'' { bassoonNotes = \relative c { \clef bass R1 - s1*0^\markup { \tiny "flute" } + \new CueVoice { \set instrumentCueName = "flute" } \cueDuringWithClef #"flute" #UP #"treble" { R1 } g4. b8 d2 } @@ -1457,7 +1471,7 @@ bassoonNotes = \relative c { R1 \tag #'part { \clef treble - s1*0^\markup { \tiny "flute" } + \new CueVoice { \set instrumentCueName = "flute" } } \cueDuring #"flute" #UP { R1 } \tag #'part \clef bass