]> git.donarmstrong.com Git - lilypond.git/commitdiff
* input/test/slur-beautiful.ly: new file.
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Fri, 18 Apr 2003 23:18:29 +0000 (23:18 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Fri, 18 Apr 2003 23:18:29 +0000 (23:18 +0000)
* Documentation/user/refman.itely: updates.

ChangeLog
Documentation/user/invoking.itexi
Documentation/user/refman.itely
input/test/script-abbreviations.ly [new file with mode: 0644]
input/test/script-chart.ly [new file with mode: 0644]
input/test/slur-beautiful.ly [new file with mode: 0644]

index 84ab9d293eb076c6918ee4f97fbde9fe719ef291..717b7f06f96c0b3016bdfff173f55f952991a451 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2003-04-19  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
 
+       * input/test/slur-beautiful.ly: new file.
+
        * Documentation/user/refman.itely: updates.
 
        * input/regression/collisions.ly (threevoice): cleanup.
index f82db08d24776a0c432e3bc973ef7b2f947e4696..7b91e9edf93bb6299bec96d81d0d74a22ca69f53 100644 (file)
@@ -5,7 +5,7 @@
 @menu
 * Reporting bugs::              
 * Website::                     
-* Invoking ly2dvi::           Titling LilyPond scores.
+* Invoking ly2dvi::             Titling LilyPond scores.
 @end menu
 
 @cindex Invoking LilyPond
@@ -231,6 +231,10 @@ website at @uref{http://www.lilypond.org/}.
 
 
 @c .  {Point and click}
+@menu
+* Point and click::             
+@end menu
+
 @node Point and click
 @subsection Point and click
 @cindex poind and click
index cbd41ea92be7a649e222018ae54df144316fdab8..776021d047761e1ad2b542621dd2a4fd2aa3b862 100644 (file)
@@ -7,11 +7,6 @@
 @c FIXME: singular vs. plural:  Beams/Beam
 
 
-
-
-
-
-
 @node Reference Manual
 @chapter Reference Manual
 
@@ -43,8 +38,8 @@ this manual.
 * Tablatures::                  
 * Chords::                      
 * Writing parts::               
-* Ancient notation::           
-* Contemporary notation::      
+* Ancient notation ::           
+* Contemporary notation::       
 * Tuning output::               
 * Global layout::               
 * Sound::                       
@@ -484,10 +479,8 @@ produce the correct result.
 @section Easier music entry
 @cindex Music entry
 @menu
-* Graphical interfaces::        
 * Relative octaves::            
 * Bar check::                   
-* Point and click::             
 * Skipping corrected music::    
 @end menu
 
@@ -1468,13 +1461,18 @@ for the problematic notes.
 @cindex Slurs
 
 A slur indicates that notes are to be played bound or @emph{legato}.
+
+@syntax
+
 They are entered using parentheses:
 @lilypond[fragment,verbatim,center]
   f'-( g'-)-( a'-) [a'8 b'-(-] a'4 g'2 f'4-)
   <<c' e'>>2-( <<b d'>>2-)
 @end lilypond
 
-See also @seeinternals{Slur}.
+
+@c TODO: should explain that ^( and _( set directions
+@c should set attachments with ^ and _ ?  
 
 Slurs avoid crossing stems, and are generally attached to note heads.
 However, in some situations with beams, slurs may be attached to stem
@@ -1502,25 +1500,10 @@ stems might look better:
   d,32-( d'4 d8..-)
 @end lilypond
 
-@ignore
-Similarly, the curvature of a slur is adjusted to stay clear of note
-heads and stems.  When that would increase the curvature too much, the
-slur is reverted to its default shape.  The threshold for this
-decision is in @internalsref{Slur}'s object property @code{beautiful}.
-It is loosely related to the enclosed area between the slur and the
-notes.  Usually, the default setting works well, but in some cases you
-may prefer a curved slur when LilyPond decides for a vertically moved
-one.  You can indicate this preference by increasing the
-@code{beautiful} value:
-
-@lilyp ond[verbatim,singleline,relative]
-  \stemDown \slurUp
-  c16-( a' f' a a f a, c,-)
-  c-( a' f' a a f d, c-)
-  \property Voice.Slur \override #'beautiful = #5.0
-  c-( a' f' a a f d, c-)
-@end lilypond
-@end ignore
+@seealso
+
+@seeinternals{Slur}.
+
 
 @refbugs
 
@@ -1528,12 +1511,6 @@ Producing nice slurs is a difficult problem, and LilyPond currently
 uses a simple, empiric method to produce slurs. In some cases, the
 results of this method are ugly.
 
-@ignore
-This is reflected by the
-@code{beautiful} property, which it is an arbitrary parameter in the
-slur formatter.  Useful values can only be determined by trial and
-error.
-@end ignore
 
 @cindex Adjusting slurs
 
@@ -1548,24 +1525,29 @@ indicate a musical sentence. It is started using @code{\(} and @code{\)}
 respectively.
 
 @lilypond[fragment,verbatim,center,relative]
-  \time 6/4 c' \(  d ( e-) f ( e-)  d-\) 
+  \time 6/4 c'-\(  d-( e-) f-( e-)  d-\) 
 @end lilypond
 
-Typographically, the phrasing slur behaves almost exactly like a normal
-slur.  See also @seeinternals{PhrasingSlur}.  But although they behave
-similarily to normal slurs, phrasing slurs count as different objects.
-A @code{\slurUp} will have no effect on a phrasing slur; instead, you
-should use @code{\phrasingSlurUp}, @code{\phrasingSlurDown}, and
+Typographically, the phrasing slur behaves almost exactly like a
+normal slur.  Although they behave similar to normal slurs, phrasing
+slurs count as different objects.  A @code{\slurUp} will have no
+effect on a phrasing slur; instead, you should use
+@code{\phrasingSlurUp}, @code{\phrasingSlurDown}, and
 @code{\phrasingSlurBoth}.
 
 The commands @code{\slurUp}, @code{\slurDown}, and @code{\slurBoth}
 will only affect normal slurs and not phrasing slurs.
 
+@seealso
+
+See also @seeinternals{PhrasingSlur}. Phrasing slurs have the same
+limitations in their formatting.
+
 @node Breath marks
 @subsection Breath marks
 
-Breath marks are entered using @code{\breathe}.  See also
-@seeinternals{BreathingSign}.
+Breath marks are entered using @code{\breathe}.
+
 
 @lilypond[fragment,relative]
 c'4 \breathe d4
@@ -1574,23 +1556,17 @@ c'4 \breathe d4
 The glyph of the breath mark can be tweaked by overriding the
 @code{text} property of the @code{BreathingSign} grob with the name of
 any glyph of @ref{The Feta font}.  For example,
-
-@example
-  \property Voice.BreathingSign \override #'text = #"scripts-rvarcomma"
-  \breathe
-@end example
-
-gives the following result:
-
-@lilypond[fragment,relative]
+@lilypond[fragment,verbatim,relative]
 c'4
 \property Voice.BreathingSign \override #'text = #"scripts-rvarcomma"
 \breathe
 d4
 @end lilypond
 
-The default value for the @code{text} property is
-@code{scripts-rcomma}.
+@seealso 
+
+@seeinternals{BreathingSign},
+@inputfileref{input/regression/,breathing-sign.ly}.
 
 
 @node Tempo
@@ -1614,36 +1590,42 @@ per minute.
 The tempo setting is not printed, but is only used in the MIDI
 output. You can trick lily into producing a metronome mark,
 though. Details are in @ref{Text markup}.
-  
+
+[TODO: make note markup.]
 
 
 @node Text spanners
 @subsection Text spanners
 @cindex Text spanners
 
-Some textual indications, e.g. rallentando or accelerando, often extend
-over many measures. This is indicated by following the text with a
-dotted line.  You can create such texts using text spanners. The syntax
-is as follows:
+Some textual indications, e.g. @i{rallentando} or @i{accelerando}, are
+often extended over many measures. This is indicated by following the
+text with a dotted line.  You can create such texts using text
+spanners. The syntax is as follows:
 @example
  \startTextSpan
  \stopTextSpan
 @end example
-LilyPond will respond by creating a @internalsref{TextSpanner} object (typically
-in @internalsref{Voice} context).  The string to be printed, as well as the
-style is set through object properties.
+The string to be printed, as well as the style, is set through object
+properties.
+
+An application is to fake octavation indications.
 
-An application---or rather, a hack---is to fake octavation indications.
 @lilypond[fragment,relative,verbatim]
  \relative c' {  a''' b c a
   \property Voice.TextSpanner \set #'type = #'dotted-line
   \property Voice.TextSpanner \set #'edge-height = #'(0 . 1.5)
   \property Voice.TextSpanner \set #'edge-text = #'("8va " . "")
   \property Staff.centralCPosition = #-13
-  a\startTextSpan b c a \stopTextSpan }
+  a-\startTextSpan b c a-\stopTextSpan }
 @end lilypond
 
 
+@seealso
+
+@internalsref{TextSpanner}, @inputfileref{input/regression/,text-spanner.ly}.
+
+
 @node Analysis brackets
 @subsection Analysis brackets
 @cindex brackets
@@ -1670,10 +1652,18 @@ To use this, add the @internalsref{Horizontal_bracket_engraver} to
        }}}
 @end lilypond
 
+@refbugs
+
+Bracket endings should be angled/slanted. (TODO)
+
 
 @node Ornaments
 @section Ornaments
 @cindex Ornaments
+
+[TODO: ornaments vs. expressive marks]
+
 @menu
 * Articulations::               
 * Text scripts::                
@@ -1695,21 +1685,8 @@ A variety of symbols can appear above and below notes to indicate
 different characteristics of the performance. They are added to a note
 by adding a dash and the the character signifying the
 articulation. They are demonstrated here.
-@lilypond[singleline]
-  \score {
-    \notes \context Voice {
-      \property Voice.TextScript \set #'font-family = #'typewriter
-      \property Voice.TextScript \set #'font-shape = #'upright
-      c''4-._"c-."      s4
-      c''4--_"c-{}-"    s4
-      c''4-+_"c-+"      s4
-      c''4-|_"c-|"      s4
-      c''4->_"c->"      s4
-      c''4-^_"c-\\^{ }" s4
-      c''4-__"c-\_" s4      
-    }
-  }
-@end lilypond
+
+@lilypondfile[notexidoc]{script-abbreviations.ly}
 
 The script is automatically placed, but if you need to force
 directions, you can use @code{_} to force them down, or @code{^} to
@@ -1752,51 +1729,7 @@ using @code{^} and @code{_}.
 @cindex coda
 @cindex varcoda
 
-@lilypond[]
-  \score {
-    <
-      \property Score.LyricText \override #'font-family = #'typewriter
-      \property Score.LyricText \override #'font-shape = #'upright
-      \context Staff \notes {
-       \property Score.timing = ##f
-       \property Score.barAlways = ##t
-       \property Staff.BarLine \override #'transparent = ##t
-        c''-\accent             c''-\marcato            c''-\staccatissimo
-        c''-\staccato           c''-\tenuto             c''-\portato
-        c''-\upbow              c''-\downbow            c''-\flageolet
-        c''-\thumb              c''^\lheel              c''-\rheel
-        c''^\ltoe               c''-\rtoe               c''-\open
-        c''-\stopped            c''-\turn               c''-\reverseturn
-        c''-\trill              c''-\prall              c''-\mordent
-        c''-\prallprall         c''-\prallmordent       c''-\upprall
-        c''-\downprall          c''-\upmordent          c''-\downmordent
-        c''-\pralldown          c''-\prallup            c''-\lineprall
-        c''-\signumcongruentiae c''-\shortfermata       c''-\fermata
-        c''-\longfermata        c''-\verylongfermata    c''-\segno
-        c''-\coda               c''-\varcoda
-      }
-      \context Lyrics \lyrics {
-        accent__                marcato__               staccatissimo__
-        staccato__              tenuto__                portato__
-        upbow__                 downbow__               flageolet__
-        thumb__                 lheel__                 rheel__
-        ltoe__                  rtoe__                  open__
-        stopped__               turn__                  reverseturn__
-        trill__                 prall__                 mordent__
-        prallprall__            prallmordent__          uprall__
-        downprall__             upmordent__             downmordent__
-        pralldown__             prallup__               lineprall__
-        signumcongruentiae__    shortfermata__          fermata__
-        longfermata__           verylongfermata__       segno__
-        coda__                  varcoda__
-      }
-    >
-    \paper {
-      linewidth = 5.1\in
-      indent    = 0.0\mm
-    }
-  }
-@end lilypond
+@lilypondfile[notexidoc]{script-chart.ly}
 
 
 @cindex fingering
@@ -1814,30 +1747,35 @@ finger changes, use markup texts:
 @cindex superscript
 @cindex subscript
 
-See also @seeinternals{Script} and @seeinternals{Fingering}.
+@lilypond[verbatim,singleline,fragment,relative=1]
+        << c-1  e-2 g-3 b-5 >> 4
+       \property Voice.fingerHorizontalDirection = #LEFT
+       << c-1  es-3 g-5 >> 4
+       \property Voice.fingerHorizontalDirection = #RIGHT
+       << c-1  e-2 g-3 b-5 >> 4-\arpeggio
+       \property Voice.fingerHorizontalDirection = #LEFT
+       << c_1  e-2 g-3 b^5 >> 4
+@end lilypond
+        
+@seealso
+
+@internalsref{Script} and @internalsref{Fingering}.
 
 @refbugs
 
 All of these note ornaments appear in the printed output but have no
 effect on the MIDI rendering of the music.
 
-Unfortunately, there is no support for adding fingering instructions or 
-ornaments to individual note heads. Some hacks exist, though. See
-@inputfileref{input/test,script-horizontal.ly}.
-
-
 
 @node Text scripts
 @subsection Text scripts
 @cindex Text scripts
 
-In addition, it is possible to place arbitrary strings of text or markup
-text (see @ref{Text markup}) above or below notes by using a string:
-@code{c^"text"}. 
-
-By default, these indications do not influence the note spacing, but
-by using the command @code{\fatText}, the widths will be taken into
-account.
+It is possible to place arbitrary strings of text or markup text (see
+@ref{Text markup}) above or below notes by using a string:
+@code{c^"text"}.  By default, these indications do not influence the
+note spacing, but by using the command @code{\fatText}, the widths
+will be taken into account.
 @c
 @lilypond[fragment,singleline,verbatim] \relative c' {
 c4^"longtext" \fatText c4_"longlongtext" c4 }
@@ -1847,10 +1785,10 @@ It is possible to use @TeX{} commands in the strings, but this should be
 avoided because it makes it impossible for LilyPond to compute the
 exact length of the string, which may lead to collisions.  Also, @TeX{}
 commands will not work with direct PostScript output.
-@c (see @ref{PostScript output}).
 
-Text scripts are created in form of @internalsref{TextScript} objects, in
-@internalsref{Voice} context. 
+@seealso
+
+@internalsref{TextScript} objects.
 
 @ref{Text markup} describes how to change the font or access
 special symbols in text scripts.
@@ -1867,11 +1805,12 @@ special symbols in text scripts.
 @cindex grace notes
 
 Grace notes are ornaments that are written out
+
 @lilypond[relative=2,verbatim,ifragment] c4 \grace c16 c4 \grace {
 [c16 d16] } c4
 @end lilypond
 
-In normal notation, grace notes are supposed to take up no logical
+In normal notation, grace notes take up no logical
 time in a measure. Such an idea is practical for normal notation, but
 is not strict enough to put it into a program. The model that LilyPond
 uses for grace notes internally is that all timing is done in two
@@ -1890,20 +1829,13 @@ example is shown here with timing tuples.
 }
 @end lilypond
 
-The advantage of this approach is that you can use almost any lilypond
-construction together with grace notes, for example slurs and clef
-changes may appear halfway in between grace notes:
-
-@lilypond[relative=2,verbatim,fragment] 
-  c4  \grace { [ c16 c, \clef bass c, b(] }  )c4 
-@end lilypond
 
 The placement of these grace notes is synchronized between different
-staves, using this grace timing.
+staves.
 
 @lilypond[relative=2,verbatim,fragment] 
-< \context Staff = SA { e4 \grace { c16 d e f } e4 }
-  \context Staff = SB { c4 \grace { g8 b } c4 } >
+< \context Staff = SA { e4 \grace { c16-[ d e f-] } e4 }
+  \context Staff = SB { c'4 \grace { g8 b } c4 } >
 @end lilypond
 
 
@@ -1918,7 +1850,7 @@ formatting. The standard definitions are in @file{ly/grace-init.ly}.
 [TODO discuss Scheme functionality.]
 
 
-Notice how the @code{\override} is carefully matched with a @code{\revert}.
+The @code{\override} is carefully matched with a @code{\revert}.
 
 @cindex slash
 @cindex grace slash
@@ -1997,6 +1929,11 @@ errors.
 
 @cindex @code{\glissando}
 
+A glissando is a smooth change in pitch. It is denoted by a line or a
+wavy line between two notes.
+
+@syntax
+
 A glissando line can be requested by attaching a @code{\glissando} to
 a note:
 
@@ -2004,12 +1941,15 @@ a note:
   c'-\glissando c'
 @end lilypond
 
-@refbugs
+@seealso
+
+@seeinternals{Glissando}.
 
-Printing of an additional text (such as @emph{gliss.}) must be done
-manually. See also @seeinternals{Glissando}.
 
+@refbugs
 
+Printing of an additional text (such as @emph{gliss.}) must be done
+manually.
 
 
 @node Dynamics
@@ -2098,13 +2038,16 @@ You can also supply your own texts:
 
 @cindex diminuendo
 
+@seealso
+
 Dynamics are objects of @internalsref{DynamicText} and
 @internalsref{Hairpin}. Vertical positioning of these symbols is
-handled by the @internalsref{DynamicLineSpanner} object.  If you want to
-adjust padding or vertical direction of the dynamics, you must set
-properties for the @internalsref{DynamicLineSpanner} object. Predefined
-identifiers to set the vertical direction are \dynamicUp and
-\dynamicDown.
+handled by the @internalsref{DynamicLineSpanner} object.
+
+If you want to adjust padding or vertical direction of the dynamics,
+you must set properties for the @internalsref{DynamicLineSpanner}
+object. Predefined identifiers to set the vertical direction are
+\dynamicUp and \dynamicDown.
 
 @cindex direction, of dynamics
 @cindex @code{\dynamicDown}
@@ -2131,10 +2074,12 @@ output, and entering repetitive music.
 This is the normal notation: Repeats are not written out, but
 alternative endings (voltas) are printed, left to right.
 
+@ignore
 @item fold
 Alternative endings are written stacked. This has limited use but may be
 used to typeset two lines of lyrics in songs with repeats, see
 @inputfileref{input,star-spangled-banner.ly}.
+@end ignore
 
 @item tremolo
 Make tremolo beams.
@@ -2156,7 +2101,14 @@ Make beat or measure repeats. These look like percent signs.
 @node Repeat syntax
 @subsection Repeat syntax
 
-The syntax for repeats is
+
+Repetition is a central concept in music, and multiple notations exist
+for repetitions.
+
+@syntax
+
+LilyPond has one syntactic construct for specifying different types of
+repeats.  The syntax is
 
 @example
   \repeat @var{variant} @var{repeatcount} @var{repeatbody}
@@ -2169,7 +2121,9 @@ If you have alternative endings, you may add
             @var{alternative2}
             @var{alternative3} @dots{} @code{@}}
 @end example
-where each @var{alternative} is a music expression.
+where each @var{alternative} is a music expression.  If you do not
+give enough alternatives for all of the repeats, then the first
+alternative is assumed to be played more than once.
 
 Normal notation repeats are used like this:
 @lilypond[fragment,verbatim]
@@ -2185,19 +2139,18 @@ With alternative endings:
   \alternative { {d'2 d'} {f' f} }
 @end lilypond
 
+@ignore
 Folded repeats look like this:
 
 
-@lilypond[fragment,verbatim]
+@li lypond[fragment,verbatim]
   c'1
   \repeat fold 2 {c'4 d' e' f'} 
   \alternative { {d'2 d'} {f' f} }
 
 @end lilypond
+@end ignore
 
-If you do not give enough alternatives for all of the repeats, then
-the first alternative is assumed to be repeated often enough to equal
-the specified number of repeats.
 
 @lilypond[fragment,verbatim]
 \context Staff {
@@ -2220,16 +2173,11 @@ the example file @inputfileref{input/test,unfold-all-repeats.ly}.
 
 @refbugs
 
-Notice that timing information is not remembered at the start of an
-alternative, so you have to reset timing information after a repeat,
-e.g. using a bar-check (See @ref{Bar check}), setting
-@code{Score.measurePosition} or entering @code{\partial}.  Slurs or ties
-are also not repeated.
-
-It is possible to nest @code{\repeat}s, although this probably is only
-meaningful for unfolded repeats.
+Timing information is not remembered at the start of an alternative,
+so you have to reset timing information after a repeat, e.g. using a
+bar-check (See @ref{Bar check}), setting @code{Score.measurePosition}
+or entering @code{\partial}.  Slurs or ties are also not repeated.
 
-Folded repeats offer little more over simultaneous music.
 
 @node Manual repeat commands
 @subsection Manual repeat commands
@@ -2263,7 +2211,9 @@ alphabetic characters.
 @end lilypond
 
 
-Repeats brackets are @internalsref{VoltaBracket} objects.
+@seealso
+
+Repeat brackets are @internalsref{VoltaBracket} objects.
 
 @node Tremolo repeats
 @subsection Tremolo repeats
@@ -2282,13 +2232,15 @@ style.
 }
 @end lilypond
 
+@seealso
+
 Tremolo beams are @internalsref{Beam} objects. Single stem tremolos are
-@internalsref{StemTremolo}. The single stem tremolo @emph{must} be
-entered without @code{@{} and @code{@}}.  
+@internalsref{StemTremolo}. 
 
 @refbugs
 
-Only powers of two and undotted notes are supported repeat counts.
+The single stem tremolo @emph{must} be entered without @code{@{} and
+@code{@}}.
 
 @node Tremolo subdivisions
 @subsection Tremolo subdivisions
@@ -2305,8 +2257,9 @@ length is omitted, then then the last value (stored in
   c'2:8 c':32 | c': c': |
 @end lilypond
 
-@refbugs
+[TODO : stok is te kort bij 32en]
 
+@refbugs
 
 Tremolos in this style do not carry over into the MIDI output.
 
@@ -2328,8 +2281,10 @@ patterns that divide the measure length are replaced by slashes.
 }
 @end lilypond   
 
-The signs are represented by these objects: @internalsref{RepeatSlash} and
-@internalsref{PercentRepeat} and @internalsref{DoublePercentRepeat}.
+@seealso
+
+@internalsref{RepeatSlash}, @internalsref{PercentRepeat}, and
+@internalsref{DoublePercentRepeat}.
 
 @refbugs
 
@@ -2358,27 +2313,29 @@ are squashed, and the  staff itself  looks has  a single staff line:
 @subsection Percussion staves
 @cindex percussion
 @cindex drums
+
 To typeset more than one piece of percussion to be played by the same
 musician one typically uses a multiline staff where each staff
 position refers to a specific piece of percussion.
 
-LilyPond is shipped with a bunch of scheme functions which allows you
-to do this fairly easily.
-
-The system is based on the general midi drum-pitches.
-In order to use the drum pitches you include
-@file{ly/drumpitch-init.ly}. This file defines the pitches from the scheme
-variable @code{drum-pitch-names} - which definition can be read in
-@file{scm/drums.scm}. You see that each piece of percussion has a full
-name and an abbreviated name - and you may freely select whether to
-refer to the full name or the abbreviation in your music definition.
-
-To typeset the music on a staff you apply the scheme function
-@code{drums->paper} to the percussion music. This function takes a
-list of percussion instrument names, notehead scripts and staff
-positions (that is: pitches relative to the C-clef) and uses this to
-transform the input music by moving the pitch, changing the notehead
-and (optionally) adding a script:
+@syntax
+
+LilyPond is has a set of Scheme functions that can be used to typeset
+percussion staves. The system is based on the general MIDI
+drum-pitches.  Include @file{ly/drumpitch-init.ly} to use drum
+pitches. This file defines the pitches from the Scheme variable
+@code{drum-pitch-names}, the definition of which can be read in
+@file{scm/drums.scm}.  Each piece of percussion has a full name and an
+abbreviated name, and both the full name or the abbreviation may be
+used in input files.
+
+To typeset the music on a staff apply the function @code{drums->paper}
+to the percussion music. This function takes a list of percussion
+instrument names, notehead scripts and staff positions (that is:
+pitches relative to the C-clef) and transforms the input
+music by moving the pitch, changing the notehead and (optionally)
+adding a script:
+@c
 @lilypond[singleline,verbatim,quote]
 \include "drumpitch-init.ly"
 up = \notes { crashcymbal4 hihat8 halfopenhihat hh hh hh openhihat }
@@ -2428,13 +2385,13 @@ mus = \notes  { cymc cyms cymr hh hhc hho hhho hhp cb hc
 }
 @end lilypond
 
-Notice that the scheme supports six different toms.
-If you are using fewer toms then you simply select the toms that produce
-the desired result - i.e. to get toms on the three middle lines you
-use @code{tommh}, @code{tomml} and @code{tomfh}.
+Scheme supports six different toms.  When there fewer toms, simply
+select the toms that produce the desired result, i.e., to get toms on
+the three middle lines you use @code{tommh}, @code{tomml} and
+@code{tomfh}.
 
-Because the general midi contain no rimshots we use the sidestick for
-this purpose instead.
+Because general MIDI does not contain rimshots the sidestick is used
+for this purpose instead.
 @item 'timbales
 To typeset timbales on a two line staff.
 @lilypond[singleline]
@@ -2580,9 +2537,8 @@ down = \notes { bd4 sn bd toml8 toml }
 }
 @end lilypond
 
-To use a modified existing list instead of building your own from
-scratch you can append your modifications to the start of the existing
-list:
+To use a modified existing list, one can prepend modifications to the
+the existing list:
 
 @example
 #(define mydrums (append `(
@@ -2591,13 +2547,10 @@ list:
 ) drums ))
 @end example
 
-@c FIXME: Too many levels of headers when using subsubsections.
-@c Perhaps junk subsection ``Percussion staves''
-@subsubsection Percussion staves with normal staves
-When you include @file{drumpitch-init.ly} then the default pitches
-are overridden so that you after the inclusion cannot use the common
-dutch pitch names anymore. Hence you might want to reinclude
-@file{nederlands.ly} after the drum-pattern-definitions:
+The file @file{drumpitch-init.ly} replaces the normal pitch names, so
+you have to reinclude @file{nederlands.ly} after the
+drum-pattern-definitions to enter normal notes.
+@c
 @lilypond[singleline,verbatim]
 \include "drumpitch-init.ly"
 up = \notes { crashcymbal4 hihat8 halfopenhihat hh hh hh openhihat }
@@ -2616,7 +2569,9 @@ bass = \notes \transpose c c,, { a4. e8 r e g e }
 }
 @end lilypond
 
-@subsubsection Percussion midi output
+@node Percussion midi output
+@subsection Percussion midi output
+
 In order to produce correct midi output you need to produce two score
 blocks - one for the paper and one for the midi.
 To use the percussion channel you set the property @code{instrument}
@@ -2628,8 +2583,8 @@ none of the scheme functions to get the correct midi output:
 \score @{    
     \apply #(drums->paper 'mydrums) \context Staff <
         \clef percussion
-        \context Voice = up @{ \voiceOne \up @}
-        \context Voice = down @{ \voiceTwo \down @}
+        @{ \up @}  \\
+        @{ \down @}
     >
     \paper@{@}
 @}
@@ -2654,12 +2609,12 @@ compatible.
 @node Piano music
 @section Piano music
 
-Piano music is an odd type of notation. Piano staves are two normal
-staves coupled with a brace.  The staves are largely independent, but
-sometimes voices can cross between the two staves.  The
-@internalsref{PianoStaff} is especially built to handle this cross-staffing
-behavior.  In this section we discuss the @internalsref{PianoStaff} and some
-other pianistic peculiarities.
+Piano staves are two normal staves coupled with a brace.  The staves
+are largely independent, but sometimes voices can cross between the
+two staves.  The same notation is also used for harps and other key
+instruments.  The @internalsref{PianoStaff} is especially built to
+handle this cross-staffing behavior.  In this section we discuss the
+@internalsref{PianoStaff} and some other pianistic peculiarities.
 
 
 @menu
@@ -2677,6 +2632,9 @@ 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/templates,piano-dynamics.ly}.
+
 @cindex cross staff stem
 @cindex stem, cross staff
 
@@ -2694,7 +2652,7 @@ included with the distribution as @inputfileref{input/test,stem-cross-staff.ly}.
 Voices can switch automatically between the top and the bottom
 staff. The syntax for this is
 @example
-        \autochange Staff \context Voice @{ @dots{}@var{music}@dots{} @}
+  \autochange Staff \context Voice @{ @dots{}@var{music}@dots{} @}
 @end example        
 The autochanger switches on basis of pitch (central C is the turning
 point), and it looks ahead skipping over rests to switch rests in
@@ -2714,6 +2672,13 @@ Spacer rests are used to prevent the bottom staff from
 terminating too soon.
 
 
+@refbugs
+
+The staff switches often do not end up in optimal places, for high
+quality output, staff switches should be specified manually.
+
+
 @node Manual staff switches
 @subsection Manual staff switches
 
@@ -2904,7 +2869,7 @@ lyrics. This can confuse the LilyPond -- for example, this might put
 
 
 @menu
-* Ambitus::
+* Ambitus::                     
 @end menu
 
 @node Ambitus
@@ -3041,8 +3006,9 @@ The selection is controlled by the translator property @code{minimumFret}. -- Li
 simply selects the first string that does not give a fret number less than
 @code{minimumFret}. Default is 0.
 
-Notice that LilyPond does not handle chords in any special way, and hence
-the automatic string selector may easily select the same string to two notes in a chord.
+Chords are not handled in a special way, and hence the automatic
+string selector may easily select the same string to two notes in a
+chord.
 
 @example
 e8 fis gis a b cis' dis' e'
@@ -3689,8 +3655,8 @@ fractions:
  R1*13/8*12
 @end lilypond
 
-Notice that a @code{R} spanning a single measure is printed as a whole
-rest centered in the measure, regardless of the time signature.
+A @code{R} spanning a single measure is printed as a whole rest
+centered in the measure, regardless of the time signature.
 
 [ add note about breves.]
  
@@ -3776,7 +3742,7 @@ one voice, as common for wind parts in orchestral scores:
   >
 @end lilypond
 
-Notice that the first @code{g} appears only once, although it was
+The first @code{g} appears only once, although it was
 specified twice (once in each part).  Stem, slur and tie directions are
 set automatically, depending whether there is a solo or unisono. The
 first part (with context called @code{one}) always gets up stems, and
@@ -3889,12 +3855,12 @@ output.
 @cindex mensural
 
 @menu
-* Ancient note heads::
-* Ancient clefs::
-* Custodes::
-* Divisiones::
-* Ligatures::
-* Figured bass::
+* Ancient note heads::          
+* Ancient clefs ::              
+* Custodes::                    
+* Divisiones::                  
+* Ligatures::                   
+* Figured bass::                
 @end menu
 
 
@@ -4526,8 +4492,8 @@ vertical spacing of the figures may be set with @code{baseline-skip}.
 @section Contemporary notation
 
 @menu
-* Clusters::
-* Fermatas::
+* Clusters::                    
+* Fermatas::                    
 @end menu
 
 @node Clusters
@@ -4800,7 +4766,7 @@ form,
         \once \property @dots{}
 @end example
 @c
-applies a setting only during one moment in the score: notice how the
+applies a setting only during one moment in the score:  the
 original setting for stem thickness is restored automatically in the
 following example
 @c
@@ -4995,9 +4961,9 @@ similar to lyrics: simply enter them, surrounded by spaces.
 
 @cindex font switching
 
-The line of the example demonstrates font switching commands. Notice
-that the command only apply to the first following word; enclose a set
-of texts with braces to apply a command to more words.
+The line of the example demonstrates font switching commands.  The
+command only apply to the first following word; enclose a set of texts
+with braces to apply a command to more words.
 @example
   \markup @{ \bold @{ hi there @} @}
 @end example
@@ -5008,7 +4974,6 @@ For clarity, you can also do this for single arguments, e.g.
 
 @cindex font size, texts
 
-
 The following size commands set abolute sizes
 
 @cindex \teeny
@@ -5415,7 +5380,7 @@ that it looks neither cramped nor loose, and that consecutive lines have
 similar density.
 
 Occasionally you might want to override the automatic breaks; you can
-do this by specifying @code{\break}. This will force a line break at
+do this by  specifying @code{\break}. This will force a line break at
 this point.  Line breaks can only occur at places where there are bar
 lines.  If you want to have a line break where there is no bar line,
 you can force an invisible bar line by entering @code{\bar
diff --git a/input/test/script-abbreviations.ly b/input/test/script-abbreviations.ly
new file mode 100644 (file)
index 0000000..7001e89
--- /dev/null
@@ -0,0 +1,20 @@
+\version "1.7.16"
+
+\header {
+    texidoc = "Some scripts may be entered using an abbreviation"
+}
+
+\score {
+    \notes \context Voice {
+      \property Voice.TextScript \set #'font-family = #'typewriter
+      \property Voice.TextScript \set #'font-shape = #'upright
+      c''4-._"c-."      s4
+      c''4--_"c-{}-"    s4
+      c''4-+_"c-+"      s4
+      c''4-|_"c-|"      s4
+      c''4->_"c->"      s4
+      c''4-^_"c-\\^{ }" s4
+      c''4-__"c-\_" s4      
+    }
+  }
+%% new-chords-done %%
diff --git a/input/test/script-chart.ly b/input/test/script-chart.ly
new file mode 100644 (file)
index 0000000..ffb6032
--- /dev/null
@@ -0,0 +1,50 @@
+\version "1.7.16"
+\header {
+    texidoc ="A chart showing all feta scripts"
+}
+
+\score {
+    <
+      \property Score.LyricText \override #'font-family = #'typewriter
+      \property Score.LyricText \override #'font-shape = #'upright
+      \context Staff \notes {
+       \property Score.timing = ##f
+       \property Score.barAlways = ##t
+       \property Staff.BarLine \override #'transparent = ##t
+        c''-\accent             c''-\marcato            c''-\staccatissimo
+        c''-\staccato           c''-\tenuto             c''-\portato
+        c''-\upbow              c''-\downbow            c''-\flageolet
+        c''-\thumb              c''^\lheel              c''-\rheel
+        c''^\ltoe               c''-\rtoe               c''-\open
+        c''-\stopped            c''-\turn               c''-\reverseturn
+        c''-\trill              c''-\prall              c''-\mordent
+        c''-\prallprall         c''-\prallmordent       c''-\upprall
+        c''-\downprall          c''-\upmordent          c''-\downmordent
+        c''-\pralldown          c''-\prallup            c''-\lineprall
+        c''-\signumcongruentiae c''-\shortfermata       c''-\fermata
+        c''-\longfermata        c''-\verylongfermata    c''-\segno
+        c''-\coda               c''-\varcoda
+      }
+      \context Lyrics \lyrics {
+        accent__                marcato__               staccatissimo__
+        staccato__              tenuto__                portato__
+        upbow__                 downbow__               flageolet__
+        thumb__                 lheel__                 rheel__
+        ltoe__                  rtoe__                  open__
+        stopped__               turn__                  reverseturn__
+        trill__                 prall__                 mordent__
+        prallprall__            prallmordent__          uprall__
+        downprall__             upmordent__             downmordent__
+        pralldown__             prallup__               lineprall__
+        signumcongruentiae__    shortfermata__          fermata__
+        longfermata__           verylongfermata__       segno__
+        coda__                  varcoda__
+      }
+    >
+    \paper {
+      linewidth = 5.1\in
+      indent    = 0.0\mm
+    }
+  }
+
+%% new-chords-done %%
diff --git a/input/test/slur-beautiful.ly b/input/test/slur-beautiful.ly
new file mode 100644 (file)
index 0000000..f137b07
--- /dev/null
@@ -0,0 +1,22 @@
+\version "1.7.16"
+\header {
+    texidoc ="Similarly, the curvature of a slur is adjusted to stay clear of note
+heads and stems.  When that would increase the curvature too much, the
+slur is reverted to its default shape.  The threshold for this
+decision is in Slur's object property @code{beautiful}.
+It is loosely related to the enclosed area between the slur and the
+notes.  Usually, the default setting works well, but in some cases you
+may prefer a curved slur when LilyPond decides for a vertically moved
+one.  You can indicate this preference by increasing the
+@code{beautiful} value."
+}
+
+\score { \notes {\relative c' {
+  \stemDown \slurUp
+  c16-( a' f' a a f a, c,-)
+  c-( a' f' a a f d, c-)
+  \property Voice.Slur \override #'beautiful = #5.0
+  c-( a' f' a a f d, c-)
+}}
+\paper { raggedright = ##t }
+}