@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
    Translation of GIT committish: 33ba8d40c3493011a4b39ab8b1369701f8013bd6

    When revising a translation, copy the HEAD committish of the
    version that you are working on.  See TRANSLATION for details.
@end ignore

@c \version "2.11.61"

@c Translators: Frédéric Chiasson
@c Translation checkers: Valentin Villenave, Jean-Charles Malahieude

@node Rhythms
@section Rhythms

@lilypondfile[quote]{rhythms-headword.ly}

Cette section traite du rythme : durées, silences, barres de ligature
et de mesure.

@menu
* Writing rhythms::             
* Writing rests::               
* Displaying rhythms::          
* Beams::                       
* Bars::                        
* Special rhythmic concerns::   
@end menu


@node Writing rhythms
@subsection Writing rhythms

@menu
* Durations::                   
* Tuplets::                     
* Scaling durations::           
* Ties::                        
@end menu

@node Durations
@unnumberedsubsubsec Durations

@cindex durées
@funindex \longa
@funindex \breve
@funindex \maxima

Dans les modes de notes, d'accords et de paroles, les durées sont
écrites avec des chiffres et des points : les durées sont indiquées par
leur valeur fractionnaire par rapport à la durée d'une ronde.  Une
noire, par exemple, qui équivaut à un 1/4 de ronde --- @qq{quarter note}
en anglais --- s'écrit @code{4}, alors qu'une blanche ---
@qq{half-note}, 1/2 ronde --- s'écrit @code{2}.  Pour des notes plus
longues qu'une ronde, vous devrez utiliser les commandes @code{\longa}
pour une longue, et @code{\breve} pour une brève, aussi appelée carrée.

@example
c'\breve
c'1 c'2 c'4 c'8 c'16 c'32 c'64 c'64
r\longa r\breve
r1 r2 r4 r8 r16 r32 r64 r64
@end example

@lilypond[quote]
\score {
\relative c'' {
    a\breve*1/2 \autoBeamOff
    a1 a2 a4 a8 a16 a32 a64 a64
   \bar "empty"
   \break
    r\longa*1/4 r\breve *1/2
    r1 r2 r4 r8 r16 r32 r64 r64
  }
  \layout {
    ragged-right = ##t
    indent=0\mm
    \context {
      \Score
        \remove "Bar_number_engraver"
    }
    \context {
      \Staff
        \remove "Clef_engraver"
        \override StaffSymbol #'transparent = ##t
        \override TimeSignature #'transparent = ##t
        \override BarLine #'transparent = ##t
        \consists "Pitch_squash_engraver"
    }
  }
}
@end lilypond

Si la durée n'est pas précisée, elle est alors assimilée à la durée
précédente.  La valeur par défaut pour la première note est une noire
(4).

@lilypond[quote,ragged-right,verbatim,fragment]
{ a a a2 a a4 a a1 a }
@end lilypond


@funindex .

Pour obtenir des notes pointées, ajoutez simplement un point
(@samp{.}) au chiffre.  Les notes doublement pointées sont créées de
la même façon.

@lilypond[quote,ragged-right,fragment,verbatim]
a'4 b' c''4. b'8 a'4. b'4.. c''8.
@end lilypond

@predefined

Les points sont normalement haussés pour éviter les lignes de portées,
sauf dans certaines polyphonies.  Les commandes suivantes peuvent être
utilisées pour demander manuellement une orientation particulière des
points.

@funindex \dotsUp
@code{\dotsUp},
@funindex \dotsDown
@code{\dotsDown},
@funindex \dotsNeutral
@code{\dotsNeutral}.

@seealso

Référence du programme : @rinternals{Dots}, @rinternals{DotColumn}.


@node Tuplets
@unnumberedsubsubsec Tuplets

@cindex nolets
@cindex triolets
@funindex \times

Les nolets --- triolets, quintolets, etc. --- sont obtenus en
multipliant toutes les durées d'une expression musicale par une
fraction.

@example
\times @var{fraction} @var{expr_musique}
@end example

@noindent
La durée de @var{expr_musique} sera multipliée par la fraction.  Le
dénominateur de la fraction sera imprimé au-dessus des notes, parfois
avec un crochet.  Le nolet le plus courant est le triolet, dans lequel 3
notes ont la durée de 2, et où les notes durent donc 2/3 de leur valeur
écrite.

@lilypond[quote,ragged-right,fragment,verbatim]
g'4 \times 2/3 {c'4 c' c'} d'4 d'4
@end lilypond

Les nolets peuvent être imbriqués ; par exemple,

@lilypond[fragment,ragged-right,verbatim,relative=2]
\override TupletNumber #'text = #tuplet-number::calc-fraction-text
\times 4/6 {
  a4 a
  \times 3/5 { a a a a a }
}
@end lilypond

@predefined

@funindex \tupletUp
@code{\tupletUp},
@funindex \tupletDown
@code{\tupletDown},
@funindex \tupletNeutral
@code{\tupletNeutral}.


@commonprop

@funindex tupletNumberFormatFunction
@cindex nolets, formatage

La propriété @code{tupletSpannerDuration} spécifie la longueur voulue de
chaque crochet.  Avec elle, vous pouvez faire plusieurs nolets en ne
tapant @code{\times} qu'une fois, ce qui évite une longue saisie.  Dans
le prochain exemple, deux triolets sont imprimés avec une seule fonction
@code{\times}.

@lilypond[quote,fragment,relative=2,ragged-right,verbatim]
\set tupletSpannerDuration = #(ly:make-moment 1 4)
\times 2/3 { c8 c c c c c }
@end lilypond

@noindent
Pour plus d'information sur @code{make-moment}, voir
@ref{Time administration}.

L'apparence du chiffre est déterminée par la propriété @code{text} dans
@code{TupletNumber}.  La valeur par défaut imprime seulement le
dénominateur, mais si elle est définie par la fonction
@code{tuplet-number::calc-fraction-text}, la fraction entière
@var{num}:@var{den} sera imprimée à la place.

Pour éviter d'imprimer les chiffres des nolets, utilisez

@lilypond[quote,fragment,relative=2,ragged-right,verbatim]
\times 2/3 { c8 c c } \times 2/3 { c8 c c }
\override TupletNumber #'transparent = ##t
\times 2/3 { c8 c c } \times 2/3 { c8 c c }
@end lilypond

Utilisez la fonction @code{\tweak} pour définir une priorité dans le cas
de nolets imbriqués débutant au même moment.  Dans cet exemple,
@code{\tweak} spécifie un texte sous forme de fraction pour le
@code{TupletNumber} externe et de dénominateur pour les trois triolets
internes.

@lilypond[quote,ragged-right,verbatim]
\new Staff {
  \tweak #'text #tuplet-number::calc-fraction-text
  \times 4/3 {
     \tweak #'text #tuplet-number::calc-denominator-text
     \times 2/3 { c'8[ c'8 c'8] }
     \times 2/3 { c'8[ c'8 c'8] }
     \times 2/3 { c'8[ c'8 c'8] }
  }
}
@end lilypond

Ici, @code{\tweak} et @code{\override} agissent de concert pour
spécifier le positionnement du @code{TupletBracket}.  Le premier
@code{\tweak} positionne le @code{TupletBracket} du nolet externe au
dessus de la portée. Le second @code{\tweak} positionne le
@code{TupletBracket} du premier triolet interne au dessous de la
portée.  Notez que cette paire de fonctions @code{\tweak} n'affecte
que le triolet extérieur et le premier des trois triolets imbriqués
parce qu'ils commencent au même instant musical.  Nous utilisons
@code{\override} de manière tout à fait normale, pour forcer le
positionnement du @code{TupletBracket} des deuxième et troisième
triolets en dessous de la portée.

@lilypond[quote,ragged-right,verbatim]
\new Staff {
  \tweak #'text #tuplet-number::calc-fraction-text
  \tweak #'direction #up
  \times 4/3 {
     \tweak #'direction #down
     \times 2/3 { c'8[ c'8 c'8] }
     \override TupletBracket #'direction = #down
     \times 2/3 { c'8[ c'8 c'8] }
     \times 2/3 { c'8[ c'8 c'8] }
  }
}
@end lilypond

Les crochets de nolets peuvent aller jusqu'aux prémisses de la mesure
suivante, ou à la prochaine note.

@lilypond[ragged-right]
\new RhythmicStaff {
  \set tupletFullLength = ##t
  \time 4/4
  \times 4/5 {
    c4 c1
  }
  \set tupletFullLengthNote = ##t
  \time 2/4
  \times 2/3 {
    c4 c c 
  }
  \time 3/4
  c4 
}
@end lilypond


@seealso

Référence du programme : @rinternals{TupletBracket},
@rinternals{TupletNumber}, @rinternals{TimeScaledMusic}.



@node Scaling durations
@unnumberedsubsubsec Scaling durations

Vous pouvez altérer la durée des notes en leur joignant une fraction
@var{N/M}, donnant @q{@code{*}@var{N/M}} --- ou @q{@code{*}@var{N}} si
@var{M=1}.  Ceci n'affectera pas l'apparence des notes ou silences
produits.

Dans l'exemple suivant, les trois premières notes prennent exactement
deux temps, mais aucun triolet n'est imprimé.

@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
\time 2/4
a4*2/3 gis4*2/3 a4*2/3
a4 a4 a4*2
b16*4 c4
@end lilypond


@seealso

Dans ce manuel : @ref{Tuplets}.


@node Ties
@unnumberedsubsubsec Ties

@cindex liaison de prolongation
@funindex ~

Une liaison de tenue (ou de prolongation) relie deux notes adjacentes de
même hauteur.  Dans les faits, elle prolonge la durée d'une note, et ne
doit donc pas être confondue avec les liaisons d'articulation ou de
phrasé.  Une liaison de tenue est indiquée au moyen d'un tilde @samp{~}.

@lilypond[quote,ragged-right,fragment,verbatim]
e' ~ e' <c' e' g'> ~ <c' e' g'>
@end lilypond


Quand une liaison de tenue se trouve entre deux accords, toutes les
notes de même hauteur entre ces deux accords sont reliées.  S'il n'y en
a aucune, aucune liaison n'est créée.  Il est également possible de lier
partiellement deux accords, en mettant les liaisons à l'intérieur des
accords.

@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
<c~ e g~ b> <c e g b>
@end lilypond


Une liaison de tenue est un moyen parmi d'autres pour prolonger la durée
d'une note, tout comme les points.  L'exemple suivant montre deux
manières de matérialiser exactement la même idée :


@lilypond[quote,fragment,ragged-right]
\time 3/4 c'2. c'2 ~ c'4
@end lilypond

@noindent
Les liaisons de tenues sont utilisées soit lorsque la note dépasse de la
mesure, soit quand les points ne suffisent pas à donner la bonne durée.
Lorsque l'on utilise ces liaisons, les valeurs rythmiques les plus
longues doivent s'aligner sur les subidivisions de la mesure, comme ici :

@c KEEP LY
@lilypond[fragment,quote,ragged-right]
\relative {
  r8^"oui" c8 ~ c2 r4 | r8^"non" c2 ~ c8 r4
}
@end lilypond


Lorsque l'on doit lier de nombreuses notes sur plusieurs mesures, il
devient plus facile d'avoir recours à la division automatique des notes
--- voir @ref{Automatic note splitting}.  Ce procédé divise
automatiquement les notes trop longues, et les lie par-delà les barres
de mesure.

@funindex \repeatTie
@cindex liaison de prolongation, répétition
@cindex reprises avec alternatives et liaisons de prolongation

Lorsqu'une mesure de seconde fois après une reprise commence sur une
note liée, la liaison doit être répétée. C'est à cela que sert la
commande @code{\repeatTie} :

@lilypond[fragment,quote,ragged-right,relative=2]
r <c e g>\repeatTie
@end lilypond

@cindex laissez vibrer
@cindex liaison, laissez vibrer
@funindex \laissezVibrer

Les liaisons @qq{Laissez vibrer} (L.V.) sont utilisées pour le piano, la
harpe, et certains instruments de percussion.  Elles indiquent à
l'instrumentiste de laisser sonner la note ou l'accord au lieu de
l'étouffer.  Cet effet s'obtient avec la commande @code{\laissezVibrer}.

@lilypond[fragment,ragged-right,verbatim,relative=1]
<c f g>\laissezVibrer
@end lilypond

@commonprop

Les liaisons de tenue servent parfois à rendre un accord arpégé. Dans ce
cas, les notes liées ne sont pas toutes consécutives. Il faut alors
assigner à la propriété @code{tieWaitForNote} la valeur @emph{vrai}
(@q{t} pour @q{true}).  Cette même méthode peut servir, par exemple, à
lier un trémolo à un accord.

@lilypond[fragment,verbatim,relative=1,ragged-right,quote]
\set tieWaitForNote = ##t
\grace { c16[~ e~ g]~ } <c, e g>2
\repeat tremolo 8 { c32~ c'~ } <c c,>1
e8~ c~ a~ f~ <e' c a f>2
@end lilypond

Il est possible de graver manuellement les liaisons de tenue, en
modifiant la propriété @code{tie-configuration}.  Pour chaque paire, le
premier nombre indique la distance à la portée, en espaces de portée, et
le second la direction (1 pour haut, @minus{}1 pour bas).

@lilypond[fragment,verbatim,relative=1,ragged-right,quote]
<c e g>2~ <c e g> |
\override TieColumn #'tie-configuration =
  #'((0.0 . 1) (-2.0 . 1) (-4.0 . 1))
<c e g>~ <c e g> |
@end lilypond


@predefined

@funindex \tieUp
@code{\tieUp},
@funindex \tieDown
@code{\tieDown},
@funindex \tieNeutral
@code{\tieNeutral},
@funindex \tieDotted
@code{\tieDotted},
@funindex \tieDashed
@code{\tieDashed},
@funindex \tieSolid
@code{\tieSolid}.


@seealso

Glossaire musical :
@rglos{tie},
@rglos{laissez vibrer}.

Dans ce manuel : @ref{Automatic note splitting}.

Référence du programme :
@rinternals{Tie},
@rinternals{TieColumn},
@rinternals{LaissezVibrerTie},
@rinternals{LaissezVibrerTieColumn}.


@knownissues

Un changement de portée, lorsqu'une liaison de tenue est active, ne
peut produire une liaison oblique.

Le changement de clé ou d'octave pendant une liaison de tenue produit un
résultat indéfini.  Dans ces cas-là, il est préférable d'utiliser un
legato.


@node Writing rests
@subsection Writing rests

@menu
* Rests::                       
* Invisible rests::             
* Full measure rests::          
@end menu

@node Rests
@unnumberedsubsubsec Rests
@cindex silences

@funindex \rest
@funindex r

Les silences sont écrits comme des notes avec le nom de note @code{r}.

@lilypond[fragment,quote,ragged-right,verbatim]
r1 r2 r4 r8
@end lilypond

Les pauses d'une mesure complète, qui sont placées au centre de la
mesure, doivent être entrées comme des mesures de silence.  Elles
peuvent être utilisées pour une seule mesure comme pour plusieurs, et
leur utilisation est expliquée dans la section
@ref{Full measure rests}.

Pour spécifier explicitement la position verticale d'un silence, écrivez
une note suivie de @code{\rest}.  Un silence sera placé à la position où
serait imprimée la note.

@lilypond[fragment,quote,ragged-right,verbatim]
a'4\rest d'4\rest
@end lilypond

@noindent
Cela rend plus facile la mise en place de la musique polyphonique,
puisque le formateur automatique de collision des silences laissera ces
silences tranquilles.

@seealso

Référence du programme : @rinternals{Rest}.


@node Invisible rests
@unnumberedsubsubsec Invisible rests

@cindex sauts de durée
@cindex silences invisibles
@cindex silences d'espacement
@funindex \skip
@funindex s

Un silence invisible --- que l'on pourrait appeler un @qq{saut} ---
peut être entré comme une note avec le nom de note `@samp{s}' ou avec
@code{\skip @var{durée}}

@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
a4 a4 s4 a4 \skip 1 a4
@end lilypond

La syntaxe @code{s} est seulement disponible pour les modes d'entrée
de notes et d'accords.  Dans d'autres situations, pour l'entrée de
paroles par exemple, vous devrez utiliser la commande @code{\skip}.

@lilypond[quote,ragged-right,verbatim]
<<
  \relative { a'2 a2 }
  \new Lyrics \lyricmode { \skip 2 bla2 }
>>
@end lilypond

La commande de saut génère simplement une case musicale vide.  Elle ne
produit rien sur la partition, pas même un symbole transparent.  Le code
de saut @code{s} crée tout de même une @rinternals{Staff} et une
@rinternals{Voice} lorsque nécessaire, tout comme les commandes de
note et de silence.  Ainsi, le code suivant aboutit à une portée vide.

@lilypond[quote,ragged-right,verbatim]
{ s4 }
@end lilypond

Le fragment @code{@{ \skip 4 @} } produirait une page vide.

@seealso

Référence du programme : @rinternals{SkipMusic}.


@node Full measure rests
@unnumberedsubsubsec Full measure rests

@cindex mesures à compter
@cindex mesure entière de silence
@cindex Silences, multi-mesures
@cindex Silences, mesure entière
@cindex une pause par mesure
@funindex R

Un silence valant une ou plusieurs mesures entières s'entre avec un
@samp{R} majuscule.  Ceci ne peut être utile que pour une mesure complètement
vide, et pour générer des parties séparées : ce silence sera alors
répété sur autant de mesures que nécessaire, ou bien imprimé une seule
fois.  La répétition est contrôlée par la propriété
@code{Score.skipBars}.  Au cas où ce commutateur est défini comme
vrai (lettre @code{##t} pour @q{true}), les mesures vides ne seront pas répétées, et le nombre exact de
mesures sera ajouté.

@lilypond[quote,ragged-right,fragment,verbatim]
\time 4/4 r1 | R1 | R1*2 \time 3/4 R2. \time 2/4 R2 \time 4/4
\set Score.skipBars = ##t R1*17 R1*4
@end lilypond

Le @code{1} de @code{R1} est le même que celui utilisé pour la durée
des notes.  Vous devrez donc, si le morceau n'est pas à 4/4, stipuler
un autre durée, qui pourra contenir des points d'augmentation ou être
libellé sous forme de fraction :

@lilypond[quote,ragged-right,fragment,verbatim]
\set Score.skipBars = ##t
\time 3/4
R2. | R2.*2
\time 13/8
R1*13/8
R1*13/8*12 |
\time 10/8 R4*5*4 |
@end lilypond

Un @code{R} qui s'étend sur une seule mesure s'imprime tantôt comme
une pause, tantôt comme une brève, et sera centré sur la mesure
quelle que soit la métrique.

Dans le cas où ce silence ne dure que quelques mesures, LilyPond
imprime sur la portée des @qq{ silences d'église }, simple suite de
rectangles.  La propriété @code{MultiMeasureRest.expand-limit} permet
d'obtenir un silence unique.

@lilypond[quote,ragged-right,fragment,verbatim]
\set Score.skipBars = ##t
R1*2 | R1*5 | R1*9
\override MultiMeasureRest #'expand-limit = 1
R1*2 | R1*5 | R1*9
@end lilypond

@cindex texte et silence multi-mesures
@cindex script et silence multi-mesures
@cindex point d'orgue et silence multi-measures

Vous pouvez aussi ajouter du texte à un silence multi-mesures en utilisant
la syntaxe @var{note}-@code{markup} (cf. @ref{Formatting text}).  La
variable @code{\fermataMarkup} permet d'ajouter un point d'orgue.

@lilypond[quote,ragged-right,verbatim,fragment]
\set Score.skipBars = ##t
\time 3/4
R2.*10^\markup { \italic "ad lib." }
R2.^\fermataMarkup
@end lilypond

Attention !  c'est @code{MultiMeasureRestText} qui créera le texte, et
non @code{TextScript}.

@lilypond[quote,ragged-right,verbatim,fragment]
\override TextScript #'padding = #5
R1^"low"
\override MultiMeasureRestText #'padding = #5
R1^"high"
@end lilypond

Pour aligner votre texte sur le début de la mesure, rattachez-le à un
silence invisible de longueur zéro comme ceci :

@example
s1*0^"Allegro"
R1*4
@end example


@seealso

Référence du programme : @rinternals{MultiMeasureRestMusic},
@rinternals{MultiMeasureRest}.

L'objet de rendu @rinternals{MultiMeasureRestNumber} traite les
nombres, et @rinternals{MultiMeasureRestText} le texte ajouté par
l'utilisateur. 


@knownissues

Vous ne pouvez pas utiliser de doigtés (p.ex. @code{R1-4}) pour
positionner des nombres au dessus d'un silence multi-mesures, ni
modifier la hauteur.

@cindex condenser les silences

Condenser plusieurs silences en un unique silence multi-mesures ne peut 
être automatisé.  Les silences multi-mesures peuvent générer des
collisions avec d'autres silences.

Pensez à indiquer explicitement la durée de la note qui suit un
silence multi-mesures, car elle sera par défaut égale à la durée totale
des mesures à compter. Ainsi, dans l'exemple ci-après, les deux do
dièses vaudront chacun quatre mesures à 4/4.
@example
R1*4 cis cis
@end example
Lorsque @code{skipBars} est activé, le résultat semblera correct, mais
la numérotation des mesures sera suspendue. 


@node Displaying rhythms
@subsection Displaying rhythms

@menu
* Time signature::              
* Upbeats::                     
* Unmetered music::             
* Polymetric notation::         
* Automatic note splitting::    
* Showing melody rhythms::      
@end menu

@node Time signature
@unnumberedsubsubsec Time signature

@cindex chiffrage de mesure
@cindex chiffre indicateur de mesure
@cindex métrique
@funindex \time

Le chiffre de mesure indique le mètre d'une pièce : une alternance
régulière de temps forts et de temps faibles.  Il est indiqué par une
fraction au début de la portée.

Le chiffre de mesure est réglé par la commande @code{\time}.

@lilypond[quote,ragged-right,fragment,verbatim]
\time 2/4 c'2 \time 3/4 c'2.
@end lilypond

@commonprop

Le symbole imprimé peut être modifié avec la propriété @code{style}.
En la réglant sur @code{#'()}, une fraction sera utilisée pour les
chiffres de mesure 4/4 et 2/2.

@lilypond[fragment,quote,ragged-right,verbatim]
\time 4/4 c'1
\time 2/2 c'1
\override Staff.TimeSignature #'style = #'()
\time 4/4 c'1
\time 2/2 c'1
@end lilypond

Il y a bien d'autres options pour sa mise en place.  Voir @ref{Ancient time
signatures} pour plus d'exemples.

@code{\time} définit les propriétés @code{timeSignatureFraction},
@code{beatLength} et @code{measureLength} dans le contexte
@code{Timing}, qui en principe est assimilé à @rinternals{Score}.  La
propriété @code{measureLength} détermine où des barres de mesure doivent
être insérées, et comment les groupements de notes doivent être gérés.
La modification de la valeur de @code{timeSignatureFraction} donne
également lieu à l'impression d'un symbole.

Plus d'options sont accessibles au moyen de la fonction Scheme
@code{set-time-signature}.  De concert avec le
@rinternals{Measure_grouping_engraver}, elle crée les signes de
@rinternals{MeasureGrouping}, qui facilitent la lecture de musiques
modernes, complexes rythmiquement.  Dans l'exemple suivant, les mesures
à 9/8 sont subdivisées en @code{(2 2 2 3)}, ce qui est donné comme
argument à la commande @code{set-time-signature}, en troisième position.

@lilypond[quote,ragged-right,verbatim]
\score {
  \relative c'' {
    #(set-time-signature 9 8 '(2 2 2 3))
    g8[ g] d[ d] g[ g] a8[( bes g]) |
    #(set-time-signature 5 8 '(3 2))
    a4. g4
  }
  \layout {
    \context {
      \Staff
      \consists "Measure_grouping_engraver"
    }
  }
}
@end lilypond


@seealso

Référence du programme : @rinternals{TimeSignature} et
@rinternals{Timing_translator}.

Exemples : @rlsr{Rhythms}.


@knownissues

Le groupement automatique des ligatures n'utilise pas les groupements
spécifiés par @code{set-time-signature}.


@node Upbeats
@unnumberedsubsubsec Upbeats

@cindex anacrouse
@cindex levée
@cindex mesure incomplète
@funindex \partial


Les mesures incomplètes, telles que les anacrouses ou levées, doivent
être entrées avec la commande

@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
\partial 16*5 c16 cis d dis e | a2. c,4 | b2
@end lilypond


La syntaxe de cette commande est

@example
\partial @var{durée}
@end example

@code{durée} étant la valeur rythmique devant être ajoutée avant la
mesure suivante.

Le programme traduit cette commande en

@example
\set Timing.measurePosition = -@var{durée}
@end example


La propriété @code{measurePosition} contient un nombre rationnel qui
indique, à ce point précis, où l'on en est de la mesure. Notez qu'il
peut s'agir d'un nombre négatif ; @code{\partial 4} signifie, pour le
programme : @qq{Dans cette mesure, il reste juste une noire}.


@knownissues

Cette commande ne prend pas en compte les notes d'ornement ou
appoggiatures au début de la musique. Lorsqu'un morceau commence par une
levée et avec des petites notes, la commande @code{\partial} devrait être
placée après celles-ci.

@lilypond[verbatim,quote,ragged-right,relative,fragment]
\grace f16
\partial 4
g4
a2 g2
@end lilypond

@code{\partial} n'est destiné à être utilisé qu'en début de pièce.
Si on l'utilise ailleurs qu'au début, des messages d'erreurs peuvent
s'afficher.


@node Unmetered music
@unnumberedsubsubsec Unmetered music

@cindex cadence
@funindex \cadenzaOn
@funindex \cadenzaOff


Les barres de mesure et les numéros de mesure sont calculés
automatiquement, ce qui n'est pas souhaitable dans le cas d'une musique
non mesurée --- les cadences, par exemple. Les commandes
@code{\cadenzaOn} et @code{\cadenzaOff} permettent de désactiver et de
rétablir la métrique automatique.

@lilypond[verbatim,quote,ragged-right,relative=2,fragment]
c4 d e d
\cadenzaOn
c4 c d8 d d f4 g4.
\cadenzaOff
\bar "|"
d4 e d c
@end lilypond


@knownissues

LilyPond ne change de ligne ou de page qu'au niveau des barres de
mesure.  Si votre musique non mesurée dure plus d'une ligne, il vous
faudra insérer des barres de mesure invisibles, pour indiquer à quels
endroit un saut de ligne peut intervenir.

@example
\bar ""
@end example


@node Polymetric notation
@unnumberedsubsubsec Polymetric notation

@cindex métrique composite
@cindex composite, métrique
@cindex métrique polymétrique
@cindex polymétrie

LilyPond ne gère pas les métriques composites de manière explicite,
mais on peut contourner ce problème.  Dans l'exemple suivant,
l'indicateur de métrique est obtenu grâce à une étiquette textuelle.
Cette étiquette vient s'insérer dans l'objet graphique (@emph{grob})
@rinternals{TimeSignature}.

@lilypond[verbatim,ragged-right]
% Create 9/8 split into 2/4 + 5/8
tsMarkup = \markup {
  \override #'(baseline-skip . 2) \number {
    \column { "2" "4" }
    \vcenter "+"
    \bracket \column { "5" "8" }
  }
}

{
  \override Staff.TimeSignature #'stencil =
    #ly:text-interface::print
  \override Staff.TimeSignature #'text = #tsMarkup
  \time 9/8
  c'2 \bar ":" c'4 c'4.
  c'2 \bar ":" c'4 c'4.
}
@end lilypond

@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{compound-time-signatures.ly}

Il arrive aussi que chaque portée ait sa propre métrique.  Vous y
parviendrez en déplaçant le @rinternals{Timing_translator} dans le
contexte @rinternals{Staff}.

@example
\layout @{
  \context @{ \Score
     \remove "Timing_translator"
     \remove "Default_bar_line_engraver"
  @}
  \context @{
    \Staff
    \consists "Timing_translator"
    \consists "Default_bar_line_engraver"
  @}

@}
@end example


Maintenant, chacune des portées dispose de sa propre métrique.
@example
<<
  \new Staff @{
    \time 3/4
    c4 c c | c c c |
  @}
  \new Staff @{
    \time 2/4
    c4 c | c c | c c
  @}
  \new Staff @{
    \time 3/8
    c4. c8 c c c4. c8 c c
  @}
>>
@end example

@lilypond[quote,ragged-right]
\layout{
  \context{
     \Score
     \remove "Timing_translator"
     \remove "Default_bar_line_engraver"
    }
  \context{ \Staff
    \consists "Timing_translator"
    \consists "Default_bar_line_engraver"
  }
}

\relative c' <<
  \new Staff {
    \time 3/4
    c4 c c | c c c |
  }
  \new Staff {
    \time 2/4
    c4 c | c c | c c
  }
  \new Staff {
    \time 3/8
    c4. c8 c c c4. c8 c c
  }
>>
@end lilypond


Une autre forme de notation polymétrique consiste dans le fait que des
notes aient une durée relative différente selon la portée.  

Vous pouvez créer une telle notation en définissant une métrique
commune à toutes les portées,  que vous proratiserez manuellement
selon le cas en utilisant @code{timeSignatureFraction} pour obtenir la
division adéquate pour chaque portée.  Les durées, dans chacune des
portées, seront alors échelonnées par rapport à la métrique commune.
L'échelle de représentation se règle avec @code{\scaleDurations} ---
qui fonctionne comme @code{\times}, sans toutefois créer de crochet.
La syntaxe appropriée est :
@example
\scaleDurations #'(@var{numérateur} . @var{dénominateur}) @var{exprmusicale}
@end example


L'exemple suivant utilise parallèlement des mesures à 3/4, 9/8 et
10/8.  Pour la deuxième portée, les durées sont multipliées par 2/3,
de telle sorte que @w{2/3 * 9/8 = 3/4} ; pour la troisième, elles sont
multipliées par 3/5, de telle sorte que @w{3/5 * 10/8 = 3/4}.

@lilypond[quote,ragged-right,verbatim,fragment]
\relative c' { <<
  \new Staff {
    \time 3/4
    c4 c c | c c c |
  }
  \new Staff {
    \time 3/4
    \set Staff.timeSignatureFraction = #'(9 . 8)
    \scaleDurations #'(2 . 3)
      \repeat unfold 6 { c8[ c c] }
  }
  \new Staff {
    \time 3/4
    \set Staff.timeSignatureFraction = #'(10 . 8)
    \scaleDurations #'(3 . 5) {
      \repeat unfold 2 { c8[ c c] }
      \repeat unfold 2 { c8[ c] }
      | c4. c4. \times 2/3 { c8 c c } c4
    }
  }
>> }
@end lilypond

@seealso

Exemples : @rlsr{Rhythms}.

@knownissues

L'utilisation de métriques différentes en parallèle entraine un
alignement vertical.  De ce fait, les barres de mesure ont tendance à
fausser l'espacement régulier.


@node Automatic note splitting
@unnumberedsubsubsec Automatic note splitting

On peut convertir automatiquement les notes longues en notes liées.  Il
faut pour cela remplacer le graveur @rinternals{Note_heads_engraver}
par le graveur @rinternals{Completion_heads_engraver}.  Dans les
exemples suivants, les notes dépassant de la mesure sont divisées et
liées.

@lilypond[quote,fragment,verbatim,relative=1,line-width=12\cm]
\new Voice \with {
  \remove "Note_heads_engraver"
  \consists "Completion_heads_engraver"
} {
  c2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2
}
@end lilypond

Ce graveur divise toutes les notes qui sortent de la mesure, et insère
des liaisons de prolongation.  Une utilisation posible consiste à
déboguer des partitions complexes : si les mesures ne sont pas
entièrement remplies, alors les liaisons de prolongation montrent
exactement la durée des décalages de mesure.

Si vous voulez permettre un saut de ligne aux barres de mesure où
@rinternals{Completion_heads_engraver} divise les notes, vous devez
aussi enlever @rinternals{Forbid_line_break_engraver}.


@knownissues

Bien que toutes les durées --- particulièrement celles contenant des
nolets --- ne puissent pas être représentées exactement avec des notes
normales et des points, le graveur n'insèrera pas de nolets.

@code{Completion_heads_engraver} affecte seulement les notes, il ne
divise pas les silences.

@seealso

Référence du programme : @rinternals{Completion_heads_engraver}.

@node Showing melody rhythms
@unnumberedsubsubsec Showing melody rhythms

Au moyen d'une portée rythmique -- @q{rhythmic staff} en anglais -- on
peut montrer seulement le rythme d'une mélodie : toutes les notes sont
ramenées à la même hauteur, sur une portée d'une seule ligne.

@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
\new RhythmicStaff {
  \time 4/4
  c4 e8 f g2 | r4 g r2 | g1:32 | r1 |
}
@end lilypond

@seealso

Référence du programme : @rinternals{RhythmicStaff}.

@node Beams
@subsection Beams

@menu
* Automatic beams::             
* Setting automatic beam behavior::  
* Manual beams::                
* Feathered beams::             
@end menu

@node Automatic beams
@unnumberedsubsubsec Automatic beams

LilyPond décide automatiquement de la manière de grouper les notes et
d'imprimer les ligatures.

@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
\time 2/4 c8 c c c \time 6/8 c c c c8. c16 c8
@end lilypond

Lorsque ce comportement automatisé n'est pas satisfaisant, on peut
définir des groupements manuellement --- voir section suivante --- ou
personnaliser les groupements automatiques --- voir @ref{Setting
automatic beam behavior}.

La commande @code{\noBeam} peut servir à empêcher des notes
individuelles d'être rattachées aux autres.

@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
\time 2/4 c8 c\noBeam c c
@end lilypond


@seealso

Référence du programme : @rinternals{Beam}.


@node Setting automatic beam behavior
@unnumberedsubsubsec Setting automatic beam behavior

@funindex autoBeamSettings
@funindex (end * * * *)
@funindex (begin * * * *)
@cindex ligatures automatiques, réglage
@cindex réglage des ligatures automatiques

@c [TODO: use \applyContext]

Dans les métriques courantes, les ligatures automatiques peuvent commencer
sur n'importe quelle note, mais ne peuvent se terminer qu'à certains points précis
dans la mesure : sur une pulsation, ou après toute durée spécifiée par les propriétés
nommées @code{autoBeamSettings}.  Ces propriétés consistent en une liste de règles
relatives au début ou à la fin des ligatures.  Par défaut, elles sont définies dans
le fichier
@file{scm/@/auto@/-beam@/.scm}.

On peut ajouter à cette liste une nouvelle règle, au moyen de la commande
@example
#(override-auto-beam-setting '(extrémité p q n m) a b [contexte])
@end example

@itemize @bullet

@item @code{extrémité} désigne le début (@code{begin}) ou la fin (@code{end}) de la ligature.

@item @code{p/q} désigne la valeur rythmique de la note que l'on veut affecter, ou de la
plus brève des notes concernées.  Si cette règle doit s'appliquer à toutes les ligatures,
remplacez @code{p} et @code{q} par des étoiles @qq{@code{*}}.


@item @code{n/m} est le chiffre de mesure dans lequel la règle doit
s'appliquer.  Si celle-ci doit s'appliquer dans toutes les métriques,
remplacez @code{n} et @code{m} par des étoiles @qq{@code{*}}.

@item @code{a/b} est l'emplacement, dans la mesure, auquel les ligatures doivent
débuter ou s'achever (suivant la valeur @q{extrémité} que nous venons de voir).


@item @code{contexte} est un argument facultatif, qui détermine le contexte dans lequel
la règle doit s'appliquer.  Par défaut, il s'agit de @code{'Voice}.
@code{#(score-override-auto-beam-setting '(A B C D) E F)} équivaut à
@code{#(override-auto-beam-setting '(A B C D) E F 'Score)}.

@end itemize

Par exemple, si l'on veut que les ligatures s'achèvent toujours après la première noire :


@example
#(override-auto-beam-setting '(end * * * *) 1 4)
@end example

On peut obliger une règle de ligatures à ne s'appliquer qu'à des groupes dont la note
la plus brève est d'une valeur précise :

@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
\time 2/4
#(override-auto-beam-setting '(end 1 16 * *) 1 16)
a16 a a a a a a a |
a32 a a a a16 a a a a a |
#(override-auto-beam-setting '(end 1 32 * *) 1 16)
a32 a a a a16 a a a a a |
@end lilypond

On peut obliger une règle de ligatures à ne s'appliquer que pour un chiffre de mesure
précis :

@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
\time 5/8
#(override-auto-beam-setting '(end * * 5 8) 2 8)
c8 c d d d
\time 4/4
e8 e f f e e d d
\time 5/8
c8 c d d d
@end lilypond

Enfin, on peut désactiver une règle de ligatures au moyen du réglage suivant :

@example
#(revert-auto-beam-setting '(extrémité p q n m) a b [contexte])
@end example

@noindent
@code{extrémité}, @code{p}, @code{q}, @code{n}, @code{m}, @code{a}, @code{b} et @code{contexte}
étant les mêmes que plus haut.  Il est même possible de désactiver des règles que l'on n'a pas
explicitement créées : les règles par défaut, qui se trouvent dans le fichier @file{scm/@/auto@/-beam@/.scm}.



@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
\time 4/4
a16 a a a a a a a a a a a a a a a
#(revert-auto-beam-setting '(end 1 16 4 4) 1 4)
a16 a a a a a a a a a a a a a a a
@end lilypond

La commande @code{revert-auto-beam-setting} requiert exactement les mêmes arguments
que la règle d'origine.  En d'autres termes, les étoiles ne seront pas prises en compte ici.

@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
\time 1/4
#(override-auto-beam-setting '(end 1 16 1 4) 1 8)
a16 a a a
#(revert-auto-beam-setting '(end 1 16 * *) 1 8) % ceci ne désactive pas la règle !
a a a a
#(revert-auto-beam-setting '(end 1 16 1 4) 1 8) % ceci marche
a a a a
@end lilypond



@c TODO:  old material -- not covered by above stuff, I think.
Si, dans une mesure à 5/4, l'on veut que les ligatures soient regroupées temps par temps,
il est nécessaire d'indiquer toutes les terminaisons de ligatures.
@example
#(override-auto-beam-setting '(end * * * *) 1 4 'Staff)
#(override-auto-beam-setting '(end * * * *) 1 2 'Staff)
#(override-auto-beam-setting '(end * * * *) 3 4 'Staff)
#(override-auto-beam-setting '(end * * * *) 5 4 'Staff)
@dots{}
@end example

La même syntaxe peut servir à définir les points de départ des ligatures.
Dans l'exemple suivant, les ligatures automatiques  ne peuvent se terminer 
que sur une noire pointée.
@example
#(override-auto-beam-setting '(end * * * *) 3 8)
#(override-auto-beam-setting '(end * * * *) 1 2)
#(override-auto-beam-setting '(end * * * *) 7 8)
@end example
@c ???? Je n'y comprends rien --vv
Dans une mesure à 4/4, cela implique que les ligatures ne peuvent se terminer que sur
la troisième croche, ou sur le quatrième temps (après la valeur de deux fois trois croches).

Si une ligature se fait de manière inattendue, pensez à vérifer les règles automatiques
dans le fichier @file{scm/@/auto@/-beam@/.scm} pour rechercher d'éventuels conflits, dans
la mesure ou les règles par défaut s'ajoutent à vos propres règles.  Il est alors nécessaire
de désactiver toute règle par défaut conduisant à des ligatures indésirables.

Ainsi, pour obtenir des ligatures en groupes de @code{(3 4 3 2)} croches, dans une mesure à 12/8,
il faudra préalablement utiliser :

@example
%%% annulons les réglages par défaut relatifs à 12/8, dans scm/auto-beam.scm 
#(revert-auto-beam-setting '(end * * 12 8) 3 8)
#(revert-auto-beam-setting '(end * * 12 8) 3 4)
#(revert-auto-beam-setting '(end * * 12 8) 9 8)

%%% puis ajoutons nos propres règles
#(override-auto-beam-setting '(end 1 8 12 8) 3 8)
#(override-auto-beam-setting '(end 1 8 12 8) 7 8)
#(override-auto-beam-setting '(end 1 8 12 8) 10 8)
@end example

@cindex ligatures automatiques
@cindex groupes de notes
@funindex autoBeaming
@cindex paroles

Si des ligatures sont utilisées dans les paroles d'une chanson (pour indiquer des mélismes),
les ligatures automatiques doivent être désactivées, avec @code{\autoBeamOff}.


@predefined

@funindex \autoBeamOff
@code{\autoBeamOff},
@funindex \autoBeamOn
@code{\autoBeamOn}.

@commonprop

Les groupes de notes reliées par les ligatures peuvent être spécifiés au moyen
de la propriété @code{beatGrouping}.

@lilypond[quote,verbatim,relative=2,fragment,ragged-right]
\time 5/16
\set beatGrouping = #'(2 3)
c8[^"(2+3)" c16 c8]
\set beatGrouping = #'(3 2)
c8[^"(3+2)" c16 c8]
@end lilypond


@knownissues

Si une partition se termine alors qu'une ligature automatique est restée inachevée,
cette dernière ligature ne sera pas imprimée du tout.  C'est également valable dans
le cas d'une musique polyphonique, saisie avec la syntaxe @code{<< @dots{} \\ @dots{}
>>}, où une voix se terminerait sans que la dernière ligature
soit achevée.


@node Manual beams
@unnumberedsubsubsec Manual beams

@cindex groupements de note manuels
@cindex ligatures manuelles
@funindex ]
@funindex [

Dans certaines situations, il peut s'avérer nécessaire de
supplanter l'algorithme de groupement automatique des notes, par
exemple pour prolonger une ligature par-dessus un silence ou une barre
de mesure.  Le début et la fin de la ligature sont alors indiqués par
@code{[} et @code{]}.

@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
{
  r4 r8[ g' a r8] r8 g[ | a] r8
}
@end lilypond


@commonprop

@funindex stemLeftBeamCount
@funindex stemRightBeamCount

LilyPond peut déterminer automatiquement les sous-groupes à
l'intérieur d'un groupement de notes, bien que le résultat ne soit pas 
toujours optimal.  Les propriétés @code{stemLeftBeamCount} et
@code{stemRightBeamCount} permettent alors
d'ajuster ce comportement.  Lorsque l'une ou l'autre de ces propriétés
est définie, elle ne s'applique qu'une seule fois, après quoi sa
définition est effacée.

@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
{
   f8[ r16
      f g a]
   f8[ r16
   \set stemLeftBeamCount = #1
      f g a]
}
@end lilypond

La propriété @code{subdivideBeams} sert à grouper les double-croches
ou les valeurs plus brèves pulsation par pulsation, la pulsation
étant définie par la propriété @code{beatLength}.

@lilypond[fragment,quote,relative=2,verbatim]
c16[ c c c c c c c]
\set subdivideBeams = ##t
c16[ c c c c c c c]
\set Score.beatLength = #(ly:make-moment 1 8)
c16[ c c c c c c c]
@end lilypond
@funindex subdivideBeams

@noindent
Pour plus d'information sur @code{make-moment}, voir
@ref{Time administration}.

Lorsqu'une ligature franchit une barre de mesure, le saut
de ligne est en principe interdit à cet endroit.  Ce comportement peut
être outrepassé en définissant @code{breakable}.

@funindex breakable

@cindex ligatures et sauts de ligne
@cindex ligatures coudées
@cindex auto-knee-gap

LilyPond insère automatiquement des ligatures coudées --- certaines
notes vers le haut, d'autres vers le bas --- lorsqu'il détecte un espace
important entre des têtes de notes. Ce comportement peut être changé par
l'intermédiaire de l'objet @code{auto-knee-gap}


@knownissues

Les ligatures coudées à cheval sur deux portées ne peuvent être
employées en même temps que des portées invisibles.  Voir
@ref{Hiding staves}.

@c Is this still true with skyline spacing stuff? -J.Mandereau
Les ligatures peuvent entrer en collision avec des symboles entourant
les notes, contrairement aux textes ou aux altérations.


@node Feathered beams
@unnumberedsubsubsec Feathered beams

Les ligatures en soufflet s'obtiennent en définissant la propriété
@code{grow-direction} d'une barre de ligature.  La fonction
@code{\featherDurations} sert à ajuster la durée des notes.

@lilypond[ragged-right,relative=1,fragment,verbatim,quote]
\override Beam #'grow-direction = #LEFT
\featherDurations #(ly:make-moment 5 4) 
{
  c16[ c c c c c c]
}
@end lilypond

@knownissues

La commande @code{\featherDurations} ne permet de traiter que de très
courts extraits.


@node Bars
@subsection Bars


@menu
* Bar lines::                   
* Bar numbers::                 
* Bar and bar number checks::   
* Rehearsal marks::             
@end menu

@node Bar lines
@unnumberedsubsubsec Bar lines

@cindex barres de mesure
@funindex \bar
@cindex barres de reprise


Les barres de mesures délimitent les mesures, mais peuvent aussi
indiquer une reprise. En principe, elles sont insérées automatiquement,
et les sauts de ligne ne peuvent avoir lieu qu'au niveau de ces barres.

Il est possible de forcer l'impression d'une barre de mesure spéciale,
avec la commande @code{\bar} :

@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
c4 \bar "|:" c4
@end lilypond


Les styles de barres de mesure disponibles sont

@c @lilypondfile[ragged-right,quote]{bar-lines.ly}


En plus de cela, on peut demander @code{"||:"}, qui équivaut à
@code{"|:"}, mais qui donnera, en cas de saut de ligne, une double barre
en fin de ligne, et une barre de reprise au début de la ligne suivante.

Il est possible d'autoriser un saut de ligne même s'il n'y a pas
de barre de mesure visible, en utilisant :

@example
\bar ""
@end example

@noindent


Ceci insérera une barre de mesure invisible, et permettra de sauter de
ligne à cet endroit, sans incrémenter le numéro de mesure.


Dans une partition comprenant plusieurs portées, la commande @code{\bar}
placée sur une portée s'applique automatiquement à toutes les
portées. Les barres de mesure que l'on obtient alors sont d'un seul
tenant sur les portées d'un @code{StaffGroup}, d'un @code{PianoStaff} ou
d'un @code{GrandStaff}.

@lilypond[quote,ragged-right,fragment,verbatim]
<<
  \new StaffGroup <<
    \new Staff {
      e'4 d'
      \bar "||"
      f' e'
    }
    \new Staff { \clef bass c4 g e g }
  >>
  \new Staff { \clef bass c2 c2 }
>>
@end lilypond


@commonprop

@funindex whichBar
@funindex repeatCommands
@funindex defaultBarType


La commande @code{\bar }@var{bartype} sert de raccourci pour @code{\set
Timing.whichBar = }@var{bartype}.  Dès que l'on définit @code{whichBar},
une barre de mesure est créée selon le style défini.


Dès que la propriété @code{whichBar} est définie, une barre de mesure
est créée.  À chaque début de mesure, elle prend la valeur de
@code{Timing.defaultBarType}.  La valeur de @code{repeatCommands} sert à
remplacer les barres de mesure par défaut.

Nous vous invitons à utiliser @code{\repeat} pour indiquer les
reprises. Voyez à ce sujet @ref{Repeats}.


@seealso

Dans ce manuel : @ref{Repeats}, @ref{Grouping staves}.

Référence du programme : @rinternals{BarLine} (faisant partie du
contexte @rinternals{Staff}), @rinternals{SpanBar} (sur plusieurs
portées).


@node Bar numbers
@unnumberedsubsubsec Bar numbers

@cindex Mesure, numéro de
@cindex numéros de mesure
@funindex currentBarNumber

Les numéros de mesure sont imprimés par défaut à chaque début de
ligne.  Ce nombre est stocké par la propriété @code{currentBarNumber}
qui sera mis à jour à chaque mesure.

@lilypond[verbatim,ragged-right,quote,fragment,relative]
\repeat unfold 4 {c4 c c c} \break
\set Score.currentBarNumber = #50
\repeat unfold 4 {c4 c c c}
@end lilypond

L'impression d'un numéro de mesure ne peut intervenir que s'il y a une
barre.  Aussi, pour pouvoir le faire au début d'un morceau,
devrez-vous ajouter une barre vide :

@lilypond[verbatim,ragged-right,quote,fragment,relative]
\set Score.currentBarNumber = #50
\bar ""
\repeat unfold 4 {c4 c c c} \break
\repeat unfold 4 {c4 c c c}
@end lilypond

Vous pouvez imprimer un numéro de mesure à intervalles réguliers plutôt
qu'en tête de chaque ligne.  C'est ce qu'illustre l'exemple suivant.

@lilypond[verbatim,ragged-right,quote,fragment,relative]
\override Score.BarNumber #'break-visibility = #'#(#f #t #t)
\set Score.currentBarNumber = #11
\bar ""  % Permit first bar number to be printed
% Print a bar number every second measure
\set Score.barNumberVisibility = #(every-nth-bar-number-visible 2)
c1 c c c c
\break
c c c c c
@end lilypond


Désactiver le graveur concerné --- @code{Bar_number_engraver} ---
donnera une partition sans numéros de mesure.

@lilypond[verbatim,ragged-right,quote]
\layout {
  \context {
    \Score
    \remove "Bar_number_engraver"
  }
}
\relative c''{
c4 c c c \break
c4 c c c
}
@end lilypond


@seealso

Référence du programme : @rinternals{BarNumber}.

Exemples : @rlsr{Staff notation}.


@knownissues

Les numéros de mesure peuvent entrer en collision avec les crochets de
@rinternals{StaffGroup}. La propriété @code{padding} --- décalage
--- de l'objet @rinternals{BarNumber} permet alors d'ajuster leur
positionnement. 


@node Bar and bar number checks
@unnumberedsubsubsec Bar and bar number checks

@cindex vérification des limites de mesure
@cindex mesures, vérification des limites
@funindex barCheckSynchronize
@funindex |

Les tests de limites de mesure (ou tests de mesure) aident à détecter
les erreurs dans les durées.  Un test de mesure s'écrit avec une barre
verticale, @samp{|}.  Lors du traitement, elle doit correspondre à une
barre de mesure.  Sinon, un avertissement est émis.  Dans l'exemple
suivant, le deuxième test de mesure signale une erreur.
@example
\time 3/4 c2 e4 | g2 |
@end example

Le test de mesure peut être aussi utilisé dans les paroles, par exemple :
@example
\lyricmode @{
 \time 2/4
 Twin -- kle | Twin -- kle
@}
@end example

Des durées incorrectes font échouer les tests de mesure, et peuvent
souvent mettre la partition sens dessus dessous, particulièrement s'il
s'agit de musique polyphonique.  Vérifier les tests de mesure qui ont
échoué et les durées incorrectes est un bon moyen de commencer à
corriger sa partition.

@funindex |
@funindex pipeSymbol

Il est aussi possible d'attribuer une autre valeur au symbole
@code{|}, en assignant une expression musicale à @code{pipeSymbol},

@lilypond[quote,ragged-right,verbatim]
pipeSymbol = \bar "||"

{ c'2 c' | c'2 c' }
@end lilypond


Lorsque l'on recopie de longues pièces, il peut être utile de vérifier
que les numéros de mesures de LilyPond correspondent à l'original que
l'on recopie.  Cela se fait avec @code{\barNumberCheck}.  Par exemple,

@verbatim
\barNumberCheck #123
@end verbatim

@noindent
affiche un avertissement lors du traitement si le numéro de mesure à ce
point (variable @code{currentBarNumber}) n'est pas 123.


@node Rehearsal marks
@unnumberedsubsubsec Rehearsal marks

@cindex Repères, indication de
@funindex \mark

Indiquer un repère s'obtient grâce à la commande @code{\mark}.

@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
c1 \mark \default
c1 \mark \default
c1 \mark #8
c1 \mark \default
c1 \mark \default
@end lilypond

@noindent
La lettre@tie{}@q{I} n'est pas utilisée, conformément aux usages de la
gravure.  Cependant, vous pourrez intégrer la lettre @q{I} en utilisant

@example
\set Score.markFormatter = #format-mark-alphabet
@end example

Lorsque vous utilisez @code{\mark \default}, le repère s'incrémente
automatiquement ; toutefois donner un nombre en argument permet de
spécifier manuellement le repère en question.  La valeur à utiliser
est enregistrée dans la propriété @code{rehearsalMark}.

Le style du repère est déterminé par la propriété
@code{markFormatter}.  Il s'agit d'une fonction qui prend en arguments
le repère en cours (un entier) ainsi que le contexte en cours, et
retournera un objet de type étiquette.  Dans l'exemple qui suit,
@code{markFormatter} est réglé pour une procédure type. Quelques
mesure plus loin, son comportement est modifié pour imprimer un
repère encadré.

@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
\set Score.markFormatter = #format-mark-numbers
c1 \mark \default
c1 \mark \default
\set Score.markFormatter = #format-mark-box-numbers
c1 \mark \default
c1 \mark \default
c1
@end lilypond

Le fichier @file{scm/@/translation@/-functions@/.scm} comporte les
définitions de @code{format-mark-numbers} (comportement par défaut), 
@code{format-mark-box-numbers},
@code{format-mark-letters} et @code{format-mark-box-letters}.  Vous
pouvez vous en inspirer pour d'autres fonctions de formatage.

@code{format-mark-barnumbers}, @code{format-mark-box-barnumbers} et 
@code{format-mark-circle-barnumbers}  permettent d'imprimer le numéro
de mesure au lieu des compteurs alphabétique ou numérique.

On peut aussi spécifier manuellement une marque de repère :

@example
\mark "A1"
@end example

@noindent
@code{Score.markFormatter} sera sans effet sur des repères ainsi
définis.  Un @code{\markup} peut néanmoins s'utiliser en argument.

@example
\mark \markup@{ \box A1 @}
@end example

@cindex segno
@cindex coda
@cindex D.S al Fine

Un @code{\mark} peut contenir un glype musical tel que le signe
@emph{segno}.  

@lilypond[fragment,quote,ragged-right,verbatim,relative]
c1 \mark \markup { \musicglyph #"scripts.segno" }
c1 \mark \markup { \musicglyph #"scripts.coda" }
c1 \mark \markup { \musicglyph #"scripts.ufermata" }
c1
@end lilypond

@noindent
Pour connaître les différents symboles accessibles par
@code{\musicglyph}, consultez @ref{The Feta font}.

Pour affiner le positionnement des repères, veuillez vous référer à
@ref{Text marks}.

@seealso

Dans ce manuel : @ref{Text marks}.

Référence du programme : @rinternals{RehearsalMark}.

Fichiers d'initialisation : @file{scm/@/translation@/-functions@/.scm}
contient les définitions de @code{format-mark-numbers} et
@code{format-mark-letters}.  Elles seront source d'inspiration pour
d'autres fonctions de formatage.

Exemples : @rlsr{Rhythms}, @rlsr{Expressive marks}.


@node Special rhythmic concerns
@subsection Special rhythmic concerns


@menu
* Grace notes::                 
* Aligning to cadenzas::        
* Time administration::         
@end menu

@node Grace notes
@unnumberedsubsubsec Grace notes

@funindex \grace
@cindex ornements
@cindex notes d'ornement
@cindex appoggiature
@cindex accacciature
@cindex petite note


Les petites notes sont des ornements entièrement écrits.  Les plus
courantes sont les accacciatures, qui doivent se jouer très vite,
et qui s'écrivent sous forme d'une petite note barrée (sur la hampe)
et liée.  L'appoggiature est une petite note non barrée, qui vole
une fraction à la durée de la note réelle qui la suit.

Ces petites notes sont entrées avec les commandes @code{\acciaccatura}
et @code{\appoggiatura}, comme le montre l'exemple suivant :

@lilypond[quote,ragged-right,relative=2,verbatim,fragment]
b4 \acciaccatura d8 c4 \appoggiatura e8 d4
\acciaccatura { g16[ f] } e4
@end lilypond


Ce sont là deux formes spéciales de la commande @code{\grace}, qui prend
en charge toutes les petites notes. Si on la fait suivre d'une
expression musicale, un groupe de petites notes sera créé, sans impact
sur la métrique.

@lilypond[quote,ragged-right,relative=2,verbatim,fragment]
c4 \grace c16 c4
\grace { c16[ d16] } c2 c4
@end lilypond

@noindent
Contrairement à @code{\acciaccatura} ou @code{\appoggiatura}, la 
commande @code{\grace} ne provoque pas de liaison.

La durée des petites notes est interprétée par le programme en fonction
d'un deuxième compteur de temps, le chronomètre @code{grace}.  Chaque
instant est défini par deux nombres rationnels : le premier compte les
durées réelles, le second compte la durée des petites notes.  Reprenons
l'exemple ci-dessus en y ajoutant ces couples de nombres :

@lilypond[quote,ragged-right]
<<
  \relative c''{
    c4 \grace c16 c4 \grace {
    c16[ d16] } c2 c4
  }
  \new Lyrics \lyricmode {
    \override LyricText #'font-family = #'typewriter

    \markup { (0,0) } 4
    \grace { \markup {
      ( \fraction 1 4 , \fraction -1 16 ) } 16 }
    \markup { (\fraction 1 4 , 0 ) } 4
    \grace {
      \markup { (\fraction 2 4 , \fraction "-1" 8 ) } 16
      \markup { (\fraction 2 4 , \fraction "-1" 16 ) } 16
    }
    \markup { ( \fraction 2 4 , 0 ) }
  }
>>
@end lilypond

Les petites notes se placent de façon synchrone entre les différentes
portées.  Dans l'exemple suivant, il y a deux petites double-croches
pour chaque petite croche.

@lilypond[quote,ragged-right,relative=2,verbatim,fragment]
<< \new Staff { e4 \grace { c16[ d e f] } e4 }
   \new Staff { c4 \grace { g8[ b] } c4 } >>
@end lilypond

@funindex \afterGrace

La commande @code{\afterGrace} sert à placer une petite note après une
note réelle --- et non @emph{avant} comme d'ordinaire.  Cette commande
requiert deux arguments : la note réelle, et la ou les petites notes qui
suivent.

@lilypond[ragged-right, verbatim,relative=2,fragment]
c1 \afterGrace d1 { c16[ d] } c4
@end lilypond

Les petites notes se placent alors aux 3/4 de la durée de la note
réelle.  Cette fraction peut être changée en définissant
@code{afterGraceFraction} ; ainsi,

@example
#(define afterGraceFraction (cons 7 8))
@end example

@noindent
placera la petite note à 7/8 de la note réelle.

On peut obtenir le même effet manuellement, de la façon suivante :

@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
\new Voice {
  << { d1^\trill_( }
     { s2 \grace { c16[ d] } } >>
  c4)
}
@end lilypond

@noindent
Le silence invisible peut être plus ou moins long --- ici c'est une
demi-pause --- afin d'ajuster l'espace entre la note réelle et les
petites notes.

Les expressions @code{\grace} obéissent à des règles typographiques
particulières, notamment pour régler l'orientation et la taille des
objets.  De ce fait, toute subtilité de mise en forme devra être
indiquée @emph{à l'intérieur} de l'expression introduite par
@code{\grace} :

@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
\new Voice {
  \acciaccatura {
    \stemDown
    f16->
    \stemNeutral
  }
  g4
}
@end lilypond

@noindent
Tous les réglages ajoutés doivent également être désactivés dans cette
même expression.

Il est possible de changer globalement la mise en forme des petites
notes dans un morceau, au moyen de la fonction
@code{add-grace-property}.  Ici, par exemple, on ôte la définition de
l'orientation des objets @code{Stem} pour toutes les petites notes, afin
que les hampes ne soient pas toujours orientées vers le haut.

@example
\new Staff @{
 #(add-grace-property 'Voice 'Stem 'direction '())
 @dots{}
@}
@end example

@noindent
Il est par ailleurs possible de modifier les variables
@code{startGraceMusic}, @code{stopGraceMusic},
@code{startAcciaccaturaMusic}, @code{stopAcciaccaturaMusic},
@code{startAppoggiaturaMusic}, et @code{stopAppoggiaturaMusic}.
Pour plus de détails, voir le fichier @file{ly/@/grace@/-init@/.ly}.

@noindent
Le trait que l'on trouve sur les hampes des accacciatures peut
être appliqué dans d'autres situations en définissant @*
@code{\override Stem  #'stroke-style = #"grace"}.


@commonprop

Il est possible de forcer l'élasticité de l'espacement des notes d'agrément.

@lilypond[verbatim,quote,relative=2]
<<
  \override Score.SpacingSpanner #'strict-grace-spacing = ##t
  \new Staff {
    c4
    \afterGrace c4 { c16[ c8 c16] }
    c4 r
  }
  \new Staff {
    c16 c c c c c c c c4 r
  }
>>
@end lilypond


@seealso

Référence du programme : @rinternals{GraceMusic}.


@knownissues

Une partition commençant par une expression @code{\grace} doit faire
intervenir la commande @code{\new Voice}, sans quoi la note réelle et
la petite note se retrouveront sur des portées différentes.

La synchronisation des petites notes se fait de façon parfois
surprenante, car les autres objets de la portée --- barres de mesure,
armures, etc. --- sont eux aussi synchrones. Pensez-y lorsque vous
mélez des portées comprenant des petites notes et d'autres sans :

@lilypond[quote,ragged-right,relative=2,verbatim,fragment]
<< \new Staff { e4 \bar "|:" \grace c16 d4 }
   \new Staff { c4 \bar "|:" d4 } >>
@end lilypond

@noindent
Il est possible de remédier à cela en insérant sur les autres portées
des silences invisibles dans une expression précédée de @code{\grace},
correspondant à la durée des petites notes.

@lilypond[quote,ragged-right,relative=2,verbatim,fragment]
<< \new Staff { e4 \bar "|:" \grace c16 d4 }
   \new Staff { c4 \bar "|:" \grace s16 d4 } >>
@end lilypond
 
Seules des expressions musicales séquentielles peuvent être utilisées
pour des petites notes ; il n'est pas possible d'imbriquer ni de
juxtaposer des sections de petites notes, faute de quoi le traitement du
code peut échouer ou produire des erreurs.


@node Aligning to cadenzas
@unnumberedsubsubsec Aligning to cadenzas

Dans un contexte orchestral, une cadence constitue un problème
spécifique.  Lors du montage d'une partition contenant une cadence,
tous les autres instruments doivent sauter autant de notes que ce
qu'en comporte la cadence, faute de quoi il démarreraient trop tôt ou
trop tard. 

Les fonctions @code{mmrest-of-length} ou @code{skip-of-length}
permettent de résoudre ce problème.  Ces fonctions Scheme prennent en
argument un fragment de musique, et génèrent un @code{\skip} ou un
silence multi-mesures d'une durée correspondant à ce fragment.
L'exemple qui suit illustre l'utilisation de @code{mmrest-of-length}. 

@lilypond[verbatim,ragged-right,quote]
cadenza = \relative c' {
  c4 d8 << { e f g } \\ { d4. } >>
  g4 f2 g4 g
}

\new GrandStaff <<
  \new Staff { \cadenza c'4 }
  \new Staff {
    #(ly:export (mmrest-of-length cadenza))
    c'4
  }
>>
@end lilypond


@node Time administration
@unnumberedsubsubsec Time administration

@cindex temps, gestion du

Le temps est administré par le @rinternals{Time_signature_engraver},
qui réside en principe dans le contexte @rinternals{Score}.  Sa
gestion traite les variables suivantes :

@table @code
@item currentBarNumber
Le numéro de mesure.

@item measureLength
La longueur de la mesure, dans la métrique en cours.  Pour une mesure
à 4/4, elle est de@tie{}1, et de 3/4 pour une mesure à 6/8.

@item measurePosition
Le moment où l'on en est dans la mesure en cours.  Cette quantité est
remise à@tie{}0 dès lors qu'on dépasse @code{measureLength} ; la variable
@code{currentBarNumber} est alors incrémentée.  

@item timing
Lorsqu'on lui assigne la valeur @emph{vrai}, les valeurs ci-dessus
mentionnées sont mises à jour à chaque pas.  Fixée à @emph{faux}, le
graveur restera indéfiniment dans la mesure en cours.
@end table

Le calage peut être modifié en réglant explicitement l'une de ces
variables.  Dans l'exemple qui suit, nous réglons la métrique à 4/4,
tout en fixant @code{measureLength} à 5/4.  Un peu plus loin, nous
raccourcissons la mesure de 1/8, en assignant 7/8 à
@code{measurePosition}, alors que nous en sommes à 2/4 dans la
mesure ; la barre de mesure tombera donc à @w{2/4 + 3/8}.  Les 3/8
résultent du fait que 5/4 équivaut à 10/8, mais nous nous sommes recalés
à 7/8 de la mesure ;  donc @w{10/8 @minus{} 7/8 = 3/8}.

@lilypond[quote,ragged-right,verbatim,relative,fragment]
\set Score.measureLength = #(ly:make-moment 5 4)
c1 c4
c1 c4
c4 c4
\set Score.measurePosition = #(ly:make-moment 7 8)
b8 b b
c4 c1
@end lilypond

@noindent
Comme le montre cet exemple, @code{ly:make-moment n m} construit une
durée de n/m fois une ronde.  
Par conséquent, @code{ly:make-moment 1 8} correspond à une croche, et
@code{ly:make-moment 7 16} à la durée de sept doubles croches.

