]> git.donarmstrong.com Git - lilypond.git/commitdiff
corrections.
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 23 Jul 2003 00:04:35 +0000 (00:04 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 23 Jul 2003 00:04:35 +0000 (00:04 +0000)
ChangeLog
Documentation/user/macros.itexi
Documentation/user/refman.itely
Documentation/user/tutorial.itely
NEWS
VERSION
input/regression/finger-chords.ly
lily/new-fingering-engraver.cc
lily/parser.yy
po/fr.po

index 3451e45291bdf199b3ab13f8ce605f43bec55dc3..9ac98fdbc58938235da3aeb3735d211a3778fa58 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2003-07-23  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+       * Documentation/user/refman.itely: corrections.
+
+2003-07-22  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+       * lily/new-fingering-engraver.cc (position_scripts): add heads to
+       support of the fingerings.
+
+       * po/fr.po: French translation update.
+
+       * lily/parser.yy (Composite_music): add extra \ for "\apply" in
+       strings.
+
 2003-07-22  Jan Nieuwenhuizen  <janneke@gnu.org>
 
        * Documentation/user/introduction.itely: Small fixes.
index 65ab012cd18556e1ab5b0a6f465cf572c413ed99..db2c2d8b768547915e1f908114f0fb61cded1cf7 100644 (file)
@@ -134,23 +134,20 @@ internals document,  @internalsref{\NAME\}
 
 @macro refbugs
 @noindent
-@strong{Bugs}
+@heading Bugs
 
-@noindent
 @end macro
 
 @macro seealso
 @noindent
-@strong{See also}
+@heading See also
 
-@noindent
 @end macro
 
 @macro refcommands
 @noindent
-@strong{Predefined commands}
+@heading Predefined commands
 
-@noindent
 @end macro
 
 
@@ -167,7 +164,6 @@ internals document,  @internalsref{\NAME\}
 
 @macro syntax
 @noindent
-@strong{Syntax}
+@heading Syntax
 
-@noindent
 @end macro
index cc9308c4d0928ba034359362371fc1b22f7d5f5b..8632c1d54d2d98447061eee2ca005f15cb2578b8 100644 (file)
@@ -45,6 +45,9 @@ q@c Note: -*-texinfo-*-
 @section Note entry
 @cindex Note entry
 
+This chapter describes all the different types of notation supported
+by LilyPond. It is intended as a reference for users that are already
+somewhat familiar with using LilyPond.
 
 
 @menu
@@ -100,13 +103,12 @@ letters span the octave above that C.
 
 @cindex note names, Dutch
 
-A sharp is formed by adding @code{-is} to the end of a pitch
-name and a flat is formed by adding @code{-es}.  Double sharps and
-double flats are obtained by adding @code{-isis} or @code{-eses}.
-
-These default names are the Dutch note names.  In Dutch, @code{aes} is
-contracted to @code{as} in Dutch, but both forms are
-accepted. Similarly, both @code{es} and @code{ees} are accepted.
+A sharp is formed by adding @code{-is} to the end of a pitch name and
+a flat is formed by adding @code{-es}.  Double sharps and double flats
+are obtained by adding @code{-isis} or @code{-eses}.  These
+names are the Dutch note names.  In Dutch, @code{aes} is contracted to
+@code{as} in Dutch, but both forms are accepted. Similarly, both
+@code{es} and @code{ees} are accepted.
 
 There are predefined sets of note names for various other languages.
 To use them,  include the language specific init file.  For
@@ -143,8 +145,9 @@ octave; each @code{,} lowers the pitch by an octave.
 @end lilypond
 
 
-The verbose syntax for pitch specification is
+There is also a verbose syntax for pitch specification.
 
+@c TODO: junk this? 
 @cindex @code{\pitch}
 @example
   \pitch @var{scmpitch}
@@ -155,27 +158,17 @@ where @var{scmpitch} is a Scheme object of the @code{Pitch} type.
 
 @refcommands
 
-Dots are normally moved up to avoid staff lines, except in polyphonic
-situations. The following commands may be used to force a particular
-direction manually.
-
-@cindex @code{\dotsUp }
-@code{\dotsUp}, 
-@cindex @code{\dotsDown }
-@code{\dotsDown}, 
-@cindex @code{\dotsBoth}
-@code{\dotsBoth}, 
-
 Notes can be hidden and unhidden with the following commands.
 
 @cindex @code{\hideNotes }
 @code{\hideNotes}, 
 @cindex @code{\unHideNotes }
-@code{\unHideNotes}
+@code{\unHideNotes}.
 
 
 @seealso
 
+@noindent
 @internalsref{NoteEvent}, @internalsref{NoteHead}
 
 @node Chromatic alterations
@@ -207,14 +200,6 @@ A chord is formed by a enclosing a set of pitches in @code{<<} and
 @code{>>}. A chord may be followed by  a duration, and a set of
 articulations, just like simple notes.
 
-Additionally, fingerings and articulations may be attached to
-individual pitches of the chord:
-
-@lilypond[singleline,verbatim,relative 1]
-  <<f-1 a-^ c-5>>
-@end lilypond
-
-
 
 @node  Rests
 @subsection Rests
@@ -229,13 +214,15 @@ Rests are entered like notes, with the note name @code{r}.
 r1 r2 r4 r8
 @end lilypond
 
-Whole bar rests, centered in middle of the bar, are specified using
-@code{R} (capital R); see @ref{Multi measure rests}.  See also
-@seeinternals{Rest}.
+Whole bar rests, centered in middle of the bar,
+must be done  with multi measure rests. They are discussed in
+@ref{Multi measure rests}.
+
 
-For some music, you may wish to explicitly specify the rest's vertical
-position.  This can be achieved by entering a note with the @code{\rest}
-keyword appended. Rest collision testing will leave these rests alone.
+A rest's vertical position may be explicitly specified by entering a
+note with the @code{\rest} keyword appended. This makes manual
+formatting in polyphonic music easier.  Rest collision testing will
+leave these rests alone.
 
 @lilypond[singleline,verbatim]
 a'4\rest d'4\rest
@@ -260,9 +247,8 @@ with note name `@code{s}' or with @code{\skip @var{duration}}:
 a2 s4 a4 \skip 1 a4 
 @end lilypond
 
- The @code{s} syntax is only available in Note mode and Chord
-mode.  In other situations, you should use the @code{\skip} command,
-which will work outside of those two modes:
+The @code{s} syntax is only available in Note mode and Chord mode.  In
+other situations, you should use the @code{\skip} command.
 
 @lilypond[singleline,verbatim]
 \score {
@@ -328,7 +314,7 @@ r1 r2 r4 r8 r16 r32 r64 r64
 
 
 If the duration is omitted then it is set to the previously entered
-duration. Default for the first note is a quarter note.  The duration
+duration. The default for the first note is a quarter note.  The duration
 can be followed by dots (`@code{.}') in order to obtain dotted note
 lengths:
 @cindex @code{.}
@@ -342,23 +328,42 @@ lengths:
 You can alter the length of duration by a fraction @var{N/M}
 appending `@code{*}@var{N/M}' (or `@code{*}@var{N}' if @var{M=1}). This
 will not affect the appearance of the notes or rests produced.
-
-@lilypond[fragment,verbatim]
-  a'2*2 b'4*2 a'8*4 a'4*3/2 gis'4*3/2 a'4*3/2 a'4
+In the following example, the first three notes take up exactly two
+beats.
+@lilypond[fragment,relative 2,verbatim]
+  \time 2/4
+   a4*2/3 gis4*2/3 a4*2/3
+   a4
 @end lilypond
 
-Durations can also be produced through GUILE extension mechanism. 
+Durations can also be produced using the verbose syntax
+@code{\duration @var{Scheme object}}. 
 @lilypond[verbatim,fragment]
- c'\duration #(ly:make-duration 2 1)
+ c'\duration #(ly:make-duration 4 1)
 @end lilypond
 
 
+
+@refcommands
+
+Dots are normally moved up to avoid staff lines, except in polyphonic
+situations. The following commands may be used to force a particular
+direction manually.
+
+@cindex @code{\dotsUp }
+@code{\dotsUp}, 
+@cindex @code{\dotsDown }
+@code{\dotsDown}, 
+@cindex @code{\dotsBoth}
+@code{\dotsBoth}.
+
+@seealso
+
+@internalsref{Dots}, @internalsref{DotColumn}. 
+
 @refbugs
 
-Dot placement for chords is not perfect.  In some cases, dots overlap:
-@lilypond[]
- <<f, c'' d e f>>4.
-@end lilypond
+In dense chords, dots can overlap.
 
 @node Stems
 @subsection Stems
@@ -404,7 +409,7 @@ exactly the same concept.
 @lilypond[fragment, singleline,quote]
 \time 3/4 c'2. c'2 ~ c'4
 @end lilypond
-If you need to tie notes over bars, it may be easier to use automatic
+If you need to tie a lot of  notes over bars, it may be easier to use automatic
 note splitting (See @ref{Automatic note splitting}).
 
 @refcommands
@@ -436,11 +441,10 @@ supported in a simple way.  It can be achieved by moving the
 tie-engraver into the @internalsref{Thread} context and turning on and
 off ties per @internalsref{Thread}.
 
-Switching staves when a tie is active, will produce a horizontal tie
-on the first note.
+Switching staves when a tie is active, will not produce a slanted tie.
 
 Formatting of ties is a difficult subject. The results are often not
-optimal results.
+optimal.
 
 
 
@@ -469,9 +473,11 @@ of their written length:
   g'4 \times 2/3 {c'4 c' c'} d'4 d'4
 @end lilypond
 
-The property @code{tupletSpannerDuration} specifies how long each bracket
-should last.  With this, you can make lots of tuplets while typing
-@code{\times} only once, saving lots of typing.
+The property @code{tupletSpannerDuration} specifies how long each
+bracket should last.  With this, you can make lots of tuplets while
+typing @code{\times} only once, saving lots of typing. In the next
+example, there are two triplets shown, while @code{\times} was only
+used once.
 
 @lilypond[fragment,  relative, singleline, verbatim]
 \property Voice.tupletSpannerDuration = #(ly:make-moment 1 4)
@@ -500,7 +506,7 @@ instead.
 
 @seealso
 
-@seeinternals{TupletBracket}, @seeinternals{TimeScaledMusic}.
+@internalsref{TupletBracket}, @internalsref{TimeScaledMusic}.
 
 @refbugs
 
@@ -528,8 +534,8 @@ context.  You probably will want to print it with magnification or a
 large font size to make it more readable.  To print with
 magnification, you must create a DVI file (with @file{ly2dvi}) and
 then enlarge it with something like @file{dvips -x 2000 file.dvi}.
-See @file{man dvips} for details.  To print with a larger font, see
-@ref{Font Size}.
+See the @code{dvips} documentation for more details.  To print with a
+larger font, see @ref{Font Size}.
 
 
 @cindex Xdvi
@@ -546,13 +552,9 @@ produce the correct result.
 
 When entering music it is easy to introduce errors. This section deals
 with tricks and features of the input language that help when entering
-music, and find and correct mistakes.
-
-Some features of the input language ease entering music, for example
-the use of variables (for splitting up large pieces of music), and
-unfolded repeats for writing repetitive parts. They are described in
-other sections (see @ref{Repeats} and @ref{Assignments}), since they
-are not especially aimed at easing entry
+music, and find and correct mistakes.  Some features of the input
+language ease entering music, but also have other applications. They
+are not described in this section.
 
 It is also possible to use external programs, for example GUI
 interfaces, or MIDI transcription programs, to enter or edit
@@ -579,7 +581,8 @@ shown on screen. See @ref{Point and click} for more information.
 Octaves are specified by adding @code{'} and @code{,} to pitch names.
 When you copy existing music, it is easy to accidentally put a pitch
 in the wrong octave and hard to find such an error. The relative
-octave mode prevents these errors
+octave mode prevents these errors: a single error puts the rest of the
+piece off by one octave.
 
 @cindex @code{\relative}
 @example
@@ -593,28 +596,26 @@ between this and the last note is always taken to be a fourth or less
 @code{fisis} following a @code{ceses} will be put above the
 @code{ceses})
 
-The octave changing marks @code{'} and @code{,} can be added to raise or
-lower the pitch by an extra octave.  Upon entering relative mode, an
-absolute starting pitch must be specified that will act as the
+The octave changing marks @code{'} and @code{,} can be added to raise
+or lower the pitch by an extra octave.  Upon entering relative mode,
+an absolute starting pitch must be specified that will act as the
 predecessor of the first note of @var{musicexpr}.
 
-Entering music that changes octave frequently  is easy in relative mode.
+Here is the relative mode shown in action:
 @lilypond[fragment,singleline,verbatim,center]
   \relative c'' {
     b c d c b c bes a 
   }
 @end lilypond
 
-And octave changing marks are used for intervals greater than a fourth.
+Octave changing marks are used for intervals greater than a fourth.
 @lilypond[fragment,verbatim,center]
   \relative c'' {
     c g c f, c' a, e'' }
 @end lilypond
 
 If the preceding item is a chord, the first note of the chord is used
-to determine the first note of the next chord. However, other notes
-within the second chord are determined by looking at the immediately
-preceding note.
+to determine the first note of the next chord.
 
 @lilypond[fragment,verbatim,center]
   \relative c' {
@@ -644,15 +645,16 @@ additional @code{\relative} inside the @code{\transpose}.
 @cindex @code{barCheckSynchronize}
 @cindex @code{|}
 
-
-Whenever a bar check is encountered during interpretation, a warning
-message is issued if it does not fall at a measure boundary.  This can
-help find errors in the input.  Depending on the value of
+Bar checks help detect errors in the durations.  A bar check is
+entered using the bar symbol, `@code{|}'.  Whenever it is encountered
+during interpretation, it should fall on a measure boundary.  If it
+does not, a warning is printed.  Depending on the value of
 @code{barCheckSynchronize}, the beginning of the measure will be
-relocated. A bar check is entered using the bar symbol, `@code{|}'.
+relocated.
 
+In the next example, the second bar check will signal an error. 
 @example
-  \time 3/4 c2 e4 | g2.
+  \time 3/4 c2 e4 | g2 | 
 @end example
 
 
@@ -734,7 +736,7 @@ represented exactly; the engraver will not insert tuplets.
 @node Staff notation
 @section Staff notation
 
-This section describes with music notation that occurs on staff level,
+This section describes music notation that occurs on staff level,
 such as keys, clefs and time signatures.
 
 @cindex Staff notation
@@ -745,6 +747,7 @@ such as keys, clefs and time signatures.
 * Clef::                        
 * Ottava brackets::             
 * Time signature::              
+* Partial measures::            
 * Unmetered music::             
 * Bar lines::                   
 @end menu
@@ -816,8 +819,8 @@ can be specified by setting this property directly.
 
 @refbugs
 
-The ordering of a key restoration (alterations that change back to
-natural) is wrong when combined with a repeat barline.
+The ordering of a key cancellation is wrong when it is combined with
+repeat bar lines. The cancellation is also printed after a line break.
 
 @seealso
 
@@ -906,8 +909,8 @@ the staff. They are created by invoking the function
   a b }
 @end lilypond
 
-Internally the @code{set-octavation} sets @code{ottavation} (eg. to
-@code{"8va"}) and @code{centralCPosition} properties.
+Internally the @code{set-octavation} function sets the properties
+@code{ottavation} (eg. to @code{"8va"}) and @code{centralCPosition}.
 
 @seealso
 
@@ -936,19 +939,19 @@ command.
  \time 2/4 c'2 \time 3/4 c'2. 
 @end lilypond
 
-The actual 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.
+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.
 
 
 This command sets the property @code{timeSignatureFraction},
 @code{beatLength} and @code{measureLength} in the @code{Timing}
 context, which is normally aliased to @internalsref{Score}.  The
-property @code{timeSignatureFraction} determines where bar lines
-should be inserted, and how automatic beams should be generated.
-Changing the value of @code{timeSignatureFraction} also causes the
-symbol to be printed.
+property @code{measureLength} determines where bar lines should be
+inserted, and how automatic beams should be generated.  Changing the
+value of @code{timeSignatureFraction} also causes the symbol to be
+printed.
 
 More options are available through the Scheme function
 @code{set-time-signature}. In combination with the
@@ -982,20 +985,19 @@ measure is subdivided in 2, 2, 2 and 3. This is passed to
 Automatic beaming does not use measure grouping specified with
 @code{set-time-signature}.
 
-
-@subsection Partial
+@node Partial measures
+@subsection Partial measures
 @cindex Partial
 @cindex anacrusis
-@cindex upbeat
 @cindex partial measure
 @cindex measure, partial
 @cindex shorten measures
 @cindex @code{\partial}
 
-Partial measures, for example in upbeats, are entered using the
+Partial measures, for example in upsteps, are entered using the
 @code{\partial} command:
 @lilypond[fragment,verbatim]
-\partial 16*5  c'16 c4 f16 a'2. ~ a'8. a'16 | g'1
+\partial 16*5  c'16 c4 |   a'2. ~ a'8. a'16 | g'1
 @end lilypond
 
 The syntax for this command is 
@@ -1035,12 +1037,13 @@ off.
 @cindex repeat bars
 
 
-Bar lines delimit measures, but are also used to indicate
-repeats. Line breaks may only happen on barlines.
+Bar lines delimit measures, but are also used to indicate repeats.
+Normally, tehy are inserted automatically.  Line breaks may only
+happen on barlines.
 
 @syntax
 
-Bar lines are inserted automatically.  Special types
+ Special types
 of barlines can be forced with the @code{\bar} command:
 @lilypond[relative=1,fragment,verbatim]
    c4 \bar "|:" c4
@@ -1059,9 +1062,10 @@ c4
 \bar "|." 
 @end lilypond
 
-In scores with many staves, the barlines are automatically placed at
-top level, and they are connected between different staves of a
-@internalsref{StaffGroup}:
+In scores with many staves, a @code{\bar} command in one staff is
+automatically applied to all staffs. The resulting bar lines are
+connected between different staves of a @internalsref{StaffGroup}:
+@c
 @lilypond[fragment, verbatim]
 < \context StaffGroup <
   \context Staff = up { e'4 d'
@@ -1072,12 +1076,12 @@ top level, and they are connected between different staves of a
 @end lilypond
 
 
-The command @code{\bar @var{bartype}} is a short cut for
-doing  @code{\property Score.whichBar = @var{bartype}}
-Whenever @code{whichBar} is set to a string, a bar line of that type is
-created.  @code{whichBar} is usually set automatically: at the start of
-a measure it is set to @code{defaultBarType}. The contents of
-@code{repeatCommands} is used to override default measure bars.
+The command @code{\bar @var{bartype}} is a short cut for doing
+@code{\property Score.whichBar = @var{bartype}} Whenever
+@code{whichBar} is set to a string, a bar line of that type is
+created.  At the start of a measure it is set to
+@code{defaultBarType}. The contents of @code{repeatCommands} are used
+to override default measure bars.
 
 @code{whichBar} can also be set directly, using @code{\property} or
 @code{\bar}.  These settings take precedence over the automatic
@@ -1112,13 +1116,14 @@ small, short-lived voices or for single chords:
 
 @lilypond[verbatim,fragment]
 \context Voice = VA \relative c'' {
- c4 < { f d e  } \\ { b c2 } > c4 < g' \\ b, \\  f' \\ d' >
+ c4 < { f d e  } \\ { b c2 } > c4 < g' \\ b, \\  f' \\ d >
 }
 @end lilypond
 
-The separator causes @internalsref{Voice} contexts to be instantiated,
-bearing the names @code{"1"}, @code{"2"}, etc. In each of these
-contexts, vertical direction of slurs, stems, etc. are set
+The separator causes @internalsref{Voice} contexts to be
+instantiated. They 
+bear the names @code{"1"}, @code{"2"}, etc. In each of these
+contexts, vertical direction of slurs, stems, etc. is set
 appropriately.
 
 This can also be done by instantiating @internalsref{Voice} contexts
@@ -1186,11 +1191,11 @@ voices have @code{\shiftOn}, @code{\shiftOnn}, etc.
 
 @cindex @code{\shiftOn}
 @code{\shiftOn}, 
-@cindex @code{\shiftOnn  }
+@cindex @code{\shiftOnn}
 @code{\shiftOnn}, 
-@cindex @code{\shiftOnnn  }
+@cindex @code{\shiftOnnn}
 @code{\shiftOnnn}, 
-@cindex @code{\shiftOff  }
+@cindex @code{\shiftOff}
 @code{\shiftOff}, 
 
 
@@ -1213,6 +1218,8 @@ are handled. When LilyPond cannot cope, the @code{force-hshift}
 property of the @internalsref{NoteColumn} object and pitched rests can
 be used to override typesetting decisions.
 
+When using @code{merge-differently-headed} with upstem 8th or shorter
+note, and a downstem half note, the 8th note gets the wrong offset.
 
 @node Beaming
 @section Beaming
@@ -1240,9 +1247,9 @@ that differ from the defaults.
 @cindex @code{[}
 
 In some cases it may be necessary to override the automatic beaming
-algorithm.  For example, the auto beamer will not beam over rests or
-bar lines, If you want that, specify the begin and end point manually
-using @code{[} and @code{]}.
+algorithm.  For example, the auto beamer will not put beams over rests
+or bar lines. Such beams are specified by manually: the begin and end
+point are marked with @code{[} and @code{]}.
 
 @lilypond[fragment,relative,verbatim]
   \context Staff {
@@ -1268,9 +1275,10 @@ is set, its value will be used only once, and then it is erased.
 
 
 The property @code{subdivideBeams} can be set in order to subdivide
-all 16th or shorter beams at beat positions.  This accomplishes the
-same effect as twiddling with @code{stemLeftBeamCount} and
-@code{stemRightBeamCount}, but it take less typing.
+all 16th or shorter beams at beat positions, as defined by the
+@code{beatLength} property .  This accomplishes the same effect as
+twiddling with @code{stemLeftBeamCount} and @code{stemRightBeamCount},
+but it take less typing.
 
 
 @lilypond[relative=1,verbatim,noindent]
@@ -1341,7 +1349,7 @@ or at durations specified by the properties in
 are defined in @file{scm/auto-beam.scm}.
 
 The value of @code{autoBeamSettings} is changed using
-@code{\override} and unset using @code{\revert}:
+@code{\override} and restored with @code{\revert}:
 @example
 \property Voice.autoBeamSettings \override #'(@var{BE} @var{P} @var{Q} @var{N} @var{M}) = @var{dur}
 \property Voice.autoBeamSettings \revert #'(@var{BE} @var{P} @var{Q} @var{N} @var{M})
@@ -1426,8 +1434,8 @@ automatic beaming in irregular meters such as @code{5/8}.
 @section Accidentals
 @cindex Accidentals
 
-This section describes how to change the way that LilyPond automatically
-inserts accidentals before the running notes.
+This section describes how to change the way that accidentals are
+inserted automatically before the running notes.
 
 
 @menu
@@ -1443,7 +1451,7 @@ quite hairy, so non-experts should stick to the variables
 defined in @file{ly/property-init.ly}.
 @cindex @file{property-init.ly}
 
-The variables set properties in the ``Current'' context (see
+The variables set properties in the ``@code{Current}'' context (see
 @ref{Context properties}). This means that the variables should
 normally be added right after the creation of the context in which the
 accidental typesetting described by the variable is to take
@@ -1534,8 +1542,8 @@ instead.
       @cindex @code{\modernCautionaries}
      This rule is similar to @code{\modernAccidentals}, but the
      ``extra'' accidentals (the ones not typeset by
-     @code{\defaultAccidentals}) are typeset as cautionary accidentals
-     (i.e. in reduced size):
+     @code{\defaultAccidentals}) are typeset as cautionary accidentals.
+     They are printed in reduced size or with parentheses.
 @lilypond[singleline,fragment,verbatim]
       \modernCautionaries
       cis' c'' cis'2 | c'' c'
@@ -2025,6 +2033,7 @@ played with your thumb (used in cello music):
 
 Fingering for chords can be notated like this:
 
+@c TODO: confusing example. 
 @lilypond[verbatim,singleline,fragment,relative=1]
         << c-1  e-2 g-3 b-5 >> 4
        \property Voice.fingerHorizontalDirection = #LEFT
@@ -2061,10 +2070,9 @@ will be taken into account.
 c4^"longtext" \fatText c4_"longlongtext" c4 }
 @end lilypond
 
-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.
+It is possible to use @TeX{} commands in the strings, but this should
+be avoided because the exact dimensions of the string can then no
+longer be computed.
 
 
 @seealso
@@ -2102,17 +2110,18 @@ example is shown here with timing tuples.
   c4^"(0,0)"  \grace c16_" "_"(1/4,-1/16)"  c4^"(1/4,0)"  \grace {
   c16_"(2/4,-1/8)"-[  d16^"(2/4,-1/16)" ] } c4_" "_"(2/4,0)"
   }
-\paper {  linewidth = 8.\cm }
+\paper {  linewidth = 12.\cm }
 }
 @end lilypond
 
 
-The placement of these grace notes is synchronized between different
-staves.
+The placement of grace notes is synchronized between different staves.
+In the following example, there are two sixteenth graces notes for
+every eighth grace note.
 
 @lilypond[relative=2,verbatim,fragment] 
 < \context Staff = SA { e4 \grace { c16-[ d e f-] } e4 }
-  \context Staff = SB { c'4 \grace { g8 b } c4 } >
+  \context Staff = SB { c'4 \grace { g8-[ b-] } c4 } >
 @end lilypond
 
 
@@ -2151,6 +2160,8 @@ is to put the grace notes before a phantom ``space note'', e.g.
    )c4
 }
 @end lilypond
+
+@noindent
 By adjusting the duration of the skip note (here it is a half-note),
 the space between the main-note and the grace is adjusted.
 
@@ -2181,7 +2192,7 @@ second bars in this example:
 
 @seealso
 
-@internalsref{GraceMusic}.
+@internalsref{GraceMusic},
 
 @refbugs
 
@@ -2193,7 +2204,7 @@ note end up on different staffs.
 
 Grace note synchronization can also lead to surprises. Staff notation,
 such as key signatures, barlines, etc. are also synchronized. Take
-care when you mix staves with grace notes and staves without.
+care when you mix staves with grace notes and staves without, for example:
 
 @lilypond[relative=2,verbatim,fragment]
 < \context Staff = SA { e4 \bar "|:" \grace c16 d4 }
@@ -2201,12 +2212,12 @@ care when you mix staves with grace notes and staves without.
 @end lilypond
 
 Grace sections should only be used within sequential music
-expressions.  Nesting, juxtaposing, or ending sequential music with a
-grace section is not supported, and might produce crashes or other
-errors.
+expressions.  Nesting or juxtaposing grace sections is not supported,
+and might produce crashes or other errors.
 
-Overriding settings for grace music using @code{add-to-grace-init}
-cannot be done in a modular way.
+Overriding settings for grace music globally cannot be done in a
+modular way. A kludge (@code{add-to-grace-init}) is defined in
+@file{ly/grace-init.ly}.
 
 
 @node Glissando 
@@ -2234,8 +2245,7 @@ a note:
 
 @refbugs
 
-Printing of an additional text (such as @emph{gliss.}) must be done
-manually.
+Additional texts (such as @emph{gliss.}) is not supported.
 
 
 @node Dynamics
@@ -2283,13 +2293,10 @@ note: @code{c4-\ff}.  The available dynamic marks are: @code{\ppp},
 
 
 
-A crescendo mark is started with @code{\cr} and terminated with
-@code{\endcr}, and decrescendi similarly with @code{\decr} and
-@code{\enddecr}.  There are also shorthands for these marks.  A
-crescendo can be started with @code{\<} and a decrescendo can be
-started with @code{\>}.  Either one can be terminated with @code{\!}.
-Because these marks are bound to notes, if you must use spacer notes
-if multiple marks during one note are needed.
+A crescendo mark is started with @code{\<} and terminated with
+@code{\!}. A decrescendo is started with @code{\>} and also terminated
+with @code{\!}.  Because these marks are bound to notes, if you must
+use spacer notes if multiple marks during one note are needed.
 
 @lilypond[fragment,verbatim,center,quote]
   c''-\< c''-\!   d''-\decr e''-\rced 
@@ -2307,17 +2314,16 @@ You can also use a text saying @emph{cresc.} instead of hairpins. Here
 is an example how to do it:
 
 @lilypond[fragment,relative=2,verbatim]
-  c4 \cresc c4 \endcresc c4
+  c4 \cresc c4 c c c \endcresc c4
 @end lilypond
 
-
 @cindex crescendo
 @cindex decrescendo
 
 You can also supply your own texts:
 @lilypond[fragment,relative,verbatim]
   \context Voice {
-    \property Voice.crescendoText = "cresc. poco"
+    \property Voice.crescendoText = \markup { \italic "cresc. poco" }
     \property Voice.crescendoSpanner = #'dashed-line
     a'2-\mf-\< a a a-\!
   }
index 20a29ce13ad8b0eaa9fc2dad5e6cb3d9afebd238..992fbef1b0630a1c37dbcd90a67f75975215db42 100644 (file)
@@ -669,10 +669,10 @@ The notation manual discusses ties in @ref{Ties}.
 @node Combining music into compound expressions
 @section Combining music into compound expressions
 
-To print more than one staff, each piece of music that makes up a staff
-is marked by adding @code{\context Staff} before it.  These
-@code{Staff}'s are then grouped inside @code{\simultaneous @{} and @code{@}}, as is
-demonstrated here:
+To print more than one staff, each piece of music that makes up a
+staff is marked by adding @code{\context Staff} before it.  These
+@code{Staff}'s are then grouped inside @code{\simultaneous @{} and
+@code{@}}, as is demonstrated here:
 
 @quotation
 @lilypond[fragment,verbatim]
@@ -683,14 +683,32 @@ demonstrated here:
 @end lilypond
 @end quotation
 
-In this example, @code{staffA} and @code{staffB} are names that are
-given to the staves.  It does not matter what names you give, as long
-as each staff has a different name. If you give them the same name,
-they are assumed to belong on the same staff, and will be printed like
-that. @code{\simultaneous } indicates that both fragments happen at
-the same time, and must be printed stacked vertically.  The notation
-@code{< .. >} can also be used as a shorthand for @code{\simultaneous
-@{ .. @}}.
+
+In this example, @code{\simultaneous } indicates that both music
+fragments happen at the same time, and must be printed stacked
+vertically.  The notation @code{< .. >} can also be used as a
+shorthand for @code{\simultaneous @{ .. @}}.
+
+@code{\context} introduces a ``notation context''.  To understand this
+concept, imagine that you are performing a piece of music. When you
+perform the music, you combine the symbols printed at a certain point
+with contextual information. For example, without knowing the current
+clef, and the accidentals in the last measure, it would be impossible
+to determine the pitch of a note. In other words, this information
+forms context that helps you decipher a score. LilyPond produces
+notation from music, so in effect, it does the inverse of reading
+scores. Therefore, it also needs to keep track of contextual
+information. This information is maintained in ``notation contexts.''
+There are several types of contexts, e.g. @code{Staff}, @code{Voice}
+and @code{Score}, but also @code{Lyrics} and
+@code{ChordNames}. Prepending @code{\context} to a chunk of music
+indicates what kind of context to use for interpreting it.
+
+By specifying different names (in this case @code{staffA} and
+@code{staffB}), two different contexts are created, leading to two
+staves. It does not matter which names they are given, as long as they
+are different. If they get the same name, the chunks of music are
+assumed to belong on the same staff, and will be printed like that.
 
 @separate
 
@@ -743,7 +761,18 @@ the next one.  The simplest expressions are numbers and operators
 LilyPond input, a similar mechanism is used. Here, the simplest
 expressions are notes and rests.  By enclosing expressions in @code{<
 >} and @code{@{ @}}, more complex music is formed. The @code{\context}
-also forms new expressions; it is prepended to a music expression.
+also forms new expressions; prepending it to a music expression yields
+a new expression.
+
+Like mathematical expressions, music expressions can be nested
+arbitrarily deep, e.g.
+@lilypond[verbatim,relative 1] 
+  { c <c e>
+      < { e f } { c <b d> }
+      >
+  }
+@end lilypond 
+
 
 @cindex indent
 When spreading expressions over multiple lines, it is customary to use
@@ -763,6 +792,9 @@ braces at the end of an expression. For example
 @}
 @end example
 
+
+
+
 @node Adding articulation marks to notes 
 @section Adding articulation marks to notes
 
@@ -770,17 +802,19 @@ braces at the end of an expression. For example
 @cindex accents
 @cindex staccato
 
-Common accents can be added to a note using @code{-.}, @code{--}, @code{->}:
+Common accents can be added to a note using a dash (`@code{-}') and a
+single character:
 @quotation
 @lilypond[verbatim,relative 1]
-c-. c-- c->
+c-. c-- c-> c-^ c-+ c-_
 @end lilypond
 @end quotation
 @separate
 
 @cindex fingering
-Similarly, fingering indications can be added to a note using @code{-}
-and the digit to be printed.
+Similarly, fingering indications can be added to a note using a dash
+(`@code{-}') and the digit to be printed.
+@c
 @lilypond[verbatim,relative 1]
   c-3 e-5 b-2 a-1
 @end lilypond
@@ -836,9 +870,12 @@ If you need two slurs at the same time (one for articulation, one for
 phrasing), you can also make a phrasing slur with @code{\(} and
 @code{\)}.
 
+More information on fingering, articulation, slurs, phrasing slurs,
+and dynamics can be found in @ref{Fingering instructions},
+@ref{Articulations}, @ref{Slurs}, @ref{Phrasing slurs} @ref{Dynamics}
+respectively.
 
-
-@node Combining notes into  chords
+@node Combining notes into chords
 @section Combining notes into chords
 
 @cindex chords
@@ -915,7 +952,9 @@ a keyword. In this case, the keyword is @code{\grace}.
 @end lilypond
 
 @noindent
-More information on the use of grace notes is in @ref{Grace notes}.
+More information on grace notes, tuplets and upsteps are in @ref{Grace
+notes}, @ref{Tuplets} and @ref{Partial measures}.
+
 
 
 @node Commenting input files
@@ -925,7 +964,7 @@ More information on the use of grace notes is in @ref{Grace notes}.
 @cindex line comment
 @cindex block comment
 Comments are pieces of the input that are ignored.  There are two
-types of comments. A line comments are introduced by @code{%}: after
+types of comments. A line comments is introduced by @code{%}: after
 that, the rest of that line is ignored.  Block comments span larger
 sections of input.  Anything that is enclosed in @code{%@{} and
 @code{%@}} is ignored too. The following fragment shows possible uses
@@ -1018,7 +1057,7 @@ line}. It is entered as two  underscores, i.e.,
 
      %% ugh, this is to deal with bugs in the extender implementation
      \hideNotes
-     c8
+     c32
    }
    \context Lyrics  \lyrics { I want to break free __ }
  }
@@ -1047,9 +1086,6 @@ discussed in @ref{Vocal music}.
 
 
 
-TODO: discuss contexts.
-
-
 @node A lead sheet
 @section A lead sheet
 
@@ -1088,9 +1124,6 @@ before the chords thus entered:
  \context ChordNames \chords \chords { c2 f4.:m g4.:maj7 gis8:dim7 }
 @end lilypond
 
-A complete list of modifiers, and other options for layout are in the
-reference manual section @ref{Chords}.
-
 @cindex lead sheet 
 When put together,  chord names, lyrics and a melody form
 a lead sheet, for example,
@@ -1122,6 +1155,9 @@ a lead sheet, for example,
 @end lilypond
 
 
+A complete list of modifiers, and other options for layout are in the
+reference manual section @ref{Chords}.
+
 @node Listening to output
 @section Listening to output
 
@@ -1152,12 +1188,13 @@ information on auditory output is in the @ref{Sound} section in the
 notation manual.
 
 
+
 @node Titling 
 @section Titling
 
 Bibliographic information is entered in a separate block, the
 @code{\header} block. The name of the piece, its composer, etc. are
-entered as assignment within @code{\header @{ @dots{} @}}. For
+entered as assignment, within @code{\header @{ @dots{} @}}. For
 example,
 @example 
   \header @{
@@ -1223,7 +1260,7 @@ and beams, and the top voice has the stems up, while the bottom voice
 has stems down.
 
 Entering such parts is done by entering each voice as a sequence (with
-@code{@{ .. @}}), and combing those simultaneously, separating the
+@code{@{ .. @}}), and combining those simultaneously, separating the
 voices with @code{\\}:
 
 @example
@@ -1235,7 +1272,7 @@ voices with @code{\\}:
     { r4 g4 f2 f4 } >
 @end lilypond
 
-For polyphonic typesetting spacer rests can also be convenient: these
+For polyphonic music typesetting, spacer rests can also be convenient: these
 are rests that do not print.  It is useful for filling up voices that
 temporarily do not play:
 @example
@@ -1247,6 +1284,22 @@ temporarily do not play:
     { s4 g4 f2 f4 } >
 @end lilypond
 
+Again, these expressions can be nested arbitrarily.
+
+@lilypond[fragment]
+<
+ \context Staff = staffA 
+  \relative c''
+    < { a4 g2 f4-~ f4 } \\
+      { s4 g4 f2 f4 } >
+ \context Staff = staffB 
+  <  { \clef bass <<c g>>1  } \\
+     { f4 d e2 }
+  >
+>
+@end lilypond
+
+
 More features of polyphonic typesetting are in the notation manual
 in @ref{Polyphony}.
 
@@ -1275,7 +1328,7 @@ Here is a full-fledged example:
 
 @lilypond[relative 0,fragment]
 \context PianoStaff
- < \context Staff = up {
+ < \context Staff = up { \time 2/4
      c4 c g' g  }
    \context Staff = down {
      \clef bass c,, c' e c }
@@ -1292,12 +1345,12 @@ from left-to-right order, similar to what happens when we read
 music. During this step, context-sensitive information, such as the
 accidentals to print, and where barlines must be placed, are stored in
 variables. These variables are called @emph{translation properties}.
-The properties can also be manipulated from input files: for example,
+The properties can also be manipulated from input files. Consider this input:
 @example
 \property Staff.autoBeaming = ##f
 @end example 
-sets the property named @code{autoBeaming} in the current staff to
-@code{##f} which means `false'. This property controls whether beams
+It sets the property named @code{autoBeaming} in the current staff to
+@code{##f}, which means `false'. This property controls whether beams
 are printed automatically:
 @lilypond[relative 1,fragment,verbatim]
   c8 c c c
@@ -1348,7 +1401,7 @@ The following statements set properties to the pairs (-7.5, 6)  and
 
 There are many different properties, and not all of them are listed in
 this manual. However, the internal documentation lists them all in the
-@internalsref{All translation properties}, and almost all properties
+@internalsref{All translation properties}, and most properties
 are demonstrated in one of the
 @ifhtml
 @uref{../../../input/test/out-www/collated-files.html,tips-and-tricks}
@@ -1382,7 +1435,7 @@ Voice.  As a result, the notes following @code{\property} have thicker
 stems.
 
 In most cases of manual overrides, only a single object must be
-changed. This can be achieved by prefix @code{\once} to the
+changed. This can be achieved by prefixing @code{\once} to the
 @code{\property} statement, i.e.,
 
 @example
@@ -1398,8 +1451,12 @@ changed. This can be achieved by prefix @code{\once} to the
 @noindent
 Some overrides are so common that predefined commands are provided as
 a short cut.  For example, @code{\slurUp} and @code{\stemDown}. These
-commands are described in the @ref{Notation manual}, under the
-sections for slurs and stems respectively.
+commands are described in
+@ifhtml
+the
+@end ifhtml
+@ref{Notation manual}, under the sections for slurs and stems
+respectively.
 
 The exact tuning possibilities for each type of layout object are
 documented in the internal documentation of the respective
@@ -1408,13 +1465,14 @@ used to apply generic tweaks.  We mention a couple of these:
 
 @itemize @bullet
 @cindex @code{extra-offset}
-@item The @code{extra-offset} property
-moves around objects in the printout.  The unit of these offsets are
-staff-spaces.  The first number controls left-right movement; a
-positive number will move the object to the right.  The second number
-controls up-down movement; a positive number will move it higher.  The
-@code{extra-offset} is a low-level feature: the formatting engine is
-completely oblivious to these offsets.
+@item The @code{extra-offset} property, which
+has a pair of numbers as value, moves around objects in the printout.
+The first number controls left-right movement; a positive number will
+move the object to the right.  The second number controls up-down
+movement; a positive number will move it higher.  The unit of these
+offsets are staff-spaces.  The @code{extra-offset} property is a
+low-level feature: the formatting engine is completely oblivious to
+these offsets.
 
 In the following example example, the second fingering is moved a
 little to the left, and 1.8 staff space downwards.
@@ -1430,10 +1488,10 @@ f-5
 @end lilypond
 
 @item
-Setting the @code{transparent} property will make an object be
-printed in `invisible ink': the object is not printed, but all its
-other behavior is retained. The object still takes space, takes part
-in collisions, and slurs, ties and beams can be attached to it.
+Setting the @code{transparent} property will make an object be printed
+in `invisible ink': the object is not printed, but all its other
+behavior is retained. The object still takes space, it takes part in
+collisions, and slurs, ties and beams can be attached to it.
 
 @cindex transparent objects
 @cindex removing objects
@@ -1443,7 +1501,7 @@ using ties. Normally ties only happen between notes of the same
 voice. By introducing a tie in a different voice, and blanking a stem
 in that voice, the tie appears to cross voices.
 
-@lilypond[fragment,relative 1]
+@lilypond[fragment,relative 1,verbatim]
 \context Staff < {
       \once \property Voice.Stem \set #'transparent = ##t
       b8~ b8
@@ -1455,8 +1513,15 @@ in that voice, the tie appears to cross voices.
 @item
 The @code{padding} property for objects with
 @code{side-position-interface} can be set to increase distance between
-symbols that are printed above or below notes. An example of the use
-of padding is in @ref{Constructing a tweak}.
+symbols that are printed above or below notes. We only give an
+example; a more elaborate explanation is in @ref{Constructing a
+tweak}.
+@lilypond[relative 1]
+  c2-\fermata
+  \property Voice.Script \set #'padding = #3
+  b2-\fermata
+@end lilypond
+
 @end itemize
 
 More specific overrides are also possible.  The notation manual
@@ -1480,14 +1545,15 @@ An identifier is assigned as follows
 
 The contents of the music expression @code{namedMusic}, can be used
 later by preceding the name with a backslash, i.e. @code{\namedMusic}.
-For example
+In the next example, a two note motive is repeated thrice by using
+variable substitution:
 
 @lilypond[singleline,verbatim]
 seufzer  = \notes {
   dis'8 e'8
 }
 \score { \notes {
-  \seufzer \seufzer
+  \seufzer \seufzer \seufzer
 } }
 @end lilypond
 
@@ -1498,9 +1564,9 @@ outside of the @code{\score} block.
 It is possible to use variables for many other types of objects in the
 input.  For example,
 @example
-  width = 1.5\cm
+  width = 4.5\cm
   name = "Wendy"
-  aFivePaper = \paper @{ paperheight = 22.7 \cm @}
+  aFivePaper = \paper @{ paperheight = 21.0 \cm @}
 @end example
 Depending on its contents, the identifier can be used in different
 places. The following example uses the above variables:
@@ -1522,13 +1588,14 @@ technical manual, in @ref{Scheme datatypes}.
 @section An orchestral part
 
 In orchestral music, all notes are printed twice: both in a part for
-the musicians, and in a full score for the which is printed both in
-parts as in full score. Identifiers can be used to avoid double work:
-the music is entered once, and stored in an variables. The contents of
-that variable is then used to generate both the part and the score.
-
-It is convenient to define the notes in a special file, for example,
-suppose that the following is in @file{horn-music.ly}:
+the musicians, and in a full score for the conductor. Identifiers can
+be used to avoid double work: the music is entered once, and stored in
+variable. The contents of that variable is then used to generate
+both the part and the score.
+
+It is convenient  to define the notes in a  special file, for example,
+suppose that the @file{horn-music.ly} contains the following part of a
+horn/bassoon duo.
 @example
 hornNotes = \notes \relative c @{
   \time 2/4
@@ -1550,7 +1617,7 @@ The @code{\include} command substitutes the contents of the file at
 this position in the file, so that @code{hornNotes} is defined
 afterwards.  Since the horn is tuned in F, the @code{\transpose}
 command is used. The code @code{\transpose c' f} indicates that the
-argument, being @code{\hornNotes} should be transposed by a fifth
+argument, being @code{\hornNotes}, should be transposed by a fifth
 downwards: the @code{c'} becomes a @code{f}. The transposition can be
 seen in the following output:
 
@@ -1579,8 +1646,8 @@ rests.
 @example
   \property Score.skipBars = ##t
 @end example
-
-The result would look like
+Prepending the rest and the property setting above, leads to the
+following result.
 
 @lilypond[singleline]
 \score {\notes { \transpose c' f \relative c' { \time 2/4
@@ -1589,21 +1656,21 @@ The result would look like
     r4 f8 a cis4 f e d } }}
 @end lilypond
 
-The score is made by combining all of the music in  a @code{\score}
-block, assuming that the other voice is in @code{hornNotes}, in the
-file @file{horn-music.ly}:
+The score is made by combining all of the music in a @code{\score}
+block, assuming that the other voice is in @code{bassoonNotes}, in the
+file @file{bassoon-music.ly}:
 @example
-\include "fagot-music.ly"
+\include "bassoon-music.ly"
 \include "horn-music.ly"
 
 \score @{
   \simultaneous @{
     \context Staff = hornStaff \hornNotes
-    \context Staff = fagStaff \fagottoNotes
+    \context Staff = bsnStaff \bassoonNotes
   @} @}
 @end example
 
-This would lead to the following output:
+This would lead to the simple score depicted below.
 
 @lilypond[singleline]
 \score {
@@ -1617,15 +1684,13 @@ This would lead to the following output:
   } }
 @end lilypond 
 
-More in depth information is in the notation manual, in
-@ref{Orchestral music}. 
+More in-depth information on preparing parts and scores is in the
+notation manual, in @ref{Orchestral music}.
 
 
 @node Integrating text and music
 @section Integrating text and music
 
-TODO: shorten. 
-
 @cindex La@TeX{}, music in
 @cindex HTML, music in
 @cindex Texinfo, music in
@@ -1667,26 +1732,16 @@ If you have no \verb+\score+ block in the fragment,
 
 In the example you see here, two things happened: a
 \verb+\score+ block was added, and the line width was set to natural
-length. You can specify many more options using  \LaTeX style options
-in brackets:
+length. You can specify  options by putting them in brackets:
 
-\begin[verbatim,11pt,singleline,
-  fragment,relative,intertext="hi there!"]@{lilypond@}
-  c'4 f bes es
+\begin[26pt,verbatim]@{lilypond@}
+  c'4 f16
 \end@{lilypond@}
 
-The option \texttt@{verbatim@} prints the LilyPond code in addition to
-the graphical score, \texttt@{11pt@} selects the default music size,
-\texttt@{fragment@} adds a score block, \texttt@{relative@} uses
-relative mode for the fragment, and \texttt@{intertext@} specifies
-what to print between the \texttt@{verbatim@} code and the music.
-
-If you want to include large examples into the text, it may be more
-convenient to put the example in a separate file:
+If you want to include large examples into the text, it is more
+convenient to put it in a separate file:
 
-\lilypondfile[printfilename]@{screech-boink.ly@}
-
-The \texttt@{printfilename@} option adds the file name to the output.
+\lilypondfile@{screech-boink.ly@}
 
 \end@{document@}
 @end example
@@ -1739,26 +1794,15 @@ If you have no @code{\score} block in the fragment,
   c'4
 @end lilypond
 
-In the example you see here, a number of things happened: a
-@code{\score} block was added, and the line width was set to natural
-length. You can specify many more options using  La@TeX{} style options
-in brackets:
+In the example you see here, two things happened: a
+@code{score} block was added, and the line width was set to natural
+length. You can specify  options by putting them in brackets:
 
-@lilypond[verbatim,11pt,singleline,
-  fragment,relative,intertext="hi there!"]
-  c'4 f bes es
+@lilypond[26pt,verbatim]
+  c'4 f16
 @end lilypond
 
-The option @code{verbatim} also shows the LilyPond code, @code{11pt} selects
-the default music size, @code{fragment} adds a score block,
-@code{relative} uses relative mode for the fragment, and
-@code{intertext} specifies what to print between the
-@code{verbatim} code and the music.
-
-If you include large examples into the text, it may be more convenient
-to put the example in a separate file:
-
-@lilypondfile[printfilename]{screech-boink.ly}
-
-The @code{printfilename} option adds the file name to the output.
+If you want to include large examples into the text, it is more
+convenient to put it in a separate file:
 
+@lilypondfile{screech-boink.ly}
diff --git a/NEWS b/NEWS
index 21575dea33a3912e3cd7b8476434d71f808b4569..45fa1e75a5a8fcd4f221c0498cf8285e628fae33 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -17,6 +17,17 @@ LilyPond identifiers.
 and converted to Scheme data structures.  The representation may be
 exported as XML.
 
+** A new uniform postfix syntax for articulation has been introduced.
+A beamed slurred pair of eighth notes can be entered as
+
+       c8-[-( d8-]-) 
+
+In version 2.0, postfix syntax will be the only syntax
+available, and the dashes will become optional.
+
+This will simplify the language: all articulations can be entered as
+postfix, in any order.
+
 ** A new syntax has been added for chords:
 
        << PITCHES >>
@@ -34,13 +45,17 @@ and
 To convert your files from <PITCHES> to <<PITCHES>>, use the script
 included in buildscripts/convert-new-chords.py
 
-** A new uniform postfix syntax for articulation has been introduced.
-A beamed slurred pair of eighth notes can be entered as
+This change was introduced for the following reasons
 
-       c8-[-( d8-]-) 
+ * It solves the "start score with chord" problem, where you have to
+   state \context Voice explicitly when a chord was the start of a
+   Staff or Score.
+
+ * With the new syntax, it is possible to distinguish between
+   articulations (or fingerings) which are for a single chord note,
+   and which are for the entire chord. This allows for per-note
+   fingerings, and is more logical on the whole.
 
-In version 2.0, postfix syntax will be the only syntax
-available, and the dashes will become optional.
 
 ** User code may now be executed during interpreting.  The syntax for
 this code is
diff --git a/VERSION b/VERSION
index 74ed73358500e59734a73570f719a94ecc0e7afc..a4bb9481f061de0fcf40ba475b9ba6a4df86bc48 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,7 +1,7 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=7
-PATCH_LEVEL=27
+PATCH_LEVEL=28
 MY_PATCH_LEVEL=
 
 # Use the above to send patches: MY_PATCH_LEVEL is always empty for a
index 38ab8b2aabce298a2ce77a0309b5cb7ef5fd535a..c6b0e85be4ed31d742b1a72d3331b98f35b51ebf 100644 (file)
@@ -17,8 +17,9 @@ easier to process."
        <<e,^6>> 4
        <<f,_1>> 4
        << c-1 e-3>> 4
-       << c-1  e-3 g-5 >> 4
-       << c-1  e-2 g-3 b-5 >> 4
+       <<c-1 e-3 g-5 >> 4
+       <<c-1 e-2 g-3 b-5 >> 4
+       <<c-1 e-2 g-3 b-5 d-6 f-7 a-8 c-9 >> 4  
        \property Voice.fingerHorizontalDirection = #LEFT
        << c-1  es-3 g-5 >> 4
        \property Voice.fingerHorizontalDirection = #RIGHT
index 1018d465a82fa42c61ba7f081dc3de07cc58b011..63a6c83a0a15f89f1933fdd1a47b7cbbfda20ce5 100644 (file)
@@ -134,7 +134,6 @@ New_fingering_engraver::add_fingering (Grob * head,
     the thumb lives in a different font. Maybe it should be moved?
     
    */
-
   if (d > 5)
     {
       /*
@@ -171,7 +170,11 @@ New_fingering_engraver::position_scripts ()
     }
 
   SCM fhd = get_property ("fingerHorizontalDirection");
-  
+
+  for (int i = fingerings_.size(); i--;)
+    for (int j = heads_.size() ; j--;)
+      Side_position_interface::add_support (fingerings_[i].script_, heads_[j]);
+    
   Array<Finger_tuple> up, down, horiz;
   for (int i = fingerings_.size(); i--;)
     {
index 5cb1441daf5e186ea113bc730b58f2b4875eae92..cb9d8f14cec7b6ec25228aeb148e073e934b0117 100644 (file)
@@ -858,14 +858,14 @@ Simple_music:
        event_chord             { $$ = $1; }
        | APPLYOUTPUT embedded_scm {
                if (!ly_input_procedure_p ($2))
-                       THIS->parser_error (_ ("\applycontext takes function argument"));
+                       THIS->parser_error (_ ("\\applycontext takes function argument"));
                $$ = MY_MAKE_MUSIC ("ApplyOutputEvent");
                $$->set_mus_property ("procedure", $2);
                $$->set_spot (THIS->here_input());
        }
        | APPLYCONTEXT embedded_scm {
                if (!ly_input_procedure_p ($2))
-                       THIS->parser_error (_ ("\applycontext takes function argument"));
+                       THIS->parser_error (_ ("\\applycontext takes function argument"));
                $$ = MY_MAKE_MUSIC ("ApplyContext");
                $$->set_mus_property ("procedure", $2);
                $$->set_spot (THIS->here_input());
@@ -1006,7 +1006,7 @@ Composite_music:
        }
        | APPLY embedded_scm Music  {
                if (!ly_input_procedure_p ($2))
-                       THIS->parser_error (_ ("\apply takes function argument"));
+                       THIS->parser_error (_ ("\\apply takes function argument"));
                
                SCM ret = gh_call1 ($2, $3->self_scm ());
                Music *m = unsmob_music (ret);
@@ -2326,8 +2326,11 @@ markup_p (SCM x)
        return gh_pair_p (x)
                && SCM_BOOL_F != scm_object_property (gh_car (x), ly_symbol2scm ("markup-signature"));
 }
+
+
 /*
-It is a little strange, to have this function in this file, but
+
+It is a little strange to have this function in this file, but
 otherwise, we have to import music classes into the lexer.
 
 */
index 2661473c704adf62f614f02301177ced061fcb64..aa5a63c608525d795e5bd2cab9f61060e3b41e8a 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -4,9 +4,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: lilypond 1.6.0\n"
+"Project-Id-Version: lilypond 1.7.26\n"
 "POT-Creation-Date: 2003-07-18 14:45+0200\n"
-"PO-Revision-Date: 2002-08-26 12:00-0500\n"
+"PO-Revision-Date: 2003-07-23 12:00-0500\n"
 "Last-Translator: Michel Robitaille <robitail@IRO.UMontreal.CA>\n"
 "Language-Team: French <traduc@traduc.org>\n"
 "MIME-Version: 1.0\n"
@@ -37,7 +37,7 @@ msgstr ""
 #. lilylib globals
 #: lilylib.py:60
 msgid "lilylib module"
-msgstr ""
+msgstr "module lilylib"
 
 #: lilylib.py:63 lilypond-book.py:131 ly2dvi.py:128 midi2ly.py:100
 #: mup2ly.py:75 main.cc:111
@@ -59,18 +59,15 @@ msgstr "Copyright (c) %s 
 
 #: lilylib.py:114
 msgid " 1998--2003"
-msgstr ""
+msgstr " 1998--2003"
 
 #: lilylib.py:118
-#, fuzzy
 msgid "Distributed under terms of the GNU General Public License."
-msgstr ""
-"Distribué selon les termes de la GNU General Public License.  Le logiciel "
-"est fourni sans GARANTIE."
+msgstr "Distribué selon les termes de la GNU General Public License."
 
 #: lilylib.py:120
 msgid "It comes with NO WARRANTY."
-msgstr ""
+msgstr "Le logiciel est distribué SANS GARANTIE."
 
 #: lilylib.py:127 midi2ly.py:150 mup2ly.py:144 input.cc:88
 msgid "warning: "
@@ -84,9 +81,9 @@ msgid "error: "
 msgstr "Erreur: "
 
 #: lilylib.py:134
-#, fuzzy, python-format
+#, python-format
 msgid "Exiting (%d)..."
-msgstr "Fin d'exécution... "
+msgstr "Fin d'exécution (%d)... "
 
 #: lilylib.py:194 midi2ly.py:224 mup2ly.py:220
 #, python-format
@@ -103,15 +100,15 @@ msgid "Report bugs to %s"
 msgstr "Rapporter toutes anomalies à %s"
 
 #: lilylib.py:228
-#, fuzzy, python-format
+#, python-format
 msgid "Opening pipe `%s'"
-msgstr "Nettoyage de « %s »..."
+msgstr "Ouverture du pipe `%s'"
 
 #. successful pipe close returns 'None'
 #: lilylib.py:240
 #, python-format
 msgid "`%s' failed (%d)"
-msgstr ""
+msgstr "`%s' échec (%d)"
 
 #: lilylib.py:242 lilylib.py:289 lilypond-book.py:231 ly2dvi.py:512
 msgid "The error log is as follows:"
@@ -159,7 +156,7 @@ msgstr "Nettoyage de %s..."
 #. # and when to show full page
 #: lilylib.py:458
 msgid "Removing output file"
-msgstr ""
+msgstr "Destruction du fichier de sortie"
 
 #. !@PYTHON@
 #. once upon a rainy monday afternoon.
@@ -435,40 +432,37 @@ msgid "EXT"
 msgstr "EXT"
 
 #: lilypond-book.py:125
-#, fuzzy
 msgid "use output format EXT (texi [default], texi-html, latex, html)"
-msgstr ""
-"utiliser le format de sortie EXT (tex (par défaut), pdftex, ps, scm ou as)"
+msgstr "utiliser le format de sortie EXT (texi (par défaut), texi-html, latex, html)"
 
 #: lilypond-book.py:126 lilypond-book.py:127 lilypond-book.py:129
 #: lilypond-book.py:130
-#, fuzzy
 msgid "DIM"
-msgstr "RÉP"
+msgstr "DIM"
 
 #: lilypond-book.py:126
 msgid "default fontsize for music.  DIM is assumed to be in points"
-msgstr ""
+msgstr "taille de la fonte par défaut pour music. DIM est assumé être en points"
 
 #: lilypond-book.py:127
 msgid "deprecated, use --default-music-fontsize"
-msgstr ""
+msgstr "déprécié, utiliser --default-music-fontsize"
 
 #: lilypond-book.py:128
 msgid "OPT"
-msgstr ""
+msgstr "OPT"
 
 #: lilypond-book.py:128
 msgid "pass OPT quoted to the lilypond command line"
-msgstr ""
+msgstr "passer OPT entre guillemets à la ligne de commande à lilypond"
 
 #: lilypond-book.py:129
 msgid "force fontsize for all inline lilypond. DIM is assumed be to in points"
-msgstr ""
+msgstr "forcer la taille de fonte pour les entrées à lilypong. DIM est assumé être en points"
 
 #: lilypond-book.py:130
 msgid "deprecated, use --force-music-fontsize"
-msgstr ""
+msgstr "déprécié, utilise --force-music-fontsize"
 
 #: lilypond-book.py:132 ly2dvi.py:130 main.cc:113 main.cc:118
 msgid "DIR"
@@ -476,34 +470,31 @@ msgstr "R
 
 #: lilypond-book.py:132
 msgid "include path"
-msgstr ""
+msgstr "inclure le chemin (path)"
 
 #: lilypond-book.py:133
-#, fuzzy
 msgid "write dependencies"
-msgstr "ajouter en préfixe le RÉPERTOIRE aux dépendances"
+msgstr "écrire les dépendances"
 
 #: lilypond-book.py:134
 msgid "PREF"
-msgstr ""
+msgstr "PRÉF"
 
 #: lilypond-book.py:134
-#, fuzzy
 msgid "prepend PREF before each -M dependency"
-msgstr "ajouter en préfixe le RÉPERTOIRE aux dépendances"
+msgstr "ajouter les PRÉFérence en préfixe pour chaque dépendance -M"
 
 #: lilypond-book.py:135
-#, fuzzy
 msgid "don't run lilypond"
-msgstr "ne pas exécuter LilyPond"
+msgstr "ne pas exécuter lilypond"
 
 #: lilypond-book.py:136
 msgid "don't generate pictures"
-msgstr ""
+msgstr "ne pas générer de photos"
 
 #: lilypond-book.py:137
 msgid "strip all lilypond blocks from output"
-msgstr ""
+msgstr "éliminer chaque bloc lilypond de la sortie"
 
 #: lilypond-book.py:138 lilypond-book.py:139 ly2dvi.py:135 ly2dvi.py:136
 #: midi2ly.py:102 main.cc:114 main.cc:117
@@ -511,17 +502,16 @@ msgid "FILE"
 msgstr "FICHIER"
 
 #: lilypond-book.py:138
-#, fuzzy
 msgid "filename main output file"
-msgstr "Échec de LaTex sur le fichier de sortie."
+msgstr "nom du fichier principal de sortie"
 
 #: lilypond-book.py:139
 msgid "where to place generated files"
-msgstr ""
+msgstr "où seront placés les fichiers générés"
 
 #: lilypond-book.py:140 ly2dvi.py:137
 msgid "RES"
-msgstr ""
+msgstr "RES"
 
 #: lilypond-book.py:141 ly2dvi.py:138
 msgid "set the resolution of the preview to RES"
@@ -532,9 +522,8 @@ msgid "verbose"
 msgstr "mode explicatif"
 
 #: lilypond-book.py:143
-#, fuzzy
 msgid "print version information"
-msgstr "afficher le numéro de version"
+msgstr "afficher les informations de version"
 
 #: lilypond-book.py:144 ly2dvi.py:150 midi2ly.py:107 mup2ly.py:80 main.cc:127
 msgid "show warranty and copyright"
@@ -688,8 +677,7 @@ msgstr ""
 
 #: ly2dvi.py:127 main.cc:115
 msgid "write Makefile dependencies for every input file"
-msgstr ""
-"produire les dépendances pour Makefile concernant chaque fichier d'entrée"
+msgstr "produire les dépendances pour Makefile concernant chaque fichier d'entrée"
 
 #: ly2dvi.py:129
 msgid "print even more output"
@@ -726,12 +714,11 @@ msgstr "g
 
 #: ly2dvi.py:140
 msgid "generate PNG page images"
-msgstr ""
+msgstr "générer les pages images PNG"
 
 #: ly2dvi.py:141
-#, fuzzy
 msgid "generate PS.GZ"
-msgstr "générer une sortie PDF"
+msgstr "générer PS.GZ"
 
 #: ly2dvi.py:142
 msgid "generate PDF output"
@@ -790,19 +777,18 @@ msgid "Please submit a bug report to bug-lilypond@gnu.org"
 msgstr "SVP soumettre un rapport d'anomalies à bug-lilypond@gnu.org"
 
 #: ly2dvi.py:281
-#, fuzzy, python-format
+#, python-format
 msgid "LilyPond failed on input file %s (exit status %d)"
-msgstr "Échec de Lilypond sur le fichier d'entrée (état de sortie %d)."
+msgstr "Échec de lilypond sur le fichier d'entrée %s (statut d'exécution %d)."
 
 #: ly2dvi.py:284
-#, fuzzy, python-format
+#, python-format
 msgid "LilyPond failed on an input file (exit status %d)"
-msgstr "Échec de Lilypond sur le fichier d'entrée (état de sortie %d)."
+msgstr "Échec de lilypond sur le fichier d'entrée (statut d'exécution %d)."
 
 #: ly2dvi.py:285
-#, fuzzy
 msgid "Continuing..."
-msgstr "Exécution de %s..."
+msgstr "Poursuite..."
 
 #. urg
 #: ly2dvi.py:296
@@ -850,9 +836,9 @@ msgstr "n'est pas un fichier PostScript: 
 
 #. todo
 #: ly2dvi.py:660
-#, fuzzy, python-format
+#, python-format
 msgid "Writing HTML menu `%s'"
-msgstr "Écriture de « %s »..."
+msgstr "Écriture du menu HTML « %s »"
 
 #. signal programming error
 #. Don't convert input files to abspath, rather prepend '.' to include
@@ -914,9 +900,9 @@ msgid "dependencies output to `%s'..."
 msgstr "dépendances produites dans « %s »"
 
 #: ly2dvi.py:937
-#, fuzzy, python-format
+#, python-format
 msgid "%s output to <stdout>..."
-msgstr "%s produites dans « %s »..."
+msgstr "%s sortie vers <stdout>»..."
 
 #: ly2dvi.py:942 ly2dvi.py:968 includable-lexer.cc:57
 #: input-file-results.cc:191 input-file-results.cc:197 lily-guile.cc:86
@@ -926,9 +912,9 @@ msgstr "ne peut rep
 
 #. Hmm, if this were a function, we could call it the except: clauses
 #: ly2dvi.py:965
-#, fuzzy, python-format
+#, python-format
 msgid "%s output to %s..."
-msgstr "%s produites dans « %s »..."
+msgstr "%s sortie vers  %s..."
 
 #. !@PYTHON@
 #.
@@ -995,17 +981,16 @@ msgstr "traiter chaque texte comme des paroles"
 
 #: midi2ly.py:136 mup2ly.py:130
 msgid " 2001--2003"
-msgstr ""
+msgstr " 2001--2003"
 
 #: midi2ly.py:141 mup2ly.py:135
-#, fuzzy
 msgid ""
 "\n"
 "Distributed under terms of the GNU General Public License. It comes with\n"
 "NO WARRANTY."
 msgstr ""
-"Distribué selon les termes de la GNU General Public License.  Le logiciel "
-"est fourni sans GARANTIE."
+"\n"
+"Distribué selon les termes de la GNU General Public License.  Le logiciel est fourni sans GARANTIE."
 
 #: midi2ly.py:166 mup2ly.py:162
 msgid "Exiting ... "
@@ -1233,8 +1218,7 @@ msgstr ""
 #: accidental-engraver.cc:171 new-accidental-engraver.cc:238
 #, c-format
 msgid "Accidental typesetting list must begin with context-name: %s"
-msgstr ""
-"Liste de mise en page accidentelle doit débuter avec un nom de contexte: %s"
+msgstr "Liste de mise en page accidentelle doit débuter avec un nom de contexte: %s"
 
 #: accidental-engraver.cc:196 new-accidental-engraver.cc:263
 #, c-format
@@ -1277,12 +1261,8 @@ msgid "does not match: `%s'"
 msgstr "ne concorde pas: « %s »"
 
 #: all-font-metrics.cc:102
-msgid ""
-" Rebuild all .afm files, and remove all .pk and .tfm files.  Rerun with -V "
-"to show font paths."
-msgstr ""
-" Reconstruire tous les fichiers .afm et enlever tous les fichiers .pk et ."
-"tfm. Ré-exécuter avec l'option -V pour afficher les chemins vers les fontes"
+msgid " Rebuild all .afm files, and remove all .pk and .tfm files.  Rerun with -V to show font paths."
+msgstr " Reconstruire tous les fichiers .afm et enlever tous les fichiers .pk et .tfm. Ré-exécuter avec l'option -V pour afficher les chemins vers les fontes"
 
 #: all-font-metrics.cc:103
 msgid ""
@@ -1332,12 +1312,8 @@ msgid "Beam has less than two stems. Removing beam."
 msgstr "faisceau a moins de deux queues. Retrait du faisceau."
 
 #: beam.cc:976
-msgid ""
-"Not sure that we can find a nice beam slope (no viable initial configuration "
-"found)."
-msgstr ""
-"Pas certain que l'on puisse repérer un joli pente dans le faisceau "
-"(configuration initiale viable non repérée)"
+msgid "Not sure that we can find a nice beam slope (no viable initial configuration found)."
+msgstr "Pas certain que l'on puisse repérer un joli pente dans le faisceau (configuration initiale viable non repérée)"
 
 #: beam-engraver.cc:176
 msgid "already have a beam"
@@ -1402,29 +1378,29 @@ msgid "clef `%s' not found"
 msgstr ""
 
 #: cluster.cc:131
-#, fuzzy, c-format
+#, c-format
 msgid "unknown cluster style `%s'"
-msgstr "traducteur inconnu: « %s »"
+msgstr "style de groupement inconnu « %s »"
 
 #: coherent-ligature-engraver.cc:84
 #, c-format
 msgid "gotcha: ptr=%ul"
-msgstr ""
+msgstr "obtenu: ptr=%ul"
 
 #: coherent-ligature-engraver.cc:96
 #, c-format
 msgid "distance=%f"
-msgstr ""
+msgstr "distance=%f"
 
 #: coherent-ligature-engraver.cc:139
 #, c-format
 msgid "Coherent_ligature_engraver: setting `spacing-increment = 0.01': ptr=%ul"
-msgstr ""
+msgstr "Coherent_ligature_engraver: fixé `spacing-increment = 0.01': ptr=%ul"
 
 #: custos.cc:92
 #, c-format
 msgid "custos `%s' not found"
-msgstr ""
+msgstr "custos `%s' non repéré"
 
 #: dimensions.cc:13
 msgid "NaN"
@@ -1451,25 +1427,22 @@ msgid "unterminated (de)crescendo"
 msgstr "(de)crescendo n'est pas terminé"
 
 #: event.cc:49
-#, fuzzy, c-format
+#, c-format
 msgid "Transposition by %s makes alteration larger than two"
-msgstr "Transposition faite par %s crée des accidentels plus grand que deux"
+msgstr "Transposition faite par %s crée des altérations plus grande que deux"
 
 #: event-chord-iterator.cc:76 output-property-music-iterator.cc:27
-#, fuzzy, c-format
+#, c-format
 msgid "Junking event: `%s'"
-msgstr "Requête de mise au rebut: « %s »"
+msgstr "Événement rebut: « %s »"
 
 #: extender-engraver.cc:94
 msgid "unterminated extender"
 msgstr "prolongation non terminée"
 
 #: extender-engraver.cc:106
-#, fuzzy
 msgid "Nothing to connect extender to on the left.  Ignoring extender event."
-msgstr ""
-"Rien à relier à la prolongation sur la gauche. Requête de prolongation "
-"ignorée."
+msgstr "Rien à relier à la prolongation sur la gauche. Requête de prolongation ignorée."
 
 #: folded-repeat-iterator.cc:88
 msgid "no one to print a repeat brace"
@@ -1480,9 +1453,8 @@ msgid "couldn't find any font satisfying "
 msgstr "ne peut repérer aucune fonte satisfaisante"
 
 #: glissando-engraver.cc:100
-#, fuzzy
 msgid "Unterminated glissando."
-msgstr "ligature non terminée"
+msgstr "glissando non terminée"
 
 #: gourlay-breaking.cc:188
 #, c-format
@@ -1494,14 +1466,14 @@ msgid "No feasible line breaking found"
 msgstr "Aucun morcèlement de ligne faisable repéré"
 
 #: gregorian-ligature-engraver.cc:59
-#, fuzzy, c-format
+#, c-format
 msgid "\\%s ignored"
-msgstr "(ignoré)"
+msgstr "\\%s ignoré"
 
 #: gregorian-ligature-engraver.cc:64
 #, c-format
 msgid "implied \\%s added"
-msgstr ""
+msgstr "\\%s implicite ajouté"
 
 #.
 #. Todo: do something sensible. The grob-pq-engraver is not water
@@ -1513,6 +1485,8 @@ msgid ""
 "Skipped something?\n"
 "Grob %s ended before I expected it to end."
 msgstr ""
+"Quelque chose a été escamoté?\n"
+"%s terminé avant la fin attendue."
 
 #: hairpin.cc:98
 msgid "decrescendo too small"
@@ -1524,23 +1498,19 @@ msgstr "crescendo trop petit"
 
 #: horizontal-bracket-engraver.cc:64
 msgid "Don't have that many brackets."
-msgstr ""
+msgstr "N'a pas autant de crochets."
 
 #: horizontal-bracket-engraver.cc:73
-#, fuzzy
 msgid "Conflicting note group events."
-msgstr "Clés de signature conflictuelles repérées."
+msgstr "Événements de groupe de notes conflictuels."
 
 #: hyphen-engraver.cc:87
 msgid "unterminated hyphen"
 msgstr "trait d'union non terminé"
 
 #: hyphen-engraver.cc:99
-#, fuzzy
 msgid "Nothing to connect hyphen to on the left.  Ignoring hyphen event."
-msgstr ""
-"Rien à connecter au trait d'union sur la gauche. Requête de trait d'union "
-"ignoré"
+msgstr "Rien à connecter au trait d'union sur la gauche. Requête de trait d'union ignoré"
 
 #: input.cc:99
 msgid "non fatal error: "
@@ -1622,21 +1592,15 @@ msgstr "Affectation faite malgr
 #: lily-guile.cc:599
 #, c-format
 msgid "Type check for `%s' failed; value `%s' must be of type `%s'"
-msgstr ""
-"Vérification de type pour « %s » a échoué; la valeur « %s » doit être de "
-"type « %s »"
+msgstr "Vérification de type pour « %s » a échoué; la valeur « %s » doit être de type « %s »"
 
 #: lookup.cc:173
 msgid "round filled box horizontal extent smaller than blot; decreasing blot"
-msgstr ""
-"largeur horizontale de la boîte plus petite que le diamètre du coin; "
-"réduction du diamètre du coin"
+msgstr "largeur horizontale de la boîte plus petite que le diamètre du coin; réduction du diamètre du coin"
 
 #: lookup.cc:178
 msgid "round filled box vertical extent smaller than blot; decreasing blot"
-msgstr ""
-"hauteur verticale de la boîte plus petite que le diamètre du coin; réduction "
-"du diamètre du coin"
+msgstr "hauteur verticale de la boîte plus petite que le diamètre du coin; réduction du diamètre du coin"
 
 #: lyric-phrasing-engraver.cc:311
 msgid "lyrics found without any matching notehead"
@@ -1652,8 +1616,7 @@ msgstr "EXPR"
 
 #: main.cc:107
 msgid "set options, use -e '(ly-option-usage)' for help"
-msgstr ""
-"options d'initialisation: utiliser -e '(ly-option-usage)' pour de l'aide"
+msgstr "options d'initialisation: utiliser -e '(ly-option-usage)' pour de l'aide"
 
 #: main.cc:110
 msgid "use output format EXT"
@@ -1702,10 +1665,8 @@ msgid ""
 "using a high level description file as input.  LilyPond is part of \n"
 "the GNU Project.\n"
 msgstr ""
-"LilyPond est un logiciel de composition de musique. Il produit de jolies "
-"feuilles\n"
-"de musique en utilisant un fichier de description de haut niveau à "
-"l'entrée.\n"
+"LilyPond est un logiciel de composition de musique. Il produit de jolies feuilles\n"
+"de musique en utilisant un fichier de description de haut niveau à l'entrée.\n"
 "LilyPond fait parti du projet GNU.\n"
 
 #: main.cc:182
@@ -1715,10 +1676,8 @@ msgid ""
 "and you are welcome to change it and/or distribute copies of it under\n"
 "certain conditions.  Invoke as `%s --warranty' for more information.\n"
 msgstr ""
-"Ce logiciel est libre. Il est couvert par la licence GNU General Public "
-"License,\n"
-"et vous êtes libre de le modifier et/ou distribuer sous certaines "
-"conditions\n"
+"Ce logiciel est libre. Il est couvert par la licence GNU General Public License,\n"
+"et vous êtes libre de le modifier et/ou distribuer sous certaines conditions\n"
 "Invoquer commme suit « %s --warranty » pour plus de détails.\n"
 
 #: main.cc:198
@@ -1739,8 +1698,7 @@ msgid ""
 "\n"
 "    You should have received a copy (refer to the file COPYING) of the\n"
 "GNU General Public License along with this program; if not, write to\n"
-"the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA "
-"02111-1307,\n"
+"the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,\n"
 "USA.\n"
 msgstr ""
 "    Ce logiciel est libre; vous pouvez le redistribuer et/ou le modifier\n"
@@ -1753,35 +1711,30 @@ msgstr ""
 "la license GNU General Public License for more details.\n"
 "\n"
 "    Vous devriez avoir reçu une copie (consulter le fichier COPYING) de la\n"
-"license GNU General Public License accompagnant ce logiciel; si absente "
-"écrire à\n"
+"license GNU General Public License accompagnant ce logiciel; si absente écrire à\n"
 "la Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,\n"
 "USA.\n"
 
 #: mensural-ligature.cc:153
-#, fuzzy, c-format
+#, c-format
 msgid "Mensural_ligature:thickness undefined on flexa %d; assuming 1.4"
 msgstr "Mensural_ligature: épaisseur indéfinie sur flexa %d; 1.4 est assumé"
 
 #: mensural-ligature.cc:169
-#, fuzzy, c-format
+#, c-format
 msgid "Mensural_ligature:delta-pitch undefined on flexa %d; assuming 0"
-msgstr ""
-"Mensural_ligature: croissance du ton indéfinie sur flexa %d; 0 est assumé"
+msgstr "Mensural_ligature: croissance du ton (delta-pitch) indéfinie sur flexa %d; 0 est assumé"
 
 #: mensural-ligature.cc:182
-#, fuzzy, c-format
+#, c-format
 msgid "Mensural_ligature:flexa-width undefined on flexa %d; assuming 2.0"
-msgstr ""
-"Mensural_ligature: largeur de flexa indéfinie sur flexa %d; 2.0 est assumé"
+msgstr "Mensural_ligature: largeur de flexa (flxe-width) indéfinie sur flexa %d; 2.0 est assumé"
 
 #: mensural-ligature.cc:215
-#, fuzzy
 msgid "Mensural_ligature:unexpected case fall-through"
 msgstr "Mensural_ligature: cas inattendu sans interception"
 
 #: mensural-ligature.cc:225
-#, fuzzy
 msgid "Mensural_ligature: (join_left == 0)"
 msgstr "Mensural_liguture: (joint_left == 0)"
 
@@ -1872,9 +1825,8 @@ msgid "Element count %d (spanners %d) "
 msgstr "Éléments dénombrés %d (spanners %d) "
 
 #: paper-score.cc:83
-#, fuzzy
 msgid "Preprocessing graphical objects..."
-msgstr "Pré-traitement des éléments..."
+msgstr "Pré-traitement des éléments graphiques..."
 
 #: paper-score.cc:116
 msgid "Outputting Score, defined at: "
@@ -1905,9 +1857,8 @@ msgid "Don't know how to handle a percent repeat of this length."
 msgstr "Ne sait comment traiter la répétition de pourcent de cette longueur."
 
 #: percent-repeat-engraver.cc:163
-#, fuzzy
 msgid "unterminated percent repeat"
-msgstr "accolades des pédales non complétées"
+msgstr "pourcentage de répétition non terminé"
 
 #: percent-repeat-iterator.cc:65
 msgid "no one to print a percent"
@@ -1959,9 +1910,9 @@ msgid "Not a grob name, `%s'."
 msgstr "N'est pas un nom de type grob, « %s »"
 
 #: rest.cc:139
-#, fuzzy, c-format
+#, c-format
 msgid "rest `%s' not found, "
-msgstr "Symbole non repéré, "
+msgstr "symbole `%s' non repéré, "
 
 #: rest-collision.cc:199
 msgid "too many colliding rests"
@@ -1976,18 +1927,12 @@ msgid "  Evalute the Scheme EXPR before parsing any .ly files."
 msgstr "Evaluer l'EXPRESSION Scheme avant d'analyser les fichiers .ly"
 
 #: scm-option.cc:49
-msgid ""
-"  Multiple -e options may be given, they will be evaluated sequentially."
-msgstr ""
-"Les options multiples -e peuvent être fournis, elles seront évaluées "
-"séquentiellement."
+msgid "  Multiple -e options may be given, they will be evaluated sequentially."
+msgstr "Les options multiples -e peuvent être fournis, elles seront évaluées séquentiellement."
 
 #: scm-option.cc:51
-msgid ""
-"  The function ly-set-option allows for access to some internal variables."
-msgstr ""
-"L'option de la fonction ly-set-option permet l'accès à quelques variables "
-"internes."
+msgid "  The function ly-set-option allows for access to some internal variables."
+msgstr "L'option de la fonction ly-set-option permet l'accès à quelques variables internes."
 
 #: scm-option.cc:53
 msgid "Usage: lilypond -e \"(ly-set-option SYMBOL VAL)\""
@@ -2124,9 +2069,8 @@ msgid "Grob count %d "
 msgstr "Éléments de type grob dénombrés %d."
 
 #: system.cc:386
-#, fuzzy
 msgid "Calculating line breaks..."
-msgstr "Calcul des positions des colonnes..."
+msgstr "Calcul des bris de lignes..."
 
 #: text-spanner-engraver.cc:81
 msgid "can't find start of text spanner"
@@ -2155,8 +2099,7 @@ msgstr "L'en-t
 #: tfm-reader.cc:142
 #, c-format
 msgid "%s: TFM file has %u parameters, which is more than the %u I can handle"
-msgstr ""
-"%s: le fichier TFM a %u paramètres qui sont plus que %u pouvant être traités"
+msgstr "%s: le fichier TFM a %u paramètres qui sont plus que %u pouvant être traités"
 
 #: tie-performer.cc:159
 msgid "No ties were created!"
@@ -2230,8 +2173,7 @@ msgstr "Mensural_ligature: 
 #: vaticana-ligature.cc:233
 #, fuzzy
 msgid "Vaticana_ligature:x-offset undefined; assuming 0.0"
-msgstr ""
-"Mensural_ligature: largeur de flexa indéfinie sur flexa %d; 2.0 est assumé"
+msgstr "Mensural_ligature: largeur de flexa indéfinie sur flexa %d; 2.0 est assumé"
 
 #: vaticana-ligature.cc:258
 #, fuzzy
@@ -2265,9 +2207,7 @@ msgstr "L'identificateur doit contenir des caract
 
 #: parser.yy:779
 msgid "More alternatives than repeats.  Junking excess alternatives."
-msgstr ""
-"Plus d'alternatives que de répétitions. Rebuts dépasse la limite des "
-"alternatives."
+msgstr "Plus d'alternatives que de répétitions. Rebuts dépasse la limite des alternatives."
 
 #: parser.yy:861 parser.yy:868
 msgid "\applycontext takes function argument"
@@ -2490,8 +2430,7 @@ msgstr "Consid
 #~ msgstr "%d arguments attendus"
 
 #~ msgid "%s is far from completed.  Not all constructs are recognised."
-#~ msgstr ""
-#~ "%s est loin d'être complet. Tous les construits n'ont pas été reconnus."
+#~ msgstr "%s est loin d'être complet. Tous les construits n'ont pas été reconnus."
 
 #~ msgid "EOF in a string"
 #~ msgstr "Fin de fichier (EOF) dans la chaîne"
@@ -2515,13 +2454,10 @@ msgstr "Consid
 #~ msgstr "Aucun contexte disponible pour la note d'ornement"
 
 #~ msgid "Unattached grace notes.  Attaching to last musical column."
-#~ msgstr ""
-#~ "Notes d'ornement non attachées. On les rattache à la dernière colonne "
-#~ "musicale."
+#~ msgstr "Notes d'ornement non attachées. On les rattache à la dernière colonne musicale."
 
 #~ msgid "evalute EXPR as Scheme after .scm init is read"
-#~ msgstr ""
-#~ "évaluer EXPR comme un Schème après la lecture de initialisation .scm"
+#~ msgstr "évaluer EXPR comme un Schème après la lecture de initialisation .scm"
 
 #~ msgid "ly_get_mus_property (): Not a Music"
 #~ msgstr "ly_get_mus_property (): n'est pas de la musique"
@@ -2549,8 +2485,7 @@ msgstr "Consid
 #~ " \\propriété %s.%s \\pour écraser #'%s = #%s"
 
 #~ msgid "Wrong type for property: %s, type: %s, value found: %s, type: %s"
-#~ msgstr ""
-#~ "Type erroné pour la propriété: %s, type: %s, valeur trouvée: %s, type: %s"
+#~ msgstr "Type erroné pour la propriété: %s, type: %s, valeur trouvée: %s, type: %s"
 
 #~ msgid "too many notes for rest collision"
 #~ msgstr "trop de notes pour la pause en collision"
@@ -2559,8 +2494,7 @@ msgstr "Consid
 #~ msgstr "Option de schèmes:"
 
 #~ msgid "ly-get-trans-property: expecting a Translator_group argument"
-#~ msgstr ""
-#~ "ly-get-trans-property: s'attendait à un argument de type Translator_group"
+#~ msgstr "ly-get-trans-property: s'attendait à un argument de type Translator_group"
 
 #~ msgid "Oldest supported input version: %s"
 #~ msgstr "Version supportant les plus vieux formats: %s"
@@ -2621,16 +2555,11 @@ msgstr "Consid
 #~ msgstr "autoriser la mise au point de sortie"
 
 #~ msgid "don't output tuplets, double dots or rests, smallest is 32"
-#~ msgstr ""
-#~ "ne pas produire les tuplets, les doubles pointées ou les pauses, plus "
-#~ "petits que 32"
+#~ msgstr "ne pas produire les tuplets, les doubles pointées ou les pauses, plus petits que 32"
 
 #~ msgid "set FILE as default output"
 #~ msgstr "définir le FICHIER comme étant la sortie par défaut"
 
-#~ msgid "don't output tuplets"
-#~ msgstr "ne pas produire les tuplets"
-
 #~ msgid "be quiet"
 #~ msgstr "travailler en silence"