+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.
@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
@macro syntax
@noindent
-@strong{Syntax}
+@heading Syntax
-@noindent
@end macro
@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
@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
@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}
@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
@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
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
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 {
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{.}
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
@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
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.
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)
@seealso
-@seeinternals{TupletBracket}, @seeinternals{TimeScaledMusic}.
+@internalsref{TupletBracket}, @internalsref{TimeScaledMusic}.
@refbugs
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
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
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
@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' {
@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
@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
* Clef::
* Ottava brackets::
* Time signature::
+* Partial measures::
* Unmetered music::
* Bar lines::
@end menu
@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
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
\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
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
@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
\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'
@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
@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
@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},
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
@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 {
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]
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})
@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
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
@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'
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
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
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
)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.
@seealso
-@internalsref{GraceMusic}.
+@internalsref{GraceMusic},
@refbugs
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 }
@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
@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
-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
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-\!
}
@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]
@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
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
@}
@end example
+
+
+
@node Adding articulation marks to notes
@section Adding articulation marks to notes
@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
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
@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
@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
%% ugh, this is to deal with bugs in the extender implementation
\hideNotes
- c8
+ c32
}
\context Lyrics \lyrics { I want to break free __ }
}
-TODO: discuss contexts.
-
-
@node A lead sheet
@section A lead sheet
\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,
@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
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 @{
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
{ 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
{ 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}.
@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 }
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
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}
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
@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
@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.
@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
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
@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
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
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:
@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
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:
@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
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 {
} }
@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
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
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}
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 >>
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
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
<<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
the thumb lives in a different font. Maybe it should be moved?
*/
-
if (d > 5)
{
/*
}
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--;)
{
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());
}
| 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);
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.
*/
#
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"
#. 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
#: 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: "
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
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:"
#. # 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.
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"
#: 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
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"
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"
#: 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"
#: 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"
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
#. 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
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
#. 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@
#.
#: 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 ... "
#: 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
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 ""
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"
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"
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"
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
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
"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"
#: 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: "
#: 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"
#: 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"
"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
"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
"\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"
"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)"
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: "
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"
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"
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)\""
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"
#: 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!"
#: 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
#: 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"
#~ 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"
#~ 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"
#~ " \\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"
#~ 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"
#~ 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"