]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/notation.itely
*** empty log message ***
[lilypond.git] / Documentation / user / notation.itely
index 2ffb52078ef65b2aa5c7af97ade8c32fed7ea02e..48f26b0a42d799812d69f5f7e03762fffcced428 100644 (file)
@@ -24,9 +24,11 @@ somewhat familiar with LilyPond.
 * Rhythmic music::              
 * Piano music::                 
 * Vocal music::                 
+* Other instrument specific notation::  
 * Tablatures::                  
-* Chord names::                 
+* Popular music::               
 * Orchestral music::            
+* Formatting cue notes::        
 * Ancient notation::            
 * Contemporary notation::       
 * Educational use::             
@@ -785,6 +787,8 @@ such as keys, clefs and time signatures.
 * Partial measures::            
 * Unmetered music::             
 * Bar lines::                   
+* Time administration::         
+* Controlling formatting of  prefatory matter::  
 @end menu
 
 @node Staff symbol
@@ -938,11 +942,32 @@ example,
 This command is equivalent to setting @code{clefGlyph},
 @code{clefPosition} (which controls the Y position of the clef),
 @code{centralCPosition} and @code{clefOctavation}. A clef is printed
-when any of these properties are changed.
+when any of these properties are changed.  The following example shows
+possibilities when setting properties manually.
+
+@lilypond[verbatim]
+{
+  \set Staff.clefGlyph = #"clefs-F"
+  \set Staff.clefPosition = #2
+  c'4
+  \set Staff.clefGlyph = #"clefs-G"
+  c'4
+  \set Staff.clefGlyph = #"clefs-C"
+  c'4
+  \set Staff.clefOctavation = #7 
+  c'4
+  \set Staff.clefOctavation = #0 
+  \set Staff.clefPosition = #0
+  c'4
+  \clef "bass"
+  c'4
+}
+@end lilypond
+
 
 @seealso
 
-Program reference: the object for this symbol is @internalsref{Clef}.
+Program reference: @internalsref{Clef}.
 
 
 
@@ -990,6 +1015,9 @@ Examples: @inputfileref{input/regression,ottava.ly},
 @code{set-octavation} will get confused when clef changes happen
 during an octavation bracket.
 
+
+
+
 @node Time signature
 @subsection Time signature
 @cindex Time signature
@@ -1009,8 +1037,20 @@ command
 
 The symbol that is printed can be customized with the @code{style}
 property. Setting it to @code{#'()} uses fraction style for 4/4 and
-2/2 time.  There are many more options for its layout.  See
-@inputfileref{input/test,time.ly} for more examples.
+2/2 time,
+
+@lilypond[fragment,verbatim]
+\time 4/4 c'1
+\time 2/2 c'1
+\override TimeSignature #'style = #'()
+\time 4/4 c'1
+\time 2/2 c'1
+@end lilypond
+
+
+
+There are many more options for its layout.  See @ref{Ancient time
+signatures} for more examples.
 
 
 This command sets the property @code{timeSignatureFraction},
@@ -1100,7 +1140,6 @@ off. Empty bar lines,
 @noindent
 indicate where line breaks can occur.
 
-
 @refcommands
 
 @cindex @code{\cadenzaOn}
@@ -1108,6 +1147,9 @@ indicate where line breaks can occur.
 @cindex @code{\cadenzaOff}
 @code{\cadenzaOff}.
 
+
+
+
 @node Bar lines
 @subsection Bar lines
 @cindex Bar lines
@@ -1204,6 +1246,83 @@ in every context, and that type is determined by the property
 
 Examples: @inputfileref{input/test,bar-lines.ly},
 
+
+@node Time administration
+@subsection Time administration
+
+Time is administered by the @internalsref{Time_signature_engraver},
+which usually lives in the @internalsref{Score} context.
+The bookkeeping deals with the following  variables
+
+@table @code
+@item currentBarNumber
+ the measure number
+@item measureLength
+  the length of the measures in the current  time signature. For a 4/4
+  time this is 1, and for 6/8 it is 3/4.
+@item measurePosition
+  the point within the measure where we currently are. This quantity
+  is reset to 0 whenever it exceeds @code{measureLength}. When that happens,
+  @code{currentBarNumber} is incremented.
+@item timing
+ if set to true, the above variables are updated for every time
+ step. When set to false, the engraver stays in the current measure
+ indefinitely.
+@end table
+
+Timing can be changed by setting any of these variables explicitly.
+In the next example, the 4/4 time signature is printed, but
+@code{measureLength} is set to 5/4. After a while, the measure is
+shortened by 1/8, by setting @code{measurePosition} to -3/8 at 2/4 in
+the measure, so the next bar line will fall at 2/4 + 3/8. 
+
+@lilypond[verbatim]
+{
+  \set Score.measureLength = #(ly:make-moment 5 4)
+  c1 c4
+  c1 c4 
+  c4 c4
+  \set Score.measurePosition = #(ly:make-moment -3 8)
+  b8 b b
+  c4 c1
+}
+@end lilypond
+
+
+@node Controlling formatting of  prefatory matter
+@subsection Controlling formatting of  prefatory matter
+
+TODO
+
+@lilypond[verbatim]
+\transpose c c' {
+       \override Staff.Clef  #'break-visibility = #end-of-line-visible
+       \override Staff.KeySignature  #'break-visibility = #end-of-line-visible
+       \set Staff.explicitClefVisibility = #end-of-line-visible
+       \set Staff.explicitKeySignatureVisibility = #end-of-line-visible
+
+       % We want the time sig to take space, otherwise there is not
+       % enough white at the start of the line.
+       %
+       
+       \override Staff.TimeSignature  #'transparent = ##t
+       \set Score.defaultBarType = #"empty"
+       
+       c1 d e f g a b c
+       \key d \major
+       \break
+
+       % see above.
+       \time 4/4
+       
+       d e fis g a b cis d 
+       \key g \major
+       \break
+       \time 4/4    
+}
+@end lilypond
+
+
 @node Polyphony
 @section Polyphony
 @cindex polyphony
@@ -1748,6 +1867,7 @@ possible.
 * Text spanners::               
 * Analysis brackets::           
 * Articulations::               
+* Running trills::              
 * Fingering instructions::      
 * Text scripts::                
 * Grace notes::                 
@@ -2036,6 +2156,29 @@ c\fermata c^\fermata c_\fermata
 
 @lilypondfile[quote,raggedright]{script-chart.ly}
 
+
+The vertical ordering of scripts is controlled with the
+@code{script-priority} property. The lower this number, the closer it
+will be put to the note.  In this example, the
+@internalsref{TextScript} (the sharp symbol) first has the lowest
+priority, so it is put lowest in the first example. In the second, the
+prall trill (the @internalsref{Script}) has the lowest, so it on the
+inside. When two objects have the same priority, the order in which
+they are entered decides which one comes first.
+
+
+@lilypond[verbatim]
+\relative g''{
+    \once \override TextScript #'script-priority = #-100
+    a4^\prall^\markup { \sharp }
+    
+    \once \override Script  #'script-priority = #-100
+    a4^\prall^\markup { \sharp }
+}
+@end lilypond
+
+
+
 @refcommands
 
 @cindex @code{\scriptUp}
@@ -2055,6 +2198,33 @@ These note ornaments appear in the printed output but have no
 effect on the MIDI rendering of the music.
 
 
+
+@node  Running trills
+@subsection Running trills
+
+Long running trills are made with @code{\startTrillSpan} and
+@code{\stopTrillSpan},
+
+
+@lilypond[verbatim]
+\relative \new Voice {
+    << { c1 \startTrillSpan }
+       { s2. \grace { d16[\stopTrillSpan e] } } >>
+    c4 }
+@end lilypond
+
+@refcommands
+
+@code{\startTrillSpan},
+@cindex @code{\startTrillSpan}
+@code{\stopTrillSpan}.
+@cindex @code{\stopTrillSpan}
+
+@seealso
+
+Program reference: @internalsref{TrillSpanner},
+@internalsref{TrillSpanEvent}.
+
 @node Fingering instructions
 @subsection Fingering instructions
 
@@ -2548,6 +2718,23 @@ staff. This can be adjusted by setting the @code{voltaOnThisStaff}
 property @inputfileref{input/regression,volta-multi-staff.ly},
 @inputfileref{input/regression,volta-chord-names.ly}
 
+It is possible to shorten volta brackets
+by setting @code{voltaSpannerDuration}. In the next example, the
+bracket only lasts one measure, which is a duration of 3/4. 
+
+
+
+@lilypond[verbatim,raggedright]
+\relative c''{
+    \time 3/4
+    c c c 
+    \set Staff.voltaSpannerDuration = #(ly:make-moment 3 4)
+    \repeat "volta" 5 { d d d  }
+    \alternative { { e e e f f f }
+    { g g g } }
+}
+@end lilypond
+        
 @refbugs
 
 A nested repeat like
@@ -2580,10 +2767,38 @@ example by setting @code{Score.measurePosition} or entering
 
 @cindex expanding repeats
 
-For instructions on how to expand repeats for MIDI output, see the
-example file @inputfileref{input/test,unfold-all-repeats.ly}.
+An advantage of the unified syntax for repeats, is that all repeats
+may be played out for the MIDI output. This is achieved by
+applying the @code{\unfoldrepeats} music function.
+
+@lilypond[verbatim,raggedright]
+\new Staff
+  \unfoldrepeats {
+    \repeat tremolo 8 {c'32 e' }
+    \repeat percent 2 { c''8 d'' }
+    \repeat volta 2 {c'4 d' e' f'} 
+    \alternative {
+      { g' a' a' g' }
+      {f' e' d' c' }
+    }
+    \bar "|."
+  }
+@end lilypond
 
+When creating a score file using @code{\unfoldrepeats} for midi, then
+it is necessary to make two @code{\score} blocks. One for MIDI, with
+unfolded repeats, and one for notation, eg.
 
+@example
+  \score @{
+      @var{..music..}
+      \paper @{ .. @}
+  @} 
+  \score @{
+      \unfoldrepeats @var{..music..}
+      \midi @{ .. @}
+  @} 
+@end example
 
 @node Manual repeat commands
 @subsection Manual repeat commands
@@ -2617,6 +2832,7 @@ c4 c4
 @end lilypond
 
 
+
 @seealso
 
 Program reference: @internalsref{VoltaBracket}, @internalsref{RepeatedMusic},
@@ -2990,16 +3206,11 @@ handle this cross-staffing behavior.  In this section we discuss the
 * Pedals::                      
 * Arpeggio::                    
 * Staff switch lines::          
+* Cross staff stems::           
 @end menu 
 
 @refbugs
 
-There is no support for putting chords across staves.  You can get
-this result by increasing the length of the stem in the lower stave so
-it reaches the stem in the upper stave, or vice versa. An example is
-included with the distribution as
-@inputfileref{input/test,stem-cross-staff.ly}.
-
 Dynamics are not centered, but kludges do exist. See
 @inputfileref{input/template,piano-dynamics.ly}.
 
@@ -3295,6 +3506,31 @@ The associated object is @internalsref{VoiceFollower}.
 @code{\hideStaffSwitch}.
 
 
+@node Cross staff stems
+@subsection Cross staff stems
+
+The chords which cross staves may be produced by increasing the length
+of the stem in the lower stave, so it reaches the stem in the upper
+stave, or vice versa.
+
+@lilypond[raggedright,verbatim]
+stemExtend = \once \override Stem  #'length = #22
+noFlag = \once \override Stem  #'flag-style = #'no-flag
+\context PianoStaff <<
+  \new Staff   {
+    \stemDown \stemExtend
+    f'4
+    \stemExtend \noFlag
+    f'8
+  }
+  \new Staff {
+    \clef bass
+    a4 a8
+  }
+>>
+@end lilypond
+
+
 @node Vocal music
 @section Vocal music
 
@@ -3335,6 +3571,7 @@ the following sections are about.
 @menu
 * Entering lyrics::             
 * The Lyrics context::          
+* Flexibility in alignment::    
 * More stanzas::                
 * Ambitus::                     
 @end menu
@@ -3542,16 +3779,6 @@ Here is an example demonstrating manual lyric durations,
   }  >>
 @end lilypond
 
-
-
-
-When multiple stanzas are put on the same melody, it can happen that
-two stanzas have melismata in different locations. This can be
-remedied by switching off melismata for one
-@internalsref{Lyrics}. This is achieved by setting
-the @code{ignoreMelismata} property to @code{#t}. An example is shown
-in @inputfileref{input/regression,lyric-combine-new.ly}.
-
 @cindex SATB
 @cindex choral score
 
@@ -3583,62 +3810,158 @@ inserted by hand.
 
 
 For proper processing of extender lines, the
-@internalsref{Lyrics} and @internalsref{Voice} should be
+ @internalsref{Lyrics} and @internalsref{Voice} should be
 linked. This can be achieved either by using @code{\lyricsto} or by
 setting corresponding names for both contexts. The latter is explained
 in @ref{More stanzas}.
 
 @c TODO: document \new Staff << Voice \lyricsto >> bug
 
-@node More stanzas
-@subsection More stanzas
+@node Flexibility in alignment
+@subsection Flexibility in alignment
 
-@cindex phrasing, in lyrics
 
+Often, different stanzas of one song are put to one melody in slightly
+differing ways.  Such variations can still be captured with
+@code{\lyricsto}.
 
-The lyrics should be aligned with the note heads of the melody. To
-achieve this, each line of lyrics should be marked to correspond with
-the melodic line. This is done automatically when @code{\lyricsto},
-but it can also be done manually. 
+One possibility is that the text has a melisma in one stanza, but
+multiple syllables in another one. One solution is to make the faster
+voice ignore the melisma. This is done by setting
+@code{ignoreMelismata} in the Lyrics context.
 
-To this end, give the @internalsref{Voice} context an identity
-@example
-\context Voice = duet @{
-     \time 3/4
-     g2 e4 a2 f4 g2.  @}
-@end example
+There has one tricky aspect. The setting for @code{ignoreMelismata}
+must be set one syllable @emph{before} the non-melismatic syllable
+in the text, as shown here,
+
+@lilypond[verbatim,raggedright]
+<<
+    \relative \context Voice = "lahlah" {
+       \set Staff.autoBeaming = ##f 
+       c4
+       \slurDotted
+       f8.[( g16])
+       a4
+    }
+    \new Lyrics \lyricsto "lahlah" {
+       more slow -- ly
+    }
+    \new Lyrics \lyricsto "lahlah" {
+       \set ignoreMelismata = ##t % applies to "fas"
+       go fas -- ter
+       \unset ignoreMelismata
+       still
+    }
+>>
+@end lilypond
+
+
+The @code{ignoreMelismata} applies to the syllable ``fas'', so it
+should bev entered before ``go''.
 
-Then set the @internalsref{Lyrics} contexts to names starting with
-that identity followed by a dash.  In the preceding example, the
-@internalsref{Voice} identity is @code{duet}, so the identities of the
-@internalsref{Lyrics}s are marked @code{duet-1} and @code{duet-2}
+The reverse is also possible: making a lyric line slower than the
+standard. This can be achieved by insert @code{\skip}s into the
+lyrics. For every @code{\skip}, the text will be delayed another note.
+For example,
+
+@lilypond[verbatim,raggedright]
+\relative { c c g' }
+\newlyrics {
+  twin -- \skip 4
+  kle
+}
+@end lilypond
+
+More complex variations in text underlay are possible. It is possible
+to switch the melody for a line of lyrics during the text. This is
+done by setting the @code{associatedVoice} property. In the example 
+
+@lilypond[raggedright]
+<<
+    \relative \context Voice = "lahlah" {
+       \set Staff.autoBeaming = ##f 
+       c4
+       <<
+           \context Voice = alternative {
+               \voiceOne
+               \times 2/3 {
+
+                   % show associations clearly.
+                   \override NoteColumn #'force-hshift = #-3
+                   f8 f g
+               }
+           }
+           {
+               \voiceTwo
+               f8.[ g16]
+               \oneVoice
+         } >>
+       a8( b) c
+
+    }
+    \new Lyrics \lyricsto "lahlah" {
+       Ju -- ras -- sic Park
+    }
+    \new Lyrics \lyricsto "lahlah" {
+
+       % Tricky: need to set associatedVoice
+       % one syllable too soon! 
+       \set associatedVoice = alternative % applies to "ran"
+       Ty --
+       ran  --
+       no --
+       \set associatedVoice = lahlah % applies to "rus"
+       sau -- rus Rex
+    } >>
+@end lilypond
+
+@noindent
+the text for the first stanza is set to a melody called ``lahlah'',
+
+@verbatim
+    \new Lyrics \lyricsto "lahlah" {
+       Ju -- ras -- sic Park
+    }
+@end verbatim 
+
+
+The second stanza initially is set to the @code{lahlah} context, but
+for the syllable ``ran'', it switches to a different melody.
+This is achieved with
 @example
-  \context Lyrics = "duet-1" @{
-    Hi, my name is Bert. @}
-  \context Lyrics = "duet-2" @{
-    Ooooo, ch\'e -- ri, je t'aime. @}
+       \set associatedVoice = alternative
 @end example
 
-@c  \lyricsto in the example below is pointless, given subject of the
-@c  section.
+@noindent
+Here, @code{alternative} is the name of the @code{Voice} context
+containing the triplet.
 
+Again, the command must be one syllable too early, before ``Ty'' in
+this case.
+
+@verbatim
+    \new Lyrics \lyricsto "lahlah" {
+       \set associatedVoice = alternative % applies to "ran"
+       Ty --
+       ran  --
+       no --
+       \set associatedVoice = lahlah % applies to "rus"
+       sau -- rus Rex
+    }
+@end verbatim 
+
+@noindent
+The underlay is switched back to the starting situation by assigning
+@code{lahlah} to @code{associatedVoice}.
+
+
+
+
+@node More stanzas
+@subsection More stanzas
+
+@cindex phrasing, in lyrics
 
-The complete example is shown here
-@lilypond[quote,raggedright,verbatim]
-  <<
-    \relative c'' \context Voice = duet {
-      \time 3/4
-       g2 e4 a2 f4 g2. }
-    <<
-      \lyricsto "duet" \new Lyrics {
-        \set vocalName = "Bert"
-        Hi, my name is Bert. }
-      \lyricsto "duet" \new Lyrics {
-        \set vocalName = "Ernie"
-        Ooooo, ch\'e -- ri, je t'aime. }
-    >>
-  >>
-@end lilypond
 
 @cindex stanza number
 @cindex singer's names
@@ -3647,22 +3970,36 @@ The complete example is shown here
 Stanza numbers can be added by setting @code{stanza}, e.g.
 
 @lilypond[quote,verbatim,relative=2]
-<<
-  \context Voice = duet {
-    \time 3/4 g2 e4 a2 f4 g2. }
-    \lyricsto "duet" \new Lyrics {
+\context Voice {
+    \time 3/4 g2 e4 a2 f4 g2.
+} \newlyrics {
      \set stanza = "1. "
-     Hi, my name is Bert. }
->>
+     Hi, my name is Bert.
+} \newlyrics {
+     \set stanza = "2. "
+     Oh, che -- ri, je t'aime
+}
 @end lilypond
 
-This example also demonstrates how names of the singers can be added
-using @code{vocalName} analogous to instrument annotations for staves.
-A short version may be entered as @code{vocNam}.
+These numbers are put just before the start of first syllable.
 
-To make empty spaces in lyrics, use @code{\skip}.
+Names of singers can also be added. They are printed at the start of
+the line, just like instrument names.  They are created by setting
+@code{vocalName}. A short version may be entered as @code{vocNam}.
 
 
+@lilypond[quote,verbatim,relative=2]
+\context Voice {
+    \time 3/4 g2 e4 a2 f4 g2.
+} \newlyrics {
+     \set vocalName = "Bert "
+     Hi, my name is Bert.
+} \newlyrics {
+     \set vocalName = "Ernie "
+     Oh, che -- ri, je t'aime
+}
+@end lilypond
+
 @seealso
 
 Program reference: Layout objects @internalsref{LyricText} and
@@ -3740,6 +4077,30 @@ Examples:  @inputfileref{input/regression,ambitus.ly},
 There is no collision handling in the case of multiple per-voice
 ambitus.
 
+@node Other instrument specific notation
+@section Other instrument specific notation
+
+@menu
+* Harmonic notes::              
+@end menu
+
+@node Harmonic notes
+@subsection Harmonic notes
+
+@cindex artificial harmonics
+@cindex harmonics
+
+Artificial harmonics are notated with a different notehead style. They
+are entered by 
+marking the harmonic pitch with @code{\harmonic}.
+
+@lilypond[raggedright,verbatim]
+{
+ <c' g'\harmonic>4
+}
+@end lilypond
+
+
 @node Tablatures
 @section Tablatures
 
@@ -3846,8 +4207,20 @@ No guitar special effects have been implemented.
 Program reference: @internalsref{Tab_note_heads_engraver}.
 
 
+@node Popular music
+@section Popular music 
+
+
+
+@menu
+* Chord names::                 
+* Chords mode::                 
+* Printing chord names::        
+* Improvisation::               
+@end menu
+
 @node Chord names
-@section Chord names
+@subsection Chord names
 @cindex Chords
 
 LilyPond has support for both printing chord names.  Chords may be
@@ -4041,6 +4414,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 +4473,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 +4482,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 +4514,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}.
 
 
@@ -4137,6 +4528,37 @@ may result in strange chord names when chords are entered with the
 @code{< .. >} syntax.
 
 
+@node Improvisation
+@subsection Improvisation
+
+Improvisation is sometimes denoted with slashed note heads.  Such note
+heads can be created by adding a @internalsref{Pitch_squash_engraver}
+to the @internalsref{Staff} or @internalsref{Voice} context. Then, the
+following command
+
+@example
+    \set squashedPosition = #0
+    \override NoteHead  #'style = #'slash
+@end example
+
+@noindent
+switches on the slashes.
+
+There are shortcuts @code{\improvisationOn} (and an accompanying
+@code{\improvisationOff}) for this command sequence.  They are used in
+the following example
+
+@lilypond[verbatim,raggedright]
+\new Staff \with {
+  \consists Pitch_squash_engraver
+} \transpose c c' {
+  e8 e g a a16(bes)(a8) g \improvisationOn
+  e8
+  ~e2~e8 f4 fis8
+  ~fis2 \improvisationOff a16(bes) a8 g e
+}
+@end lilypond
+
 
 
 @node Orchestral music
@@ -4152,6 +4574,7 @@ some common problems in orchestral music.
 
 @menu
 * Multiple staff contexts::     
+* Aligning to cadenzas::        
 * Rehearsal marks::             
 * Bar numbers::                 
 * Instrument names::            
@@ -4189,6 +4612,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 present a special problem:
+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
@@ -4784,6 +5239,65 @@ Examples: @inputfileref{input/regression,quote.ly}
 
 Program reference: @internalsref{QuoteMusic}.
 
+@node Formatting cue notes
+@section Formatting cue notes
+
+
+The previous section deals with inserting notes from another
+voice. When making a part, these notes need to be specially formatted.
+Here is an example of formatted cue notes
+
+@lilypond[verbatim]
+smaller = {
+    \set fontSize = #-1
+    \override Stem  #'length = #5.5
+    \override Beam  #'thickness = #0.384
+    \override Beam  #'space-function =
+    #(lambda (beam mult) (* 0.8 (Beam::space_function beam mult)))
+}
+
+{
+    \set Staff.instrument = #"Horn in F"
+    \set Score.skipBars = ##t
+    R1*21
+    << {
+           \once \override Staff.MultiMeasureRest  #'staff-position = #-6
+           R1
+       }
+       \new Voice {
+           s2
+           \clef tenor
+            \smaller
+           r8^"Bsn." c'8  f'8[ f'8]
+           \clef treble
+       }
+    >>
+    c'8^"Horn" cis'
+    eis'4 fis'4
+}
+@end lilypond
+
+
+There are a couple of points to take care of:
+
+@itemize @bullet
+@item
+The multi rest of the original part should be moved up or down during
+the cue.
+@item
+Cue notes have smaller font sizes.
+@item
+When cued notes have a clef change relative to the original part, the
+clef should be restored after the cue section. This minimizes
+confusion for the reader,
+@item
+When the original part starts, this should be marked with the name of
+the instrument, in this case ``Horn.''   Of course, the cue part is
+marked with the instrument playing the cue.
+@end itemize
+
+
 @node Ancient notation
 @section Ancient notation
 
@@ -5237,51 +5751,48 @@ command, @code{n} and @code{m} have to be chosen according to the
 following table
 
 @lilypond[quote]
-\score {
-     {
-        \set Score.timing = ##f
-        \set Score.barAlways = ##t
-        s_\markup { "$\\backslash$time 4/4" }
-         ^\markup { "       " \musicglyph #"timesig-neomensural4/4" }
-       s
-       s_\markup { "$\\backslash$time 2/2" }
-        ^\markup { "       " \musicglyph #"timesig-neomensural2/2" }
-       s
-       s_\markup { "$\\backslash$time 6/4" }
-        ^\markup { "       " \musicglyph #"timesig-neomensural6/4" }
-       s
-       s_\markup { "$\\backslash$time 6/8" }
-        ^\markup { "       " \musicglyph #"timesig-neomensural6/8" }
-       \break
-       s_\markup { "$\\backslash$time 3/2" }
-        ^\markup { "       " \musicglyph #"timesig-neomensural3/2" }
-       s
-       s_\markup { "$\\backslash$time 3/4" }
-        ^\markup { "       " \musicglyph #"timesig-neomensural3/4" }
-       s
-       s_\markup { "$\\backslash$time 9/4" }
-        ^\markup { "       " \musicglyph #"timesig-neomensural9/4" }
-        s
-       s_\markup { "$\\backslash$time 9/8" }
-        ^\markup { "       " \musicglyph #"timesig-neomensural9/8" }
-        \break
-       s_\markup { "$\\backslash$time 4/8" }
-        ^\markup { "       " \musicglyph #"timesig-neomensural4/8" }
-       s
-       s_\markup { "$\\backslash$time 2/4" }
-        ^\markup { "       " \musicglyph #"timesig-neomensural2/4" }
-       \break
-    }
-    \paper {
-       indent = 0.0
-       raggedright = ##t
-       \context {
-           \Staff
-           \remove Staff_symbol_engraver
-           \remove Clef_engraver
-           \remove Time_signature_engraver
-       }
+\paper {
+    indent = 0.0
+    raggedright = ##t
+    \context {
+        \Staff
+        \remove Staff_symbol_engraver
+        \remove Clef_engraver
+        \remove Time_signature_engraver
     }
+} {
+    \set Score.timing = ##f
+    \set Score.barAlways = ##t
+    s_\markup { "$\\backslash$time 4/4" }
+     ^\markup { "       " \musicglyph #"timesig-neomensural4/4" }
+    s
+    s_\markup { "$\\backslash$time 2/2" }
+     ^\markup { "       " \musicglyph #"timesig-neomensural2/2" }
+    s
+    s_\markup { "$\\backslash$time 6/4" }
+     ^\markup { "       " \musicglyph #"timesig-neomensural6/4" }
+    s
+    s_\markup { "$\\backslash$time 6/8" }
+     ^\markup { "       " \musicglyph #"timesig-neomensural6/8" }
+    \break
+    s_\markup { "$\\backslash$time 3/2" }
+     ^\markup { "       " \musicglyph #"timesig-neomensural3/2" }
+    s
+    s_\markup { "$\\backslash$time 3/4" }
+     ^\markup { "       " \musicglyph #"timesig-neomensural3/4" }
+    s
+    s_\markup { "$\\backslash$time 9/4" }
+     ^\markup { "       " \musicglyph #"timesig-neomensural9/4" }
+    s
+    s_\markup { "$\\backslash$time 9/8" }
+     ^\markup { "       " \musicglyph #"timesig-neomensural9/8" }
+    \break
+    s_\markup { "$\\backslash$time 4/8" }
+     ^\markup { "       " \musicglyph #"timesig-neomensural4/8" }
+    s
+    s_\markup { "$\\backslash$time 2/4" }
+     ^\markup { "       " \musicglyph #"timesig-neomensural2/4" }
+    \break
 }
 @end lilypond
 
@@ -5292,36 +5803,49 @@ select ancient time signatures.  Supported styles are
 incipit of transcriptions of mensural pieces.  The @code{mensural}
 style mimics the look of historical printings of the 16th century.
 
-@inputfileref{input/test,time.ly} gives an overview over all available
-ancient and modern styles.
+The following examples shows the differences in style,
+@lilypond[raggedright]
+{
+  \time 2/2
+  c1^\markup { \hspace #-2.0 \typewriter default }
+
+  \override TimeSignature #'style = #'numbered  
+  \time 2/2
+  c1^\markup { \hspace #-2.0 \typewriter numbered }
+
+    \override TimeSignature #'style = #'mensural
+  \time 2/2
+  c1^\markup { \hspace #-2.0 \typewriter mensural }
+  
+    \override TimeSignature #'style = #'neomensural
+  \time 2/2
+  c1^\markup { \hspace #-2.0 \typewriter neomensural }
+    \override TimeSignature #'style = #'single-digit
+  \time 2/2
+  c1^\markup { \hspace #-2.0 \typewriter single-digit }
+}
+@end lilypond
 
 @seealso
 
-Program reference: @ref{Time signature} gives a general introduction into the use of time
-signatures.
+This manual: @ref{Time signature} gives a general introduction into
+the use of time signatures.
 
 @refbugs
 
-Mensural signature glyphs are mapped to time fractions in a hard-wired
-way.  This mapping is sensible, but still arbitrary: given a mensural
-time signature, the time fraction represents a modern meter that
-usually will be a good choice when transcribing a mensural piece of
-music.  For a particular piece of mensural music, however, the mapping
-may be unsatisfactory.  In particular, the mapping assumes a fixed
-transcription of durations (e.g. brevis = half note in 2/2, i.e. 4:1).
-Some glyphs (such as the alternate glyph for 6/8 meter) are not at all
-accessible through the @code{\time} command.
-
-Mensural time signatures are supported typographically, but not yet
-musically.  The internal representation of durations is 
-based on a purely binary system; a ternary division such as 1 brevis =
-3 semibrevis (tempus perfectum) or 1 semibrevis = 3 minima (cum
-prolatione maiori) is not correctly handled: event times in ternary
-modes will be badly computed, resulting e.g. in horizontally
-misaligned note heads, and bar checks are likely to erroneously fail.
-
-The syntax and semantics of the @code{\time} command for mensural
-music is subject to change.
+Ratios of note durations do not change with the time signature. For
+example, the ratio of 1 brevis = 3 semibrevis (tempus perfectum) must
+be made by hand, by setting
+
+@example
+  breveTP = #(ly:make-duration -1 0 3 2)
+@end example
+
+@noindent
+This sets breveTP to 3/2 times 2 = 3 times a whole note. 
+
+The @code{old6/8alt} symbol (an alternate   symbol for 6/8) is not
+addressable with @code{\time}. Use a @code{\markup} instead
 
 @node Custodes
 @subsection Custodes
@@ -6517,10 +7041,155 @@ support for contemporary notation in LilyPond is limited.
 
 
 @menu
+* Polymetric notation::         
 * Clusters::                    
 * Fermatas::                    
+* Feathered beams::             
 @end menu
 
+@node Polymetric notation
+@subsection Polymetric notation
+
+Double time signatures are not supported explicitly, but they can be
+faked. In the next example, the markup for the time signature is
+created with a markup text. This markup text is inserted in the
+@internalsref{TimeSignature} grob.
+
+@lilypond[verbatim,raggedright]
+
+% create 2/4 + 5/8
+tsMarkup =\markup  {
+    \number { 
+      \column < "2" "4" >
+      \musicglyph #"scripts-stopped" 
+      \bracket \column < "5" "8" >
+    }
+}
+
+{
+  \override Staff.TimeSignature  #'print-function = #Text_item::print
+  \override Staff.TimeSignature  #'text = #tsMarkup
+  \time 3/2
+  c'2  \bar ":" c'4 c'4.
+}
+@end lilypond
+
+Each staff can also have its own time signature.  This is done by
+moving the @internalsref{Timing_engraver} to @internalsref{Staff}
+context.
+
+@verbatim
+\paper{
+    \context{
+        \Score
+        \remove "Timing_engraver"
+    }
+    \context{
+        \Staff
+        \consists "Timing_engraver"
+    }
+}       
+@end verbatim
+
+
+Now, each staff has its own time signature.
+@verbatim
+<<
+    \new Staff {
+        \time 3/4
+        c4 c c | c c c |
+    }
+
+    \new Staff {
+        \time 2/4
+        c4 c | c c | c c
+    }
+    \new Staff {
+        \time 3/8
+        c4. c8 c c   c4. c8 c c
+    }
+>>
+@end verbatim
+
+@lilypond[raggedright]
+\paper{
+    \context{
+        \Score
+        \remove "Timing_engraver"
+    }
+    \context{
+        \Staff
+        \consists "Timing_engraver"
+    }
+}       
+
+\relative c'  <<
+    \new Staff {
+        \time 3/4
+        c4 c c | c c c |
+    }
+
+    \new Staff {
+        \time 2/4
+        c4 c | c c | c c
+    }
+    \new Staff {
+        \time 3/8
+        c4. c8 c c   c4. c8 c c
+    }
+>>
+@end lilypond
+
+
+A different form of polymetric notation is where note lengths have
+different values across staves.
+
+This notation can be created by setting a common time signature for
+each staff but replacing it manually using
+@code{timeSignatureFraction} to the desired fraction. Then the printed
+durations in each staff are scaled to the common time signature.
+The latter is done with @code{\compressmusic}, which is similar to
+@code{\times}, but does not create a tuplet bracket.
+
+
+In this example, music with the time signatures of 3/4, 9/8 and 10/8 are
+used in parallel. In the second staff, shown durations are multiplied by 
+2/3, so that 2/3 * 9/8 = 3/4, and in the third staff, shown durations are 
+multiplied by 3/5, so that 3/5 * 10/8 = 3/4.
+
+@lilypond[raggedright,verbatim]
+\relative c'  <<
+    \new Staff {
+        \time 3/4
+        c4 c c | c c c |
+    }
+    \new Staff {
+        \time 3/4
+        \set Staff.timeSignatureFraction = #'(9 . 8)
+        \compressmusic #'(2 . 3)
+          \repeat unfold 6 { c8[ c c] }
+    }
+    \new Staff {
+        \time 3/4
+        \set Staff.timeSignatureFraction = #'(10 . 8)
+        \compressmusic #'(3 . 5)
+          { \repeat unfold 2 { c8[ c c] }
+            \repeat unfold 2 { c8[  c] }
+            |  c4. c4. \times 2/3 { c8 c c } c4  }
+    }
+>>
+@end lilypond
+
+
+
+
+@refbugs
+
+When using different time signatures in parallel, the spacing is
+aligned vertically, but bar lines distort the regular spacing.
+
+
+
 @node Clusters
 @subsection Clusters
 
@@ -6604,6 +7273,29 @@ supported
 See @ref{Articulations} for general instructions how to apply scripts
 such as fermatas to notes.
 
+@node Feathered beams
+@subsection Feathered beams
+
+Feathered beams are not supported natively, but they can be faked by
+forcing two beams to overlap. Here is an example,
+
+@lilypond[raggedright]
+\relative \new Staff <<
+    \new Voice
+    {
+       \stemUp
+       \once \override Voice.Beam #'positions = #'(0 . 0.5)
+        c8[ c c c c ]
+    }
+    \new Voice {
+       \stemUp
+       \once \override Voice.Beam #'positions = #'(0 . -0.5) 
+        c[ c c c c]
+    }
+>>
+@end lilypond
+
+
 
 @node Educational use
 @section Educational use
@@ -6633,9 +7325,9 @@ c8
 
 @noindent
 The function @code{add-balloon-text} takes the name of a grob, the
-label to print and where to put the label relative to the object. In
-the above example, the text ``heads or tails?'' ends 3 spaces below
-the `balloon.' 
+label to print, and the position where to put the label relative to 
+the object. In the above example, the text ``heads or tails?'' ends 
+3 spaces below the `balloon.' 
 
 @cindex balloon
 @cindex notation, explaining
@@ -6703,7 +7395,7 @@ unblanknotes = { \revert NoteHead #'transparent
 @cindex easy notation
 @cindex Hal Leonard
 
-The `easy play' note head includes a  name inside the head.  It is
+The `easy play' note head includes a note name inside the head.  It is
 used in music for beginners
 
 @lilypond[quote,raggedright,verbatim,fragment,staffsize=26]