X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fnotation%2Fstaff.itely;h=efb3ff6aad100ec1b294d1a8cd0abe0d03a6b82a;hb=10bd5cc93870ac4b884b8cb938cfc6a19c768097;hp=c9a8254d901e65014e10227bc65f03de8852f7f4;hpb=69f0ec479a6ade46d0a227755bb02562112c6743;p=lilypond.git diff --git a/Documentation/notation/staff.itely b/Documentation/notation/staff.itely index c9a8254d90..efb3ff6aad 100644 --- a/Documentation/notation/staff.itely +++ b/Documentation/notation/staff.itely @@ -3,10 +3,11 @@ Translation of GIT committish: FILL-IN-HEAD-COMMITTISH When revising a translation, copy the HEAD committish of the - version that you are working on. See TRANSLATION for details. + version that you are working on. For details, see the Contributors' + Guide, node Updating translation committishes.. @end ignore -@c \version "2.12.0" +@c \version "2.13.36" @node Staff notation @section Staff notation @@ -34,6 +35,7 @@ grouping staves. * Instantiating new staves:: * Grouping staves:: * Nested staff groups:: +* Separating systems:: @end menu @@ -87,7 +89,7 @@ For details, see @ref{Percussion staves}. @code{RhythmicStaff} creates a single-line staff that only displays the rhythmic values of the input. Real durations are -preserved. For details, see @ref{Showing melody rhythms}. +preserved. For details, see @ref{Showing melody rhythms}. @lilypond[verbatim,quote,relative=2] \new RhythmicStaff { c4 d e f } @@ -331,6 +333,55 @@ Internals Reference: @rinternals{SystemStartBracket}, @rinternals{SystemStartSquare}. +@node Separating systems +@unnumberedsubsubsec Separating systems + +@cindex system separator mark + +If the number of systems per page changes from page to page it is +customary to separate the systems by placing a system separator mark +between them. By default the system separator is blank, but can be +turned on with a @code{\paper} option. + +@c \book is required here to display the system separator +@c ragged-right is required as there are two systems +@lilypond[verbatim,quote,ragged-right] +\book { + \score { + \new StaffGroup << + \new Staff { + \relative c'' { + c4 c c c + \break + c4 c c c + } + } + \new Staff { + \relative c'' { + c4 c c c + \break + c4 c c c + } + } + >> + } + \paper { + system-separator-markup = \slashSeparator + % following commands are needed only to format this documentation + paper-width = 100\mm + paper-height = 100\mm + tagline = ##f + } +} +@end lilypond + +@seealso +Notation Reference: +@ref{Page formatting}. + +Snippets: +@rlsr{Staff notation}. + @node Modifying single staves @subsection Modifying single staves @@ -587,11 +638,11 @@ example. @end lilypond -Using the @code{\RemoveEmptyStaffContext} command to create ossia +Using the @code{\Staff \RemoveEmptyStaves} command to create ossia staves may be used as an alternative. This method is most convenient when ossia staves occur immediately following a line break. For more information about -@code{\RemoveEmptyStaffContext}, see @ref{Hiding staves}. +@code{\Staff \RemoveEmptyStaves}, see @ref{Hiding staves}. @lilypond[verbatim,quote,ragged-right] << @@ -617,7 +668,7 @@ break. For more information about \layout { \context { - \RemoveEmptyStaffContext + \Staff \RemoveEmptyStaves \override VerticalAxisGroup #'remove-first = ##t } } @@ -661,7 +712,7 @@ Internals Reference: @cindex hiding of staves @cindex empty staves -@funindex \RemoveEmptyStaffContext +@funindex \RemoveEmptyStaves @funindex RemoveEmptyStaffContext @funindex Staff_symbol_engraver @funindex \stopStaff @@ -681,19 +732,19 @@ alternative, @code{\stopStaff} may be used. Empty staves can be hidden by setting the -@code{\RemoveEmptyStaffContext} command in the @code{\layout} +@code{\Staff \RemoveEmptyStaves} command in the @code{\layout} block. In orchestral scores, this style is known as @q{Frenched Score}. By default, this command hides and removes all empty staves in a score except for those in the first system. @warning{A staff is considered empty when it contains only -multi-measure rests, skips, spacer rests, or a combination of these +multi-measure rests, rests, skips, spacer rests, or a combination of these elements.} @lilypond[verbatim,quote,ragged-right] \layout { \context { - \RemoveEmptyStaffContext + \Staff \RemoveEmptyStaves } } @@ -714,29 +765,24 @@ elements.} @cindex ossia @noindent -@code{\RemoveEmptyStaffContext} can also be used to create ossia +@code{\Staff \RemoveEmptyStaves} can also be used to create ossia sections for a staff. For details, see @ref{Ossia staves}. @cindex hiding ancient staves @cindex hiding rhythmic staves -@funindex \RemoveEmptyStaffContext -@funindex RemoveEmptyStaffContext -@funindex \AncientRemoveEmptyStaffContext -@funindex AncientRemoveEmptyStaffContext -@funindex \RemoveEmptyRhythmicStaffContext -@funindex RemoveEmptyRhythmicStaffContext +@funindex \RemoveEmptyStaves -The @code{\AncientRemoveEmptyStaffContext} command may be used to +The @code{\VaticanaStaff \RemoveEmptyStaves} command may be used to hide empty staves in ancient music contexts. Similarly, -@code{\RemoveEmptyRhythmicStaffContext} may be used to hide empty +@code{\RhythmicStaff \RemoveEmptyStaves} may be used to hide empty @code{RhythmicStaff} contexts. @predefined -@code{\RemoveEmptyStaffContext}, -@code{\AncientRemoveEmptyStaffContext}, -@code{\RemoveEmptyRhythmicStaffContext}. +@code{\Staff \RemoveEmptyStaves}, +@code{\VaticanaStaff \RemoveEmptyStaves}, +@code{\RhythmicStaff \RemoveEmptyStaves}. @endpredefined @@ -750,9 +796,16 @@ hide empty staves in ancient music contexts. Similarly, Music Glossary: @rglos{Frenched staff}. +Learning Manual: +@rlearning{Visibility and color of objects}. + Notation Reference: +@ref{Changing context default settings}, @ref{Staff symbol}, -@ref{Ossia staves}. +@ref{Ossia staves}, +@ref{Hidden notes}, +@ref{Invisible rests}, +@ref{Visibility of objects}. Snippets: @rlsr{Staff notation}. @@ -778,6 +831,9 @@ engraver: \override NoteHead #'no-ledgers = ##t @end example +For the Known issues and warnings associated with +@code{\Staff \RemoveEmptyStaves} see @ref{Changing context default +settings}. @node Writing parts @subsection Writing parts @@ -787,99 +843,11 @@ instrument names into a score. Methods to quote other voices and format cue notes are also described. @menu -* Metronome marks:: * Instrument names:: * Quoting other voices:: * Formatting cue notes:: @end menu - -@node Metronome marks -@unnumberedsubsubsec Metronome marks - -@cindex tempo -@cindex beats per minute -@cindex metronome mark -@cindex metronome marking with text - -@funindex \tempo -@funindex tempo - -A basic metronome mark is simple to write: - -@lilypond[verbatim,quote,relative=1] -\tempo 4 = 120 -c2 d -e4. d8 c2 -@end lilypond - -Tempo indications with text can be used instead: - -@lilypond[verbatim,quote,relative=2] -\tempo "Allegretto" -c4 e d c -b4. a16 b c4 r4 -@end lilypond - -Combining a metronome mark and text will automatically place the -metronome mark within parentheses: - -@lilypond[verbatim,quote,relative=2] -\tempo "Allegro" 4 = 160 -g4 c d e -d4 b g2 -@end lilypond - -In general, the text can be any markup object: - -@lilypond[verbatim,quote,relative=2] -\tempo \markup { \italic Faster } 4 = 132 -a8-. r8 b-. r gis-. r a-. r -@end lilypond - -A parenthesized metronome mark with no textual indication may be -written by including an empty string in the input: - -@lilypond[verbatim,quote,relative=2] -\tempo "" 8 = 96 -d4 g e c -@end lilypond - - -@snippets - -@lilypondfile[verbatim,lilyquote,texidoc,doctitle] -{printing-metronome-and-rehearsal-marks-below-the-staff.ly} - -@c perhaps also an example of how to move it horizontally? - -@lilypondfile[verbatim,lilyquote,texidoc,doctitle] -{changing-the-tempo-without-a-metronome-mark.ly} - -@lilypondfile[verbatim,lilyquote,texidoc,doctitle] -{creating-metronome-marks-in-markup-mode.ly} - -For more details, see @ref{Formatting text}. - - -@seealso -Music Glossary: -@rglos{metronome}, -@rglos{metronomic indication}, -@rglos{tempo indication}, -@rglos{metronome mark}. - -Notation Reference: -@ref{Formatting text}, -@ref{MIDI output}. - -Snippets: -@rlsr{Staff notation}. - -Internals Reference: -@rinternals{MetronomeMark}. - - @node Instrument names @unnumberedsubsubsec Instrument names @@ -972,7 +940,10 @@ For details, see @ref{Modifying context plug-ins}. @cindex instrument names, changing @cindex changing instrument names -Instrument names may be changed in the middle of a piece: +Instrument names may be changed in the middle of a piece. +However, remember that @code{instrumentName} will not be +displayed in the middle of the piece, as it only appears +on the first staff: @lilypond[verbatim,quote,ragged-right,relative=1] \set Staff.instrumentName = #"First" @@ -1079,12 +1050,13 @@ The @code{\quoteDuring} command is used to indicate the point where the quotation begins. It is followed by two arguments: the name of the quoted voice, as defined with @code{\addQuote}, and a music expression that indicates the duration of the quote, usually spacer rests or -multi-measure rests. The corresponding music from the quoted voice is -inserted into the music expression: +multi-measure rests. The corresponding music (including all articulations, +dynamics, markup, etc.) from the quoted voice is inserted into the music +expression: @lilypond[verbatim,quote] flute = \relative c'' { - a4 gis g gis + a4 gis g->\f gis^\markup{quoted} } \addQuote "flute" { \flute } @@ -1129,6 +1101,23 @@ It is possible to tag quotations with unique names in order to process them in different ways. For details about this procedure, see @ref{Using tags}. +It is also possible to adjust which objects from the original voice are quoted +by changing the @code{quotedEventTypes} property. By default, its value is +@code{#'(StreamEvent)}, which means that everything is quoted. Setting it +to e.g. @code{#'(note-event rest-event tie-event)} causes lilypond to quote +only notes, rests and ties, but no articulations, markup or dynamics. + +@lilypond[verbatim,quote] +clarinet = \relative c'' { + a4 gis g->\f gis^\markup{quoted} +} +\addQuote "clarinet" { \clarinet } + +\relative c' { + \set Score.quotedEventTypes = #'(note-event rest-event tie-event) + c4 cis \quoteDuring #"clarinet" { s2 } +} +@end lilypond @snippets @@ -1141,6 +1130,7 @@ see @ref{Using tags}. @cindex rest-event @funindex quotedEventTypes +@funindex quotedCueEventTypes @lilypondfile[verbatim,lilyquote,texidoc,doctitle] {quoting-another-voice.ly} @@ -1163,8 +1153,9 @@ Internals Reference: Only the contents of the first @code{Voice} occurring in an @code{\addQuote} command will be considered for quotation, so -@var{music} cannot contain @code{\new} and @code{\context Voice} -statements that would switch to a different Voice. +@code{@var{music}} cannot contain @code{\new} and +@code{\context Voice} statements that would switch to a different +Voice. Quoting grace notes is broken and can even cause LilyPond to crash. @@ -1199,17 +1190,18 @@ notes into a part. The syntax is as follows: \cueDuring #@var{partname} #@var{voice} @var{music} @end example -This command copies the corresponding measures from @var{partname} -into a @code{CueVoice} context. The @code{CueVoice} is created -implicitly, and occurs simultaneously with @var{music}, which -creates a polyphonic situation. The @var{voice} argument -determines whether the cue notes should be notated as a first or -second voice; @code{UP} corresponds to the first voice, and -@code{DOWN} corresponds to the second. +This command copies only the notes and rests from the +corresponding measures from @code{@var{partname}} into a +@code{CueVoice} context. The @code{CueVoice} is created +implicitly, and occurs simultaneously with @code{@var{music}}, +which creates a polyphonic situation. The @code{@var{voice}} +argument determines whether the cue notes should be notated as a +first or second voice; @code{UP} corresponds to the first voice, +and @code{DOWN} corresponds to the second. @lilypond[verbatim,quote] oboe = \relative c'' { - r2 r8 d16 f e g f a + r2 r8 d16(\f f e g f a) g8 g16 g g2. } \addQuote "oboe" { \oboe } @@ -1225,6 +1217,30 @@ In the above example, the @code{Voice} context had to be explicitly declared, or else the entire music expression would belong to the @code{CueVoice} context. +It is possible to adjust which aspects of the music are quoted with +@code{\cueDuring} by setting the @code{quotedCueEventTypes} property. Its +default value is @code{#'(note-event rest-event tie-event beam-event +tuplet-span-event)}, which means that only notes, rest, ties, beams and +tuplets are quoted, but not articulations, dynamic marks, markup etc. + +@lilypond[verbatim,quote] +oboe = \relative c'' { + r2 r8 d16(\f f e g f a) + g8 g16 g g2. +} +\addQuote "oboe" { \oboe } + +\new Voice \relative c'' { + \set Score.quotedCueEventTypes = #'(note-event rest-event tie-event + beam-event tuplet-span-event + dynamic-event slur-event) + \cueDuring #"oboe" #UP { R1 } + g2 c, +} +@end lilypond + + + The name of the cued instrument can be printed by setting the @code{instrumentCueName} property in the @code{CueVoice} context. @@ -1312,6 +1328,27 @@ It is possible to tag cued parts with unique names in order to process them in different ways. For details about this procedure, see @ref{Using tags}. +@cindex notes, smaller +@cindex smaller notes + +A @code{CueVoice} context may be created explicitly if notes of a +smaller size are required, for example to set an alternative +sequence of notes more suitable for a higher or lower voice. + +@lilypond[verbatim,relative=2] +\time 12/8 +\key ees \major +g4 ees8 f4 g8 +\stemDown +<< + { d4. bes4 c8 } + \new CueVoice + { g'4. f4 ees8 } +>> +\stemUp +d2. d2. +@end lilypond + @seealso Notation Reference: