Guide, node Updating translation committishes..
@end ignore
-@c \version "2.13.36"
+@c \version "2.14.0"
@node Staff notation
@section Staff notation
@rinternals{SystemStartBracket},
@rinternals{SystemStartSquare}.
+@knownissues
+@code{PianoStaff} does not, by default, accept @code{ChordNames}.
+
@node Nested staff groups
@unnumberedsubsubsec Nested staff groups
@seealso
Notation Reference:
-@ref{Page formatting}.
+@ref{Page layout}.
Snippets:
@rlsr{Staff notation}.
@end example
For the Known issues and warnings associated with
-@code{\Staff \RemoveEmptyStaves} see @ref{Changing context default
-settings}.
+@code{\Staff \RemoveEmptyStaves} see
+@ref{Changing context default settings}.
@node Writing parts
@subsection Writing parts
@cindex instrument names, short
Instrument names can be printed on the left side of staves in the
-@code{Staff} and @code{PianoStaff} contexts. The value of
+@code{Staff}, @code{PianoStaff}, @code{StaffGroup}, @code{GrandStaff}
+and @code{ChoirStaff} contexts. The value of
@code{instrumentName} is used for the first staff, and the value
of @code{shortInstrumentName} is used for all succeeding staves.
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{Horizontal dimensions}.
+these settings, see @ref{\paper variables for shifts and indents}.
@lilypond[verbatim,quote,ragged-right]
\layout {
@cindex instrument names, adding to other contexts
To add instrument names to other contexts (such as
-@code{GrandStaff}, @code{ChoirStaff}, or @code{StaffGroup}),
+@code{ChordNames} or @code{FiguredBass}),
@code{Instrument_name_engraver} must be added to that context.
For details, see @ref{Modifying context plug-ins}.
@seealso
Notation Reference:
-@ref{Horizontal dimensions},
+@ref{\paper variables for shifts and indents},
@ref{Modifying context plug-ins}.
Snippets:
@node Quoting other voices
@unnumberedsubsubsec Quoting other voices
-@cindex cues
-@cindex quoting other voices
-@cindex fragments
+@cindex quote, voices
+@cindex voices, quoting
+@cindex fragments, quoting
@cindex cue notes
@funindex \addQuote
@funindex \transposition
@funindex transposition
-It is very common for one voice to double some of the music from
-another voice. For example, the first and second violins may play the
-same notes during a passage of music. In LilyPond this is accomplished
-by letting one voice @emph{quote} the other voice without having to
-re-enter it.
-
-Before a part can be quoted, the @code{\addQuote} command must be used
-to initialize the quoted fragment. This command must be used in the
-toplevel scope. The first argument is an identifying string, and the
-second is a music expression:
+It is very common for one voice to use the same notes as those from
+another voice. For example, first and second violins playing the same
+phrase during a particular passage of the music. This is done by
+letting one voice @emph{quote} the other, without having to re-enter the
+music all over again for the second voice.
-@example
-flute = \relative c'' @{
- a4 gis g gis
-@}
-\addQuote "flute" @{ \flute @}
-@end example
+The @code{\addQuote} command, used in the top level scope, defines a
+stream of music from which fragments can be quoted.
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 (including all articulations,
-dynamics, markup, etc.) from the quoted voice is inserted into the music
-expression:
+for the duration of the quote.
@lilypond[verbatim,quote]
-flute = \relative c'' {
- a4 gis g->\f gis^\markup{quoted}
+fluteNotes = \relative c'' {
+ a4 gis g gis | b4^"quoted" r8 ais\p a4( f)
}
-\addQuote "flute" { \flute }
-\relative c' {
- c4 cis \quoteDuring #"flute" { s2 }
+oboeNotes = \relative c'' {
+ c4 cis c b \quoteDuring #"flute" { s1 }
+}
+
+\addQuote "flute" { \fluteNotes }
+
+\score {
+ <<
+ \new Staff \with { instrumentName = "Flute" } \fluteNotes
+ \new Staff \with { instrumentName = "Oboe" } \oboeNotes
+ >>
}
@end lilypond
-If the music expression used for @code{\quoteDuring} contains
-anything but a spacer rest or multi-measure rest, a polyphonic
-situation is created, which is often not desirable:
+If the music expression used in @code{\quoteDuring} contains notes
+instead of spacer or multimeasure rests then the quote will appear as
+polyphony and may produce unexpected results.
@lilypond[verbatim,quote]
-flute = \relative c'' {
- a4 gis g gis
+fluteNotes = \relative c'' {
+ a4 gis g gis | b4^"quoted" r8 ais\p a4( f)
}
-\addQuote "flute" { \flute }
-\relative c' {
- c4 cis \quoteDuring #"flute" { c4 b }
+oboeNotes = \relative c'' {
+ c4 cis c b \quoteDuring #"flute" { e4 r8 ais b4 a }
+}
+
+\addQuote "flute" { \fluteNotes }
+
+\score {
+ <<
+ \new Staff \with { instrumentName = "Flute" } \fluteNotes
+ \new Staff \with { instrumentName = "Oboe" } \oboeNotes
+ >>
}
@end lilypond
-Quotations recognize instrument transposition settings for both
-the source and target instruments if the @code{\transposition}
-command is used. For details about @code{\transposition}, see
-@ref{Instrument transpositions}.
+The @code{\quoteDuring} command uses the @code{\transposition} settings
+of both quoted and quoting parts to produce notes for the quoting part
+that have the same sounding pitch as those in the quoted part.
@lilypond[verbatim,quote]
-clarinet = \relative c'' {
+clarinetNotes = \relative c'' {
\transposition bes
- a4 gis g gis
+ \key d \major
+ b4 ais a ais | cis4^"quoted" r8 bis\p b4( f)
}
-\addQuote "clarinet" { \clarinet }
-\relative c' {
- c4 cis \quoteDuring #"clarinet" { s2 }
+oboeNotes = \relative c'' {
+ c4 cis c b \quoteDuring #"clarinet" { s1 }
}
-@end lilypond
-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}.
+\addQuote "clarinet" { \clarinetNotes }
-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}
+\score {
+ <<
+ \new Staff \with { instrumentName = "Clarinet" } \clarinetNotes
+ \new Staff \with { instrumentName = "Oboe" } \oboeNotes
+ >>
}
-\addQuote "clarinet" { \clarinet }
+@end lilypond
-\relative c' {
- \set Score.quotedEventTypes = #'(note-event rest-event tie-event)
- c4 cis \quoteDuring #"clarinet" { s2 }
+By default quoted music will include all articulations, dynamics,
+markups, etc., in the quoted expression. It is possible to choose which
+of these objects from the quoted music are displayed by using the
+@code{quotedEventTypes} context property.
+
+@lilypond[verbatim,quote]
+fluteNotes = \relative c'' {
+ a2 g2 |
+ b4\<^"quoted" r8 ais a4\f( c->)
+ }
+
+oboeNotes = \relative c'' {
+ c2. b4 |
+ \quoteDuring #"flute" { s1 }
}
+
+\addQuote "flute" { \fluteNotes }
+
+\score {
+ <<
+ \set Score.quotedEventTypes = #'(note-event articulation-event
+ crescendo-event rest-event
+ slur-event dynamic-event)
+ \new Staff \with { instrumentName = "Flute" } \fluteNotes
+ \new Staff \with { instrumentName = "Oboe" } \oboeNotes
+ >>
+ }
@end lilypond
+Quotes can also be tagged, see @ref{Using tags}.
+
@snippets
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
@rlsr{Staff notation}.
Internals Reference:
+@rinternals{Music classes},
@rinternals{QuoteMusic},
@rinternals{Voice}.
+Installed Files:
+@file{scm/define-event-classes.scm}.
+
@knownissues
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.
+@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, rests, ties, beams and tuplets are quoted, but not
+articulations, dynamic marks, markup etc.
@lilypond[verbatim,quote]
oboe = \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, the original clef should
+be restored at the end of the cue notes.
+
+@lilypond[verbatim,quote]
+flute = \relative c'' {
+ r2. c4 d8 c d e fis2 g2 d2
+}
+bassoon = \relative c {
+ \clef bass
+ R1
+ \clef treble
+ s1*0^\markup { \tiny "flute" }
+ \cueDuring #"flute" #UP { R1 }
+ \clef bass
+ g4. b8 d2
+}
+\addQuote "flute" { \flute }
+\new Staff {
+ \bassoon
+}
+@end lilypond
+
@cindex removing cues
@cindex removing cue notes
@cindex cue notes, removing
The @code{\killCues} command removes cue notes from a music
expression, so the same music expression can be used to produce
-the instrument part with cues and the score.
+the instrument part with cues and the score. The @code{\killCues}
+command removes only the notes and events that were quoted by
+@code{\cueDuring}. Other markup associated with cues, such as clef
+changes and a label identifying the source instrument, can be
+tagged for selective inclusion in the score; see @ref{Using tags}.
@lilypond[verbatim,quote]
flute = \relative c'' {
}
\addQuote "flute" { \flute }
-\new Staff \bassoon
-
+\new Staff {
+ \bassoon
+}
\new StaffGroup <<
- \new Staff \flute
- \new Staff \removeWithTag #'part { \killCues { \bassoon } }
+ \new Staff {
+ \flute
+ }
+ \new Staff {
+ \removeWithTag #'part { \killCues { \bassoon } }
+ }
>>
@end lilypond
-The @code{\killCues} command removes only the notes and events
-that were quoted by @code{\cueDuring}. Other markup associated
-with cues, such as clef changes and a label identifying the source
-instrument, can be tagged for selective inclusion in the score;
-see @ref{Using tags}. Clef changes and instrument labels can be
+Alternatively, Clef changes and instrument labels can be
collected into an instrument definition for repeated use, using
-@code{\addInstrumentDefinition} described in @ref{Instrument
-names}.
+@code{\addInstrumentDefinition} described in
+@ref{Instrument names}.
@funindex \transposedCueDuring
@funindex transposedCueDuring
Notation Reference:
@ref{Instrument transpositions},
@ref{Instrument names},
+@ref{Musical cues},
@ref{Using tags}.
Snippets: