@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: 40c0295431d0732747d0e37b7911f03fb9daca16
+ Translation of GIT committish: f199e875f7a7beb0afd17eae2038819baab767ff
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.15.39"
+@c \version "2.16.0"
@c Translators: Valentin Villenave, Jean-Charles Malahieude
@c Translation checkers: Gilles Thibault
@knownissues
+L'ordre dans lequel les graveurs sont spécifiés correspond à leur ordre
+d'apparition dans le processus d'élaboration de la partition.
En règle générale, l'ordre dans lequel les graveurs sont mentionnés
importe peu. Il se peut toutefois qu'un graveur écrive une propriété
qui sera interprétée par un autre, ou qu'un graveur crée un objet
ces graveurs prendra alors tout son importance.
Pour information, les ordonnancements suivants sont importants :
-le @code{Bar_engraver} devrait toujours être le premier ; le
-@code{New_fingering_engraver} doit toujours précéder le
-@code{Script_column_engraver}. Nous vous conseillons, pour les autres,
-de vérifier les éventuelles dépendances.
+
+@itemize
+@item
+le @code{Bar_engraver} devrait toujours être le premier ;
+
+@item
+le @code{New_fingering_engraver} doit toujours précéder le
+@code{Script_column_engraver} ;
+
+@item
+le @code{Timing_translator} doit toujours précéder le
+@code{Bar_number_engraver}.
+
+@end itemize
+
+@seealso
+Fichiers d'initialisation :
+@file{ly/engraver-init.ly}.
@subsection Modification des réglages par défaut d'un contexte
@translationof Changing context default settings
+@cindex réglages par défaut, modification
+@cindex contexte, modification des propriétés par défaut
+
+Les propriétés des contextes et objets graphiques se modifient à l'aide
+des commandes @code{\set} et @code{\override}, comme indiqué à la
+rubrique @ref{Modification de propriétés}. Ces commandes créent des
+événements musicaux qui feront que la modification produira ses effets
+dès l'instant où la musique est traitée.
+
+Le propos est ici de voir comment modifier les valeurs @emph{par défaut}
+des propriétés de contexte ou d'objet graphique dès la création de ces
+contextes. Deux manières de procéder sont envisageables : l'une
+consiste à modifier les valeurs pour tous les contextes d'un même type,
+l'autre s'attache à adapter les valeurs par défaut d'une instance
+particulière d'un contexte.
+
+@menu
+* Modification de tous les contextes d'un même type::
+* Modification d'un contexte particulier::
+* Ordre de préséance::
+@end menu
+
+
+@node Modification de tous les contextes d'un même type
+@unnumberedsubsubsec Modification de tous les contextes d'un même type
+@translationof Changing all contexts of the same type
+
+@cindex \context dans un bloc \layout
+
+@funindex \context
+@funindex \layout
+
La personnalisation des réglages par défaut d'un contexte, qu'il
s'agisse de @code{Score}, @code{Staff} ou @code{Voice}, peut se réaliser
indépendamment de la musique dans un bloc @code{\layout} -- placé dans
le bloc @code{\score} auquel ces modifications doivent s'appliquer -- au
-moyen de la commande @code{\context}.
+moyen d'un bloc @code{\context}.
+
+@example
+\layout @{
+ \context @{
+ \Voice
+ [réglage de contexte pour tous les contextes @emph{Voice}]
+ @}
+ \context @{
+ \Staff
+ [réglage de contexte pour tous les contextes @emph{Staff}]
+ @}
+@}
+@end example
+
+La spécification des adaptations peut se faire de différentes manières :
-Point n'est besoin d'utiliser la commande @code{\set @var{contexte}}
-lorsque les réglages par défaut d'un contexte sont ainsi modifiés :
+@itemize
+@item
+à l'aide d'une commande @code{\override}, sans lui adjoindre le nom du
+contexte :
@c KEEP LY
@lilypond[quote,verbatim]
\score {
\relative c'' {
- a4^"Petite police, hampes épaisses, sans métrique" a a a
- a a a a
+ a4^"Hampes épaisses" a a a
+ a4 a a\ff a
}
\layout {
\context {
\Staff
- fontSize = #-4
\override Stem #'thickness = #4.0
- \remove "Time_signature_engraver"
}
}
}
@end lilypond
-Le raccourci @code{\Staff} invoque les définitions inhérentes au
-contexte @code{Staff}, de façon à ce qu'elles puissent être modifiées.
-Ces nouvelles spécifications affecteront toutes les portées (tous les
-contextes @code{Staff}) de ce bloc @code{\score}.
+@item
+en définissant directement une propriété de contexte :
+
+@c KEEP LY
+@lilypond[quote,verbatim]
+\score {
+ \relative c'' {
+ a4^"Fontes plus petites" a a a
+ a4 a a\ff a
+ }
+ \layout {
+ \context {
+ \Staff
+ fontSize = #-4
+ }
+ }
+}
+@end lilypond
-Les adaptations peuvent aussi bien se faire au niveau du contexte
-@code{Score} qu'au niveau de tous les contextes @code{Voice}.
-Il est possible de stocker des modifications de contexte dans un
-identificateur. Sa définition devra être précédée de l'instruction
-@code{\with}.
+@item
+à l'aide d'une commande prédéfinie comme @code{\dynamicUp}, ou bien une
+expression musicale telle que @code{\accidentalStyle "dodecaphonic"} :
+@c KEEP LY
@lilypond[quote,verbatim]
-blubb = \with {
- fontSize = #-4
- \override Stem #'thickness = #4.0
- \remove "Time_signature_engraver"
+\score {
+ \relative c'' {
+ a4^"Nuance en surplomb" a a a
+ a4 a a\ff a
+ }
+ \layout {
+ \context {
+ \Voice
+ \dynamicUp
+ }
+ \context {
+ \Staff
+ \accidentalStyle "dodecaphonic"
+ }
+ }
}
+@end lilypond
-bla = \with {
- fontSize = #3
- \override Stem #'thickness = #-2.0
-}
+@item
+à l'aide d'une variable personnalisée contenant un bloc @code{\with} :
+pour de plus amples iformations sur le bloc @code{\with}, voir
+@ref{Modification d'un contexte particulier}.
-melody = \relative c'' {
- a4 a a a |
- a4 a a a |
+@c KEEP LY
+@lilypond[quote,verbatim]
+StaffDefauts = \with {
+ fontSize = #-4
}
\score {
- <<
- \new Staff <<
- \melody
- s4^"Small, thicker stems, no time signature"
- >>
- \new Staff \bla <<
- \melody
- s4^"Different"
- >>
- >>
+ \new Staff {
+ \relative c'' {
+ a4^"Petite police" a a a
+ a4 a a a
+ }
+ }
\layout {
\context {
\Staff
- \blubb
+ \StaffDefauts
}
}
}
@end lilypond
-@c TODO: add \with in here.
+@end itemize
+
+Les instructions destinées à modifier les propriétés peuvent se placer
+dans un bloc @code{\layout} sans pour autant être incluses dans un bloc
+@code{\context}. Expliciter des réglages de la sorte équivaut à inclure
+les commandes de modification des propriétés au début de chacun des
+contextes du type en question. Lorsque le contexte n'est pas spécifié,
+@emph{tous} les contextes de bas niveau seront affectés -- voir
+@ref{Contextes de bas niveau -- les voix}. La syntaxe appropriée répond
+aux mêmes critères que si la commande était écrite dans le flot
+musical.
+
+@c KEEP LY
+@lilypond[quote,verbatim]
+\score {
+ \new Staff {
+ \relative c'' {
+ a4^"Petite police" a a a
+ a4 a a a
+ }
+ }
+ \layout {
+ \accidentalStyle "dodecaphonic"
+ \set fontSize = #-4
+ \override Voice.Stem #'thickness = #4.0
+ }
+}
+@end lilypond
+
+
+@node Modification d'un contexte particulier
+@unnumberedsubsubsec Modification d'un contexte particulier
+@translationof Changing just one specific context
+
+@cindex \with
+@funindex \with
+
+Dans le cas d'un contexte pris individuellement, ses propriétés se
+modifient à l'aide d'un bloc @code{\with}. Toutes les autres instances
+de contexte appartenant au même type seront affectés des réglages
+prédéfinis par LilyPond, modifiés le cas échéant par un bloc
+@code{\layout}. Le bloc @code{\with} se place directement à la suite de
+la commande @code{\new} @var{type-de-contexte}.
+
+@example
+\new Staff
+\with @{
+ [réglages pour ce contexte pris individuellement]
+@} @{
+...
+@}
+@end example
+
+La spécification des adaptations peut se faire de différentes manières :
+
+@itemize
+@item
+à l'aide d'une commande @code{\override}, sans lui adjoindre le nom du
+contexte :
+
+@c KEEP LY
+@lilypond[quote,verbatim]
+\score {
+ \new Staff {
+ \new Voice
+ \with {
+ \override Stem #'thickness = #4.0
+ }
+ {
+ \relative c'' {
+ a4^"Hampes épaisses" a a a
+ a4 a a a
+ }
+ }
+ }
+}
+@end lilypond
+
+@item
+en définissant directement une propriété de contexte :
+
+@lilypond[quote,verbatim]
+\score {
+ <<
+ \new Staff {
+ \relative c'' {
+ a4^"Default font" a a a
+ a4 a a a
+ }
+ }
+ \new Staff
+ \with {
+ fontSize = #-4
+ } {
+ \relative c'' {
+ a4^"Smaller font" a a a
+ a4 a a a
+ }
+ }
+ >>
+}
+@end lilypond
+
+@item
+à l'aide d'une commande prédéfinie comme @code{\dynamicUp} :
+
+@c KEEP LY
+@lilypond[quote,verbatim]
+\score {
+ <<
+ \new Staff {
+ \new Voice {
+ \relative c'' {
+ a4^"Nuances en dessous" a a a
+ a4 a a\ff a
+ }
+ }
+ }
+ \new Staff
+ \with { \accidentalStyle "dodecaphonic" }
+ {
+ \new Voice
+ \with { \dynamicUp }
+ {
+ \relative c'' {
+ a4^"Nuances en surplomb" a a a
+ a4 a a\ff a
+ }
+ }
+ }
+ >>
+}
+@end lilypond
+
+@end itemize
+
+
+@node Ordre de préséance
+@unnumberedsubsubsec Ordre de préséance
+@translationof Order of precedence
+
+La valeur d'une propriété qui doit s'appliquer à un instant particulier
+est déterminée comme suit :
+
+@itemize
+@item
+s'il y a une instruction @code{\override} ou @code{\set} active dans le
+flot d'information, sa valeur s'applique,
+
+@item
+en l'absence de quoi sera utilisée la valeur par défaut telle que
+définie dans une clause @code{\with} stipulée à l'initialisation du
+contexte,
+
+@item
+en l'absence de quoi sera retenue la valeur par défaut issue du bloc
+@code{\context} approprié le plus récent dans le bloc @code{\layout},
+
+@item
+en l'absence de quoi s'appliqueront les réglages prédéfinis de LilyPond.
+@end itemize
+
+@seealso
+Manuel d'initiation :
+@rlearning{Modification des propriétés d'un contexte}.
+
+Manuel de notation :
+@ref{Tout savoir sur les contextes},
+@ref{Contextes de bas niveau -- les voix},
+@ref{La commande de fixation (set)},
+@ref{La commande de dérogation (override)},
+@ref{Le bloc \layout}.
@node Définition de nouveaux contextes
\consists "Note_heads_engraver"
\consists "Rhythmic_column_engraver"
\consists "Text_engraver"
- \consists Pitch_squash_engraver
+ \consists "Pitch_squash_engraver"
squashedPosition = #0
\override NoteHead #'style = #'slash
\override Stem #'transparent = ##t
textuelles ; on ajoute donc les graveurs appropriés :
@example
-\consists Note_heads_engraver
-\consists Text_engraver
+\consists "Note_heads_engraver"
+\consists "Text_engraver"
@end example
Cependant, on veut que les notes s'affichent toutes au centre de
la portée :
@example
-\consists Pitch_squash_engraver
+\consists "Pitch_squash_engraver"
squashedPosition = #0
@end example
\type "Engraver_group"
\consists "Note_heads_engraver"
\consists "Text_engraver"
- \consists Pitch_squash_engraver
+ \consists "Pitch_squash_engraver"
squashedPosition = #0
\override NoteHead #'style = #'slash
\override Stem #'transparent = ##t
Tous les éléments de notation sont considérés comme des objets
graphiques (en anglais @emph{Graphical Object}, d'où le diminutif
@emph{Grob}). Chaque objet est doté d'un certain nombre de propriétés
-(l'épaisseur du trait, l'orientation etc.), et lié à d'autres objets.
+(l'épaisseur du trait, l'orientation, etc.), et lié à d'autres objets.
Le fonctionnement de ces objets est décrit en détail dans
@rinternals{grob-interface}.
@cindex points de contrôle et tweak
Lorsqu'il y a plusieurs liaisons de prolongation dans un accord, la
-commande @code{\tweak} ne s'applique qu'à la première.
+commande @code{\tweak} ne permet de modifier les points de contrôle que
+pour la première rencontrée dans le fichier source.
@node set ou override
@warning{Les déclarations imbriquées ne sont pas fonctionnelles dans le
cas des listes associatives des propriétés de contexte -- telles
@code{beamExceptions}, @code{keySignature},
-@code{timeSignatureSettings}, etc. Ces propriétés ne sont modifiables
+@code{timeSignatureSettings}, etc. Ces propriétés ne sont modifiables
qu'au travers d'une complète redéfinition de leur liste associative.}
Le mode notes est le mode par défaut dans LilyPond. Il peut aussi
s'activer par la commande @code{\notemode}. Les saisies seront
-interprétées comme étant des hauteurs, durées, @emph{markups} etc. qui
+interprétées comme étant des hauteurs, durées, @emph{markups}, etc. qui
seront rendues sous forme de notation musicale sur une portée.
Nul n'est besoin de spécifier le mode notes de manière explicite, hormis
@file{scm/output-lib.scm}. Le tableau suivant vous les présente ;
les trois dernières colonnes indiquent l'endroit où l'objet sera visible.
-@multitable {@code{begin-of-line-invisible}} {@code{'#(#t #t #t. )}} {apres} {apres} {apres}
+@multitable {@code{begin-of-line-invisible}} {@code{'#(#t #t #t)}} {apres} {apres} {apres}
@headitem Forme @tab Forme @tab Avant @tab Hors @tab Après
@headitem fonctionnelle @tab vectorielle @tab saut @tab saut @tab saut
puis @code{VerticalAlignment} synchronise verticalement ces différents
groupes. En général, il n'y a qu'un seul @code{VerticalAlignment} pour
l'ensemble de la partition, mais chaque contexte @code{Staff},
-@code{Lyrics} etc. possède son propre @code{VerticalAxisGroup}.
+@code{Lyrics}, etc. possède son propre @code{VerticalAxisGroup}.
@node Modification des stencils
\new Voice \with { \remove "Stem_engraver" }
\relative c'' {
\squareLineCircleSpace
- cis4 ces cisis c
+ cis4 ces disis d
\smartSquareLineCircleSpace
- cis4 ces cisis c
+ cis4 ces disis d
}
@end lilypond
@item @code{@var{@dots{}musique@dots{}}}
@tab du code LilyPond tout ce qu'il y a de plus ordinaire, avec des
@code{$} (là où seule une construction LilyPond est autorisée) et des
-@code{#} (lorsqu'il s'agit d'une valeur en Scheme ou d'un argument de
-fonction musicale) pour référencer les arguments (par ex. @samp{#arg1}).
+@code{#} (lorsqu'il s'agit d'une valeur en Scheme, d'un argument de
+fonction musicale ou de musique faisant partie d'une liste) pour
+référencer les arguments (par ex. @samp{#arg1}).
@end multitable
Les arguments @code{parser} et @code{location} sont obligatoires ;
\tweak NoteHead #'text
\markup \musicglyph #"custodes.mensural.u0"
\tweak Stem #'stencil ##f
- $note
+ #note
#})
\relative c' { c4 d e f \custosNote g }