@knownissues
-
Only the contents of the first @code{Voice} occurring in an
-@code{\addQuote} command will be considered for quotation, so
-@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.
-
-Quoting nested triplets may result in poor notation.
-
-In earlier versions of LilyPond (pre 2.11), @code{addQuote} was
-written entirely in lower-case letters: @code{\addquote}.
+@code{\addQuote} command will be considered for quotation, so if the music
+expression contains @code{\new} or @code{\context Voice}
+statements, their contents will not be quoted. Quoting grace notes
+is unsupported and may cause LilyPond to crash whereas quoting nested
+triplets may result in poor notation.
@node Formatting cue notes
@unnumberedsubsubsec Formatting cue notes
-@cindex cues
@cindex cue notes
-@cindex cue notes, formatting
@cindex fragments
-@cindex quoting other voices
-@cindex cues, formatting
+@cindex cue notes, formatting
+@cindex formatting, cue notes
+@cindex voices, quoting
+
@funindex \cueDuring
@funindex cueDuring
+@funindex \cueClef
+@funindex cueClef
@funindex \cueDuringWithClef
@funindex cueDuringWithClef
@funindex \quoteDuring
@funindex quoteDuring
-The previous section explains how to create quotations. The
-@code{\cueDuring} command is a more specialized form of
-@code{\quoteDuring}, being particularly useful for inserting cue
-notes into a part. The syntax is as follows:
+@cindex notes, smaller
+@cindex smaller notes
+@cindex CueVoice
+
+The simplest way to format cue notes is to explicitly create a
+@code{CueVoice} context within the part.
+
+@lilypond[verbatim,relative=1]
+R1
+<<
+ { e2\rest r4. e8 }
+ \new CueVoice {
+ \stemUp d'8^"flute" c d e fis2
+ }
+>>
+d,4 r a r
+@end lilypond
+
+The @code{\cueClef} command can also be used with an explict
+@code{CueVoice} context if a change of clef is required and will print
+an appropriately sized clef for the cue notes. The @code{\cueClefUnset}
+command can then be used to switch back to the original clef, again with
+an appropriately sized clef.
+
+@lilypond[verbatim,noragged-right,relative=1]
+\clef "bass"
+R1
+<<
+ { e2\rest r4. \cueClefUnset e,8 }
+ \new CueVoice {
+ \cueClef "treble" \stemUp d''8^"flute" c d e fis2
+ }
+>>
+d,,4 r a r
+@end lilypond
+
+The @code{\cueClef} and @code{\cueClefUnset} command can also be used
+without a @code{CueVoice} if required.
+
+@lilypond[verbatim,noragged-right,relative=1]
+\clef "bass"
+R1
+\cueClef "treble"
+d'8^"flute" c d e fis2
+\cueClefUnset
+d,,4 r a r
+@end lilypond
+
+For more complex cue note placement, e.g including transposition, or
+inserting cue notes from multiple music sources the @code{\cueDuring} or
+@code{\cueDuringWithClef} commands can be used. These are more
+specialized form of @code{\quoteDuring}, see @ref{Quoting other voices}
+in the previous section.
+
+The syntax is:
+
+@example
+\cueDuring #@var{quotename} #@var{direction} #@var{music}
+@end example
+
+and
@example
-\cueDuring #@var{partname} #@var{voice} @var{music}
+\cueDuringWithClef #@var{quotename} #@var{direction} #@var{clef} #@var{music}
@end example
-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.
+The music from the corresponding measures of the @code{@var{quote name}}
+is added as a @code{CueVoice} context and occurs simultaneously with the
+@code{@var{music}}, which then creates a polyphonic situation. The
+@code{@var{direction}} takes the argument @code{UP} or @code{DOWN}, and
+corresponds to the first and second voices respectively, determining how
+the cue notes are printed in relation to the other voice.
@lilypond[verbatim,quote]
-oboe = \relative c'' {
- r2 r8 d16(\f f e g f a)
- g8 g16 g g2.
+fluteNotes = \relative c'' {
+ r2. c4 | d8 c d e fis2 | g2 d |
}
-\addQuote "oboe" { \oboe }
-\new Voice \relative c'' {
- \cueDuring #"oboe" #UP { R1 }
+oboeNotes = \relative c'' {
+ R1
+ s1*0^\markup { \tiny "flute" }
+ \cueDuring #"flute" #UP { R1 }
g2 c,
}
+
+\addQuote "flute" { \fluteNotes }
+
+\new Staff {
+ \oboeNotes
+}
@end lilypond
@noindent
-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
+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.
+@warning{When a @code{Voice} starts with @code{\cueDuring}, as in the
+following example, the @code{Voice} context must be explicitly declared,
+or else the entire music expression would belong to the @code{CueVoice}
+context.}
+
@lilypond[verbatim,quote]
oboeNotes = \relative c'' {
r2 r8 d16(\f f e g f a)
fluteNotes = \relative c'' {
r2. c4 d8 c d e fis2 g2 d2
}
+
bassoonNotes = \relative c {
\clef bass
R1
\clef bass
g4. b8 d2
}
+
\addQuote "flute" { \fluteNotes }
+
\new Staff {
\bassoonNotes
}
fluteNotes = \relative c'' {
r2. c4 d8 c d e fis2 g2 d2
}
+
bassoonNotes = \relative c {
\clef bass
R1
\cueDuringWithClef #"flute" #UP #"treble" { R1 }
g4. b8 d2
}
+
\addQuote "flute" { \fluteNotes }
+
\new Staff {
\bassoonNotes
}
c8 c c e g2
c4 g g2
}
+
bassClarinetNotes = \relative c' {
\key d \major
\transposition bes,
>>
@end lilypond
-@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
-
-@cindex removing cues
@cindex removing cue notes
@cindex cue notes, removing
@funindex \killCues
@funindex killCues
+@funindex \addInstrumentDefinition
+@funindex addInstrumentDefinition
The @code{\killCues} command removes cue notes from a music
expression, so the same music expression can be used to produce
fluteNotes = \relative c'' {
r2. c4 d8 c d e fis2 g2 d2
}
+
bassoonNotes = \relative c {
\clef bass
R1
\tag #'part \clef bass
g4. b8 d2
}
+
\addQuote "flute" { \fluteNotes }
\new Staff {
\bassoonNotes
}
+
\new StaffGroup <<
\new Staff {
\fluteNotes
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}.
@seealso
Notation Reference:
+@ref{Quoting other voices},
@ref{Instrument transpositions},
@ref{Instrument names},
+@ref{Clef},
@ref{Musical cues},
@ref{Using tags}.