]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/instrument-notation.itely
Merge branch 'master' of git://git.sv.gnu.org/lilypond
[lilypond.git] / Documentation / user / instrument-notation.itely
index 30f112dcc4c8fbfe6b6677f7fa28922e1dd6fc21..e7e1b1aa899a9d1e2d46f6fe0ab1be620edb7694 100644 (file)
@@ -148,7 +148,7 @@ usually the setup for a score will start with a setup of the staves,
 and the @context{Voice} is inserted afterwards
 
 @example
-\new Staff = down
+\context Staff = down
   \new Voice @{ @dots{} \change Staff = up @dots{} @}
 @end example
 
@@ -229,7 +229,7 @@ In this manual: @ref{Laissez vibrer ties}
 @cindex staff switching
 @cindex cross staff
 
-@findex followVoice
+@funindex followVoice
 
 Whenever a voice switches to another staff, a line connecting the notes
 can be printed automatically.  This is switched on by setting
@@ -253,9 +253,9 @@ Program reference: @internalsref{VoiceFollower}.
 
 @refcommands
 
-@findex \showStaffSwitch
+@funindex \showStaffSwitch
 @code{\showStaffSwitch},
-@findex \hideStaffSwitch
+@funindex \hideStaffSwitch
 @code{\hideStaffSwitch}.
 
 
@@ -413,11 +413,11 @@ Modifiers can be mixed with additions
 @end lilypond
 
 @cindex modifiers, in chords.
-@findex aug
-@findex dim
-@findex maj
-@findex sus
-@findex m
+@funindex aug
+@funindex dim
+@funindex maj
+@funindex sus
+@funindex m
 
 Since an unaltered 11 does not sound good when combined with an
 unaltered 3, the 11 is removed in this case (unless it is added
@@ -426,7 +426,7 @@ explicitly)
 \chordmode { c:13 c:13.11 c:m13 }
 @end lilypond
 
-@findex /
+@funindex /
 
 An inversion (putting one pitch of the chord on the bottom), as well
 as bass notes, can be specified by appending
@@ -434,7 +434,7 @@ as bass notes, can be specified by appending
 @lilypond[quote,ragged-right,fragment,verbatim]
 \chordmode { c1 c/g c/f }
 @end lilypond
-@findex /+
+@funindex /+
 
 A bass note can be added instead transposed out of the chord,
 by using @code{/+}@var{pitch}.
@@ -512,8 +512,8 @@ for showing repeats.
   \consists "Volta_engraver"
 }
 \chordmode { \repeat volta 2 {
-  f1:maj f:7 bes:7
-  c:maj
+  f1:maj7 f:7 bes:7
+  c:maj7
 } \alternative {
   es e
 }
@@ -526,7 +526,7 @@ Klaus Ignatzek (see @ref{Literature list}).  It can be tuned through the
 following properties
 
 @table @code
-@findex chordNameExceptions
+@funindex chordNameExceptions
 @item chordNameExceptions
 This is a list that contains the chords that have special formatting.
 
@@ -555,14 +555,14 @@ For an example of tuning this property, see also
 @cindex exceptions, chord names.
 
 
-@findex majorSevenSymbol
+@funindex majorSevenSymbol
 @item majorSevenSymbol
 This property contains the markup object used for the 7th step, when
 it is major.  Predefined options are @code{whiteTriangleMarkup} and
 @code{blackTriangleMarkup}.  See
 @inputfileref{input/@/regression,chord@/-name@/-major7@/.ly} for an example.
 
-@findex chordNameSeparator
+@funindex chordNameSeparator
 @item chordNameSeparator
 Different parts of a chord name are normally separated by a
 slash.  By setting @code{chordNameSeparator}, you can specify other
@@ -576,21 +576,21 @@ separators, e.g.,
 }
 @end lilypond
 
-@findex chordRootNamer
+@funindex chordRootNamer
 @item chordRootNamer
 The root of a chord is usually printed as a letter with an optional
 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.
 
-@findex chordNoteNamer
+@funindex chordNoteNamer
 @item chordNoteNamer
 The default is to print single pitch, e.g., the bass note, using the
 @code{chordRootNamer}.  The @code{chordNoteNamer} property can be set
 to a specialized function to change this behavior.  For example, the
 base can be printed in lower case.
 
-@findex chordPrefixSpacer
+@funindex chordPrefixSpacer
 @item chordPrefixSpacer
 The ``m'' for minor chords is usually printed right after the root of
 the chord. By setting @code{chordPrefixSpacer}, you can fix a spacer
@@ -619,13 +619,13 @@ chart}.  Turning on these styles is described in the input file
 
 @refcommands
 
-@findex \germanChords
+@funindex \germanChords
 @code{\germanChords},
-@findex \semiGermanChords
+@funindex \semiGermanChords
 @code{\semiGermanChords}.
-@findex \italianChords
+@funindex \italianChords
 @code{\italianChords}.
-@findex \frenchChords
+@funindex \frenchChords
 @code{\frenchChords}.
 
 
@@ -673,7 +673,7 @@ way is to use the @code{\addlyrics} function.
 @menu
 * Setting simple songs::        
 * Entering lyrics::             
-* Hyphens and extenders::       
+* Hyphens and extenders::
 * The Lyrics context::          
 * Melismata::                   
 * Another way of entering lyrics::  
@@ -746,7 +746,7 @@ cases you should use @code{\lyricsto} and @code{\lyricmode}.
 @subsection Entering lyrics
 
 @cindex lyrics
-@findex \lyricmode
+@funindex \lyricmode
 @cindex punctuation
 
 Lyrics are entered in a special input mode.  This mode is introduced
@@ -777,7 +777,7 @@ opening brace is not balanced
 \lyricmode @{ twinkle@}
 @end example
 
-@findex \property in \lyricmode
+@funindex \property in \lyricmode
 
 @noindent
 Similarly, a period which follows an alphabetic sequence is included in
@@ -787,20 +787,28 @@ property commands
 \override Score . LyricText #'font-shape = #'italic
 @end example
 
-@findex _
+@funindex _
 @cindex spaces, in lyrics
 @cindex quotes, in lyrics
+@cindex ties, in lyrics
 
-In order to assign more than one syllable to a single note, you must
-surround them with quotes or use a @code{_} character between the syllables.
+In order to assign more than one syllable to a single note, you can
+surround them with quotes or use a @code{_} character, to get spaces
+between syllables, or use tilde  symbol (@code{~}) to get a lyric tie.
 
 @lilypond[quote,relative=2,ragged-right,fragment,verbatim]
 \time 3/4
 \relative { c2 e4 g2 e4 }
 \addlyrics { gran- de_a- mi- go }
 \addlyrics { pu- "ro y ho-" nes- to }
+\addlyrics { pu- ro~yho- nes- to }
 @end lilypond
 
+The lyric ties is implemented with the Unicode character U+203F, so be
+sure to have a font (Like DejaVuLGC) installed that includes this
+glyph.
+
+
 To enter lyrics with characters from non-English languages, or with
 non-ascii characters (such as the heart symbol or slanted quotes),
 simply insert the characters directly into the input file and save
@@ -884,7 +892,7 @@ Program reference: @internalsref{LyricHyphen}, @internalsref{LyricExtender}.
 @node The Lyrics context
 @subsection The Lyrics context
 
-Lyrics are printed by interpreting them in the context caleld
+Lyrics are printed by interpreting them in the context called
 @internalsref{Lyrics}.
 
 @example
@@ -892,7 +900,7 @@ Lyrics are printed by interpreting them in the context caleld
 @end example
 
 @cindex automatic syllable durations
-@findex \lyricsto
+@funindex \lyricsto
 @cindex lyrics and melodies
 
 This will place the lyrics according to the durations that were
@@ -1021,8 +1029,8 @@ A complete example of a SATB score setup is in section
 @refcommands
 
 @code{\melisma}, @code{\melismaEnd}
-@findex \melismaEnd
-@findex \melisma
+@funindex \melismaEnd
+@funindex \melisma
 
 @seealso
 
@@ -1279,25 +1287,16 @@ It is also possible to define melismata entirely in the lyrics. This
 can be done by entering @code{_} for every note that is part of the
 melisma.
 
-@lilypond[relative=1,verbatim,fragment]
+@lilypond[relative=1,verbatim,fragment,quote]
 { \set melismaBusyProperties = #'()
   c d( e) f f( e) e e  }
 \addlyrics
  { Ky -- _ _ ri __ _ _ _  e }
 @end lilypond
 
-In this case, you can also have ties and slurs in the melody, if you
+In this case, you can also have ties and slurs in the melody if you
 set @code{melismaBusyProperties}, as is done in the example above.
 
-@lilypond[relative=1,verbatim,fragment,quote]
-{
- \set melismaBusyProperties = #'()
-  c d( e) f f( e) e e
-}
-\addlyrics
- { Ky -- _ _ ri __ _ _ _  e }
-@end lilypond
-
 
 @node Lyrics independent of notes
 @subsubsection Lyrics independent of notes
@@ -1444,7 +1443,7 @@ its fleece was white as snow.
 
 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}.
+@code{vocalName}.  A short version may be entered as @code{shortVocalName}.
 
 
 @lilypond[fragment,ragged-right,quote,verbatim,relative=2]
@@ -1460,6 +1459,72 @@ the line, just like instrument names.  They are created by setting
 @end lilypond
 
 
+When a piece of music has many verses, they are often printed in
+multiple columns across the page. An outdented verse number often
+introduces each verse. The following example shows how to produce such
+output in Lilypond.
+
+@lilypond[ragged-right,quote,verbatim]
+melody = \relative c' {
+  c c c c | d d d d
+}
+text = \lyricmode {
+  \set stanza = "1." This is verse one.
+  It has two lines.
+}
+
+\score{ <<
+    \new Voice = "one" { \melody }
+    \new Lyrics \lyricsto "one" \text
+   >>
+  \layout { }
+}
+
+\markup {
+  \fill-line {
+    \hspace #0.1 % moves the column off the left margin; can be removed if
+        % space on the page is tight
+     \column {
+      \line { \bold "2."
+        \column {
+          "This is verse two."
+          "It has two lines."
+        }
+      }
+      \hspace #0.1 % adds vertical spacing between verses
+      \line { \bold "3."
+        \column {
+          "This is verse three."
+          "It has two lines."
+        }
+      }
+    }
+    \hspace #0.1  % adds horizontal spacing between columns; if they are
+        % still too close, add more " " pairs until the result 
+        % looks good
+     \column {
+      \line { \bold "4."
+        \column {
+          "This is verse four."
+          "It has two lines."
+        }
+      }
+      \hspace #0.1 % adds vertical spacing between verses
+      \line { \bold "5."
+        \column {
+          "This is verse five."
+          "It has two lines."
+        }
+      }
+    }
+  \hspace #0.1 % gives some extra space on the right margin; can
+      % be removed if page space is tight
+  }
+}
+@end lilypond
+
+
 @seealso
 
 Program reference: @internalsref{LyricText}, @internalsref{StanzaNumber},
@@ -1905,6 +1970,7 @@ around each @code{\parenthesize} statement.
 * Non-guitar tablatures::       
 * Banjo tablatures::            
 * Fret diagrams::               
+* Right hand fingerings::       
 * Other guitar issues::         
 @end menu
 
@@ -1951,7 +2017,7 @@ are printed as tablature, by using @internalsref{TabStaff} and
 }
 @end lilypond
 
-@findex minimumFret
+@funindex minimumFret
 @cindex fret
 
 When no string is specified, the first string that does not give a
@@ -2135,6 +2201,62 @@ Details about the property interface to fret diagrams are found at
 Examples: @inputfileref{input/@/test,fret@/-diagram@/.ly}
 
 
+@node Right hand fingerings
+@subsection Right hand fingerings
+
+Right hand fingerings in chords can be entered using
+@code{@var{note}-\rightHandFinger @var{finger}}
+
+@lilypond[verbatim,fragment,relative=2]
+  <c-\rightHandFinger #1 e-\rightHandFinger #2 >
+@end lilypond
+
+for brevity, you can abbreviate @code{\rightHandFinger} to something
+short, for example @code{RH},
+
+@example
+#(define RH rightHandFinger)
+@end example
+
+@cindex fingerings, right hand, for guitar 
+@cindex right hand fingerings for guitar
+@commonprop
+
+You may exercise greater control over right handing fingerings by
+setting @code{strokeFingerOrientations},
+
+@lilypond[quote,verbatim,ragged-right,fragment,relative=1]
+#(define RH rightHandFinger)
+{
+  \set strokeFingerOrientations = #'(up down)
+  <c-\RH #1 es-\RH #2 g-\RH #4 > 4
+  \set strokeFingerOrientations = #'(up right down)
+  <c-\RH #1 es-\RH #2 g-\RH #4 > 4
+}
+@end lilypond
+
+The letters used for the fingerings are contained in the property
+@code{digit-names}, but they can also be set individually by supplying
+@code{\rightHandFinger} with a string argument, as in the following example
+
+
+@lilypond[quote,verbatim,ragged-right,fragment,relative=1]
+#(define RH rightHandFinger)
+{
+  \set strokeFingerOrientations = #'(right)
+  \override StrokeFinger #'digit-names = ##("x" "y" "z" "!" "@") 
+  <c-\RH #5 >4
+  <c-\RH "@">4  
+}
+@end lilypond
+
+@seealso
+
+Internalls: @internalsref{StrokeFinger}
+
+
+
 @node Other guitar issues
 @subsection Other guitar issues
 
@@ -2358,8 +2480,7 @@ Here are all suptopics at a glance:
 @node Ancient note heads
 @subsection Ancient note heads
 
-@cindex note heads
-
+@cindex note heads, ancient
 
 For ancient notation, a note head style other than the @code{default}
 style may be chosen.  This is accomplished by setting the @code{style}
@@ -2909,16 +3030,14 @@ Editio Vaticana style.
 \include "gregorian-init.ly"
 \score {
   \new VaticanaVoice {
-    \override Staff.StaffSymbol #'color = #red
-    \override Staff.LedgerLineSpanner #'color = #red
     \override TextScript #'font-family = #'typewriter
     \override TextScript #'font-shape = #'upright
     \override Script #'padding = #-0.1
-    a4\ictus_"ictus" s1
-    a4\circulus_"circulus" s1
-    a4\semicirculus_"semicirculus" s1 s
-    a4\accentus_"accentus" s1
-    \[ a4_"episem" \episemInitium \pes b \flexa a \episemFinis \]
+    a\ictus_"ictus" \break
+    a\circulus_"circulus" \break
+    a\semicirculus_"semicirculus" \break
+    a\accentus_"accentus" \break
+    \[ a_"episem" \episemInitium \pes b \flexa a b \episemFinis \flexa a \]
   }
 }
 @end lilypond
@@ -2928,6 +3047,9 @@ Editio Vaticana style.
 Some articulations are vertically placed too closely to the
 correpsonding note heads.
 
+The episem line is not displayed in many cases.  If it is displayed,
+the right end of the episem line is often too far to the right.
+
 @node Custodes
 @subsection Custodes
 
@@ -3036,17 +3158,17 @@ Therefore, @file{gregorian@/-init@/.ly} also defines @code{\virgula} and
 
 @refcommands
 
-@findex \virgula
+@funindex \virgula
 @code{\virgula},
-@findex \caesura
+@funindex \caesura
 @code{\caesura},
-@findex \divisioMinima
+@funindex \divisioMinima
 @code{\divisioMinima},
-@findex \divisioMaior
+@funindex \divisioMaior
 @code{\divisioMaior},
-@findex \divisioMaxima
+@funindex \divisioMaxima
 @code{\divisioMaxima},
-@findex \finalis
+@funindex \finalis
 @code{\finalis}.
 
 @seealso
@@ -3100,8 +3222,6 @@ correctly align with ligatures.
 Accidentals must not be printed within a ligature, but instead need to
 be collected and printed in front of it.
 
-Augmentum dots within ligatures are not handled correctly.
-
 The syntax still uses the deprecated infix style @code{\[ music expr
 \]}.  For consistency reasons, it will eventually be changed to
 postfix style @code{note\[ ... note\]}.  Alternatively, the file
@@ -3157,11 +3277,8 @@ For example,
 \override Staff.TimeSignature #'style = #'neomensural
 \clef "petrucci-g"
 \[ c'\maxima g \]
-s4
 \[ d\longa c\breve f e d \]
-s4
 \[ c'\maxima d'\longa \]
-s4
 \[ e'1 a g\breve \]
 @end example
 @lilypond[quote,ragged-right]
@@ -3173,11 +3290,8 @@ s4
     \override Staff.TimeSignature #'style = #'neomensural
     \clef "petrucci-g"
     \[ c'\maxima g \]
-    s4
     \[ d\longa c\breve f e d \]
-    s4
     \[ c'\maxima d'\longa \]
-    s4
     \[ e'1 a g\breve \]
   }
   \layout {
@@ -3202,19 +3316,15 @@ to the following
   \override Staff.TimeSignature #'style = #'neomensural
   \clef "petrucci-g"
   \[ c'\maxima g \]
-  s4
   \[ d\longa c\breve f e d \]
-  s4
   \[ c'\maxima d'\longa \]
-  s4
   \[ e'1 a g\breve \]
 }
 @end lilypond
 
 @refbugs
 
-The invisible rests (@code{s4}) in the example are used to compensate
-for the poor horizontal spacing.
+Horizontal spacing is poor.
 
 @node Gregorian square neumes ligatures
 @subsubsection Gregorian square neumes ligatures
@@ -4102,44 +4212,75 @@ ligatures can be created.
 @c even more Gregorian ligatures, and add a link to this document
 @c here.
 
+Augmentum dots, also called @emph{morae}, are added with the music
+function @code{\augmentum}.  Note that @code{\augmentum} is
+implemented as a unary music function rather than as head prefix.  It
+applies to the immediately following music expression only.  That is,
+@code{\augmentum \virga c} will have no visible effect.  Instead, say
+@code{\virga \augmentum c} or @code{\augmentum @{\virga c@}}.  Also
+note that you can say @code{\augmentum @{a g@}} as a shortcut for
+@code{\augmentum a \augmentum g}.
+
+@lilypond[quote,ragged-right,verbatim]
+\include "gregorian-init.ly"
+\score {
+  \new VaticanaVoice {
+    \[ \augmentum a \flexa \augmentum g \]
+    \augmentum g
+  }
+}
+@end lilypond
+
 @refcommands
 
 The following head prefixes are supported
 
-@findex \virga
+@funindex \virga
 @code{\virga},
-@findex \stropha
+@funindex \stropha
 @code{\stropha},
-@findex \inclinatum
+@funindex \inclinatum
 @code{\inclinatum},
-@findex \auctum
+@funindex \auctum
 @code{\auctum},
-@findex \descendens
+@funindex \descendens
 @code{\descendens},
-@findex \ascendens
+@funindex \ascendens
 @code{\ascendens},
-@findex \oriscus
+@funindex \oriscus
 @code{\oriscus},
-@findex \quilisma
+@funindex \quilisma
 @code{\quilisma},
-@findex \deminutum
+@funindex \deminutum
 @code{\deminutum},
-@findex \cavum
+@funindex \cavum
 @code{\cavum},
-@findex \linea
+@funindex \linea
 @code{\linea}.
 
 Head prefixes can be accumulated, though restrictions apply.  For
 example, either @code{\descendens} or @code{\ascendens} can be applied
 to a head, but not both to the same head.
 
-@findex \pes
-@findex \flexa
+@funindex \pes
+@funindex \flexa
 Two adjacent heads can be tied together with the @code{\pes} and
 @code{\flexa} infix commands for a rising and falling line of melody,
 respectively.
 
+@funindex \augmentum
+Use the unary music function @code{\augmentum} to add augmentum dots.
+
+@refbugs
+
+When an @code{\augmentum} dot appears at the end of the last staff
+within a ligature, it is sometimes vertically placed wrong.  As a
+workaround, add an additional skip note (e.g. @code{s8}) as last note
+of the staff.
 
+@code{\augmentum} should be implemented as a head prefix rather than a
+unary music function, such that @code{\augmentum} can be intermixed
+with head prefixes in arbitrary order.
 
 @node Gregorian Chant contexts
 @subsection Gregorian Chant contexts
@@ -4159,17 +4300,13 @@ the following excerpt demonstrates
 \score {
   <<
     \new VaticanaVoice = "cantus" {
-      \override Staff.StaffSymbol #'color = #red
-      \override Staff.LedgerLineSpanner #'color = #red
-      \override Score.BarNumber #'transparent = ##t {
-        \[ c'\melisma c' \flexa a \]
-        \[ a \flexa \deminutum g\melismaEnd \]
-        f \divisioMinima
-        \[ f\melisma \pes a c' c' \pes d'\melismaEnd \]
-        c' \divisioMinima \break
-        \[ c'\melisma c' \flexa a \]
-        \[ a \flexa \deminutum g\melismaEnd \] f \divisioMinima
-      }
+      \[ c'\melisma c' \flexa a \]
+      \[ a \flexa \deminutum g\melismaEnd \]
+      f \divisioMinima
+      \[ f\melisma \pes a c' c' \pes d'\melismaEnd \]
+      c' \divisioMinima \break
+      \[ c'\melisma c' \flexa a \]
+      \[ a \flexa \deminutum g\melismaEnd \] f \divisioMinima
     }
     \new Lyrics \lyricsto "cantus" {
       San- ctus, San- ctus, San- ctus
@@ -4225,7 +4362,7 @@ usually printed over the note.
 Support for such suggested accidentals is included, and can be
 switched on by setting @code{suggestAccidentals} to true.
 
-@findex suggestAccidentals
+@funindex suggestAccidentals
 
 @lilypond[verbatim,fragment,relative=1]
 fis gis
@@ -4378,6 +4515,39 @@ Internally, the code produces markup texts.  You can use any of the
 markup text properties to override formatting.  For example, the
 vertical spacing of the figures may be set with @code{baseline-skip}.
 
+
+Figured bass can also be added to @code{Staff} contexts
+directly.  In this case, their vertical position is adjusted
+automatically.
+
+@lilypond[ragged-right,fragment,quote]
+<<
+  \new Staff = someUniqueName
+  \relative c'' {
+    c4 c'8 r8 c,4 c'
+  }
+
+  %% send to existing Staff.
+  \context Staff = someUniqueName 
+  \figuremode {
+    <4>4 <6 10>8 s8
+    
+    \set Staff.useBassFigureExtenders = ##t
+    <4 6>4 <4 6>
+  }
+>>
+@end lilypond
+
+
+@refbugs
+
+When using figured bass above the staff with extender lines and
+@code{implicitBassFigures} the lines may become swapped around.
+Maintaining order consistently will be impossible when multiple figures
+have overlapping extender lines.  To avoid this problem, plese
+use @code{stacking-dir} on @code{BassFigureAlignment}.
+
+
 @seealso
 
 Program reference: @internalsref{NewBassFigure},