@noindent
indicate where line breaks can occur.
-
@refcommands
@cindex @code{\cadenzaOn}
@cindex @code{\cadenzaOff}
@code{\cadenzaOff}.
+
+
+
@node Bar lines
@subsection Bar lines
@cindex Bar lines
>>
@end lilypond
+The previous examples all show chords over a staff. This is not
+necessary. Chords may also be printed separately. It may be necessary
+to add @internalsref{Volta_engraver} and @internalsref{Bar_engraver}
+for showing repeats.
+
+@lilypond[raggedright,verbatim]
+\new ChordNames \with {
+ \override BarLine #'bar-size = #4
+ \consists Bar_engraver
+ \consists "Volta_engraver"
+}
+\repeat volta 2 \chords {
+ f1:maj f:7 bes:7
+ c:maj es
+}
+@end lilypond
+
+
The default chord name layout is a system for Jazz music, proposed by
Klaus Ignatzek (see @ref{Literature list}). It can be tuned through the
following properties
function. Special note names (for example, the German ``H'' for a
B-chord) can be produced by storing a new function in this property.
-The predefined variables @code{\germanChords},
-@code{\semiGermanChords} set these variables.
-
-
@cindex @code{chordNoteNamer}
@item chordNoteNamer
The default is to print single pitch, e.g. the bass note, using the
@end table
+The predefined variables @code{\germanChords},
+@code{\semiGermanChords} set these variables. The effect is
+demonstrated here,
+
+@lilypondfile[notexidoc]{chord-names-german.ly}
There are also two other chord name schemes implemented: an alternate
Jazz chord notation, and a systematic scheme called Banter chords. The
Examples: @inputfileref{input/regression,chord-name-major7.ly},
@inputfileref{input/regression,chord-name-exceptions.ly},
@inputfileref{input/test,chord-names-jazz.ly},
-@inputfileref{input/test,chord-names-german.ly},
@inputfileref{input/test,chords-without-melody.ly}.
@cindex staff group
+@node Aligning to cadenzas
+@subsection Aligning to cadenzas
+
+
+In an orchestral context, cadenzas bring cause a special probelem:
+when constructing a score that includes a cadenza, all other
+instruments should skip just as many notes as the length of the
+cadenza, otherwise they will start too soon or too late.
+
+A solution to this problem are the functions @code{mmrest-of-length}
+and @code{skip-of-length}. These Scheme functions take a piece music
+as argument, and generate a @code{\skip} or multi rest, exactly as
+long as the piece. The use of @code{mmrest-of-length} is demonstrated
+in the following example.
+
+@lilypond[raggedright]
+cadenza = \relative c' {
+ c4 d8 << { e f g } \\ { d4. } >>
+ g4 f2 g4 g
+}
+
+\new GrandStaff <<
+ \new Staff { \cadenza c'4 }
+ \new Staff {
+ #(ly:export (mmrest-of-length cadenza))
+ c'4
+ }
+>>
+@end lilypond
+
+
+
@node Rehearsal marks
+++ /dev/null
-\header {
-
-
- texidoc = "A second staff can be aligned to a fragment (say, a
- cadenza) from the first staff, using a Scheme function: the
- function creates a skip of the same length as the cadenza. "
-
- }
-
-\version "2.3.8"
-
-cadenza = \relative c' {
- c4 d8 << { e f g } \\ { d4. } >>
- g4 f2 g4 g
-}
-
-
-#(define (skip-of-length mus)
- "Create a skip of exactle the same length as MUS."
- (let*
- ((skip
- (make-music
- 'SkipEvent
- 'duration (ly:make-duration 0 0))))
-
- (make-event-chord (list (ly:music-compress skip (ly:music-length mus))))
-))
-
-
-#(define (mmrest-of-length mus)
- "Create a mmrest of exactly the same length as MUS."
-
- (let*
- ((skip
- (make-multi-measure-rest
- (ly:make-duration 0 0) '() )))
- (ly:music-compress skip (ly:music-length mus))
- skip
-))
-
-
-\score {
-
- \relative c' \new GrandStaff <<
- \new Staff { \cadenza c4 \bar "|." }
- \new Staff {
- #(ly:export (mmrest-of-length cadenza))
- c4 \bar "|." }
- >>
-
- \paper {}
-}
(else
(ly:warn "Unknown accidental style: ~S" (symbol->string style))
(make-sequential-music '()))))))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(define-public (skip-of-length mus)
+ "Create a skip of exactly the same length as MUS."
+ (let*
+ ((skip
+ (make-music
+ 'SkipEvent
+ 'duration (ly:make-duration 0 0))))
+
+ (make-event-chord (list (ly:music-compress skip (ly:music-length mus))))
+))
+
+
+(define-public (mmrest-of-length mus)
+ "Create a mmrest of exactly the same length as MUS."
+
+ (let*
+ ((skip
+ (make-multi-measure-rest
+ (ly:make-duration 0 0) '() )))
+ (ly:music-compress skip (ly:music-length mus))
+ skip
+))
+