From: hanwen Date: Sat, 31 Jul 2004 20:57:08 +0000 (+0000) Subject: * input/test/chords-without-melody.ly: fold into manual. X-Git-Tag: release/2.3.12~77 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=78f68aadd9432e223cafdde8b2d4a4f9ec0f3df1;p=lilypond.git * input/test/chords-without-melody.ly: fold into manual. * input/test/cadenza-skip.ly: remove. * Documentation/user/notation.itely (Aligning to cadenzas): fold in cadenza-skip.ly * Documentation/user/notation.itely (Educational use): new section --- diff --git a/ChangeLog b/ChangeLog index a839232dc3..292db0a4b7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,14 @@ 2004-07-31 Han-Wen Nienhuys + * input/test/chords-without-melody.ly: fold into manual. + + * input/test/cadenza-skip.ly: remove. + + * input/test/clef-8-syntax.ly: remove. + + * Documentation/user/notation.itely (Aligning to cadenzas): fold + in cadenza-skip.ly + * mf/parmesan*.mf: change neo_mensural to neomensural. * input/test/trills.ly: remove. diff --git a/Documentation/user/notation.itely b/Documentation/user/notation.itely index 2ffb52078e..c2b3d655a5 100644 --- a/Documentation/user/notation.itely +++ b/Documentation/user/notation.itely @@ -1100,7 +1100,6 @@ off. Empty bar lines, @noindent indicate where line breaks can occur. - @refcommands @cindex @code{\cadenzaOn} @@ -1108,6 +1107,9 @@ indicate where line breaks can occur. @cindex @code{\cadenzaOff} @code{\cadenzaOff}. + + + @node Bar lines @subsection Bar lines @cindex Bar lines @@ -4041,6 +4043,24 @@ scheme = \chords { >> @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 @@ -4082,10 +4102,6 @@ alteration. The transformation from pitch to letter is done by this 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 @@ -4095,6 +4111,11 @@ base can be printed in lower case. @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 @@ -4122,7 +4143,6 @@ chart}. Turning on these styles is described in the input file 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}. @@ -4189,6 +4209,38 @@ connected. This is the default for the score. @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 diff --git a/input/test/cadenza-skip.ly b/input/test/cadenza-skip.ly deleted file mode 100644 index e6d6ac92ee..0000000000 --- a/input/test/cadenza-skip.ly +++ /dev/null @@ -1,52 +0,0 @@ -\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 {} -} diff --git a/input/test/chord-names-jazz.ly b/input/test/chord-names-jazz.ly index 9c1c192f7f..47b31636d6 100644 --- a/input/test/chord-names-jazz.ly +++ b/input/test/chord-names-jazz.ly @@ -1,6 +1,4 @@ \version "2.3.8" - - \header { texidoc = " Chord names are generated from a list pitches. The diff --git a/input/test/chords-without-melody.ly b/input/test/chords-without-melody.ly deleted file mode 100644 index 1c92c7f2e5..0000000000 --- a/input/test/chords-without-melody.ly +++ /dev/null @@ -1,25 +0,0 @@ -\version "2.3.8" -\header { - texidoc = "Jazz chord names can also be printed without notes." -} -\paper{ - \context{ - \ChordNames - - \override BarLine #'bar-size = #4 - - - \consists Bar_engraver - \consists "Volta_engraver" - } - raggedright = ##t -} - - -\context ChordNames \chords { - \repeat volta 2 { - f1:maj f:7 bes:7 - c:maj es - } -} - diff --git a/scm/music-functions.scm b/scm/music-functions.scm index 554018145b..479c28b79f 100644 --- a/scm/music-functions.scm +++ b/scm/music-functions.scm @@ -744,3 +744,29 @@ use GrandStaff as a context. " (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 +)) +