@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
@ignore
- Translation of GIT committish: 42c7d5e4608340e96f2f1fe8210a47a2927e4cbb
+ Translation of GIT committish: 34f7824737173f1b485c8989dd0de6b45c8b7c2a
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.17.6"
+@c \version "2.17.30"
@c Translators: Valentin Villenave, Jean-Charles Malahieude
@c Translation checkers: Gilles Thibault
Les contextes sont hiérarchisés :
@menu
+* Définitions de la sortie -- hiérarchie des contextes::
* Score -- le père de tous les contextes::
* Contextes de haut niveau -- les systèmes::
* Contextes de niveau intermédiaire -- les portées::
@end menu
+@node Définitions de la sortie -- hiérarchie des contextes
+@unnumberedsubsubsec Définitions de la sortie -- hiérarchie des contextes
+@translationof Output definitions - blueprints for contexts
+
+Les lignes qui suivent traitent de l'intérêt des définitions de sorties
+lorsque l'on travaille avec les contextes. Des exemples de définitions
+seront présentés plus avant -- voir
+@ref{Modification de tous les contextes d'un même type}.
+
+@cindex définition de sortie
+@cindex sortie, définitions
+@funindex \layout
+
+Alors que la musique écrite dans un fichier fait référence à des types
+ou noms de contexte, les contextes ne sont effectivement créés que
+lorsque la musique est interprétée. LilyPond interprète la musique sous
+le contrôle d'une « définition de sortie », voire différemment selon
+le cas et génère ainsi différents résultats. La définition de sortie
+appropriée pour une sortie imprimable est spécifiée à l'aide d'un
+@code{\layout}.
+
+@funindex \midi
+
+Une définition de sortie beaucoup plus simple sera utilisée pour
+produire une sortie Midi, spécifiée à l'aide d'un @code{\midi}.
+LilyPond utilise en interne plusieurs autres définitions de sortie,
+notamment dans le cadre du combinateur automatique de parties (voir
+@ref{Regroupement automatique de parties}) ou la reproduction d'extraits
+(voir @ref{Citation d'autres voix}).
+
+Les définitions de sortie ont pour objet non seulement de définir la
+relation entre les contextes, mais aussi leurs réglages par défaut. Si
+la plupart des adaptations prennent habituellement place au seind d'un
+bloc @code{\layout}, les réglages affectant le Midi ne seront effectifs
+que s'ils interviennent au sein d'un bloc @code{\midi}.
+
+
+@funindex autoBeaming
+
+Certains réglages affectent plusieurs sorties : par exemple, lorsque
+@code{autoBeaming} est désactivé dans un contexte, les ligatures sont
+considérées comme marquant un mélisme dans le but de faire correspondre
+la musique aux paroles comme indiqué dans
+@ref{Durée automatique des syllabes}. Cette correspondance est
+respectée autant à l'écrit qu'à l'oral. Des modifications apportées à
+@code{autoBeaming} par une définition de contexte au sein d'un bloc
+@code{\layout} ne seront pas reportées dans le bloc @code{\midi}
+correspondant ; paroles et musique ne seront alors plus synchrones dans
+le fichier Midi.
+
+@seealso
+Fichiers d'initialisation :
+@file{ly/engraver-init.ly},
+@file{ly/performer-init.ly}.
+
+
@node Score -- le père de tous les contextes
@unnumberedsubsubsec Score -- le père de tous les contextes
@translationof Score - the master of all contexts
toutes les portées.
Dès lors que LilyPond rencontre un bloc @code{\score @{@dots{}@}}
-ou @code{\layout @{@dots{}@}}, se crée implicitement un contexte
-@code{Score}.
+se crée implicitement un contexte @code{Score}.
@node Contextes de haut niveau -- les systèmes
@unnumberedsubsubsec Contextes de bas niveau -- les voix
@translationof Bottom-level contexts - voices
-Les contextes de niveau @qq{voix} initialisent un certain nombre de
-propriétés et activent les graveurs appropriés. S'agissant de contextes
-du plus bas niveau, ils ne sauraient contenir d'autre contexte.
+Les contextes de niveau « voix » initialisent un certain nombre de
+propriétés et activent les graveurs appropriés. Un contexte de bas
+niveau est un contexte n'ayant aucun contexte enfant -- ou
+@code{defaultchild}. Bien qu'ils puissent accepter ou contenir des
+sous-contextes, ceux-ci devront être libellés et créés explicitement.
@strong{@emph{Voice}}
@example
\new Voice = "tenor" @var{musique}
-...
+@dots{}
\new Lyrics \lyricsto "tenor" @var{paroles}
@end example
@ref{Modification d'un contexte particulier}.
@seealso
-
Manuel d'initiation :
@rlearning{Organisation du code source avec des variables}.
à nouveau pour ce contexte précédemment actif.
Une exception cependant à cette règle : en présence d'un contexte
-@code{Staff} ou dans une construction @code{<<...>>}, un seul des
+@code{Staff} ou dans une construction @code{<< @dots{} >>}, un seul des
contextes @code{Voice} inclus restera actif jusqu'à la fin du contexte
-@code{Staff} ou de la construction @code{<<...>>}, y compris s'il y
+@code{Staff} ou de la construction @code{<< @dots{} >>}, y compris s'il y
a des @qq{trous}. Le contexte alors persistant sera le premier
-rencontré dans la construction @code{@{...@}} sans tenir compte des
-éventuels @code{<<...>>} qu'elle pourrait contenir.
+rencontré dans la construction @code{@{ @dots{} @}} sans tenir compte
+des éventuels @code{<< @dots{} >>} qu'elle pourrait contenir.
Un contexte restera actif dès lors qu'il s'y passera toujours quelque
chose. Un contexte @code{Staff} restera actif si l'une des voix qu'il
@emph{etc.}
@}
@{
- @emph{..musique..}
+ @emph{@dots{}musique@dots{}}
@}
@end example
\new Staff \with {
\consists "Timing_translator"
\consists "Default_bar_line_engraver"
- } {
+ }
+ \relative c'' {
\time 3/4
c4 c c c c c
}
\new Staff \with {
\consists "Timing_translator"
\consists "Default_bar_line_engraver"
- } {
+ }
+ \relative c'' {
\time 2/4
c4 c c c c c
}
le bloc @code{\score} auquel ces modifications doivent s'appliquer -- au
moyen d'un bloc @code{\context}.
+Les réglages dévolus à la sortie MIDI viendront quant à eux se placer
+dans un bloc @code{\midi} -- voir
+@ref{Définitions de la sortie -- hiérarchie des contextes}.
+
@example
\layout @{
\context @{
la commande @code{\new} @var{type-de-contexte}.
@example
-\new Staff
-\with @{
- [réglages pour ce contexte pris individuellement]
-@} @{
-...
+\new Staff \with @{ [réglages pour ce contexte pris individuellement] @}
+@{
+ @dots{}
@}
@end example
+Dans la mesure où une telle « modification de contexte » est spécifiée
+au sein même de la musique, ses effets toucheront @b{toutes} les sorties
+(imprimable @b{et} Midi), contrairement à ce qui se passe lorsque les
+adaptations sont réalisées dans la définition d'une sortie.
+
La spécification des adaptations peut se faire de différentes manières :
@itemize
@lilypond[quote,verbatim]
\score {
\new Staff {
- \new Voice
- \with {
- \override Stem.thickness = #4.0
- }
+ \new Voice \with { \override Stem.thickness = #4.0 }
{
\relative c'' {
a4^"Hampes épaisses" a a a
a4 a a a
}
}
- \new Staff
- \with {
- fontSize = #-4
- } {
+ \new Staff \with { fontSize = #-4 }
+ {
\relative c'' {
a4^"Smaller font" a a a
a4 a a a
}
}
}
- \new Staff
- \with { \accidentalStyle dodecaphonic }
+ \new Staff \with { \accidentalStyle dodecaphonic }
{
- \new Voice
- \with { \dynamicUp }
+ \new Voice \with { \dynamicUp }
{
\relative c'' {
a4^"Nuances en surplomb" a a a
@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},
+@code{\context} approprié le plus récent dans les blocs @code{\layout}
+ou @code{\midi},
@item
en l'absence de quoi s'appliqueront les réglages prédéfinis de LilyPond.
\consists "Pitch_squash_engraver"
squashedPosition = #0
\override NoteHead.style = #'slash
- \override Stem.transparent = ##t
- \override Flag.transparent = ##t
+ \hide Flag
\alias Voice
}
\context { \Staff
\name ImproVoice
@end example
-Comme il est très semblable à @code{Voice}, nous souhaitons que
-toutes les commandes associées au @code{Voice} déjà existant restent
-valables. D'où nécessité de la commande @code{\alias}, qui va
-l'associer au contexte @code{Voice} :
+Comme il est très semblable à un contexte @code{Voice}, nous
+souhaitons que toutes les commandes associées au @code{Voice} déjà
+existant restent valables. D'où nécessité de la commande
+@code{\alias}, qui va l'associer au contexte @code{Voice} :
@example
\alias Voice
@end example
Ce contexte doit pouvoir imprimer des notes et des indications
-textuelles ; on ajoute donc les graveurs appropriés :
+textuelles ; on ajoute donc les graveurs appropriés ainsi que celui
+dévolu au regroupement sous forme de colonne des notes, hampes et
+silences qui interviennent au même moment musical :
@example
\consists "Note_heads_engraver"
\consists "Text_engraver"
+\consists "Rhythmic_column_engraver"
@end example
-Cependant, on veut que les notes s'affichent toutes au centre de
-la portée :
+Toutes les notes devraient s'afficher au centre de la portée :
@example
\consists "Pitch_squash_engraver"
squashedPosition = #0
@end example
-Le graveur @rinternals{Pitch_squash_engraver} intercepte les notes
-créées par le @rinternals{Note_heads_engraver}, et les « écrase » pour
-qu'elles aient toutes la même position verticale, définie par
-@code{squashedPosition} : ici il s'agit de la valeur @code{0},
-c'est-à-dire la ligne du milieu.
+Le graveur @code{Pitch_squash_engraver} intercepte les notes créées par
+le @code{Note_heads_engraver}, et les « écrase » pour qu'elles aient
+toutes la même position verticale, définie par @code{squashedPosition} :
+ici il s'agit de la valeur @code{0}, c'est-à-dire la ligne du milieu.
On veut que les notes aient la forme d'une barre oblique, sans
aucune hampe :
@example
\override NoteHead.style = #'slash
-\override Stem.transparent = ##t
-\override Flag.transparent = ##t
+\hide Stem
@end example
-Afin que tous ces graveurs puissent travailler de concert, on leur
-adjoint un sous-programme spécial, introduit par la commande
-@code{\type} : il s'agit de @code{Engraver_group},
+Tous ces modules doivent communiquer sous le contrôle du contexte. Les
+mécanismes permettant aux contextes de communiquer sont établis dès lors
+que le mot-clé @code{\type} précède le contexte. La plupart des
+contextes mentionnés au sein d'un bloc @code{\layout} seront de type
+@code{Engraver_group}. Certains contextes spécifiques, ainsi que ceux
+mentionnés dans les blocs @code{\midi}, reposent sur d'autres types de
+contexte. Recopier un contexte préexistant pour en modifier la
+définition lui affecte le type adéquat. Dans la mesure où notre exemple
+consiste à créer une définition de toute pièce, son type doit être
+explicitement spécifié.
@example
\type "Engraver_group"
\type "Engraver_group"
\consists "Note_heads_engraver"
\consists "Text_engraver"
+ \consists "Rhythmic_column_engraver"
\consists "Pitch_squash_engraver"
squashedPosition = #0
\override NoteHead.style = #'slash
- \override Stem.transparent = ##t
- \override Flag.transparent = ##t
+ \hide Flag
\alias Voice
@}
@end example
Ce n'est pas tout. En effet, on veut intégrer le nouveau contexte
@code{ImproVoice} dans la hiérarchie des contextes. Tout comme le
contexte @code{Voice}, sa place est au sein du contexte @code{Staff}.
-Nous allons donc modifier le contexte @code{Staff},
+Nous allons donc modifier la définition du contexte @code{Staff},
au moyen de la commande @code{\accepts} :
@example
@}
@end example
+Pour être tout à fait complet, les modifications apportée à la
+hiérarchie des contextes devraient être répétés au niveau du bloc
+@code{\midi} de telle sorte que la sortie Midi dépende des mêmes
+relations.
+
+@seealso
+Référence des propriétés internes :
+@rinternals{Engraver_group},
+@rinternals{Note_heads_engraver},
+@rinternals{Text_engraver},
+@rinternals{Rhythmic_column_engraver},
+@rinternals{Pitch_squash_engraver}.
+
@node Ordonnancement des contextes
@subsection Ordonnancement des contextes
contexte @code{Staff} au sein duquel le contexte @code{VaticanaVoice} se
substitue au contexte @code{Voice} dans la « liste d'agrément ».
+@cindex contextes implicites
+@cindex implicites, contextes
+@funindex \defaultchild
+
Gardez à l'esprit que, face à une instruction qui ne s'appliquerait à
aucun contexte déjà existant, LilyPond créera un nouveau contexte
-implicite. Ceci peut engendrer une nouvelle portée ou une autre
-partition.
+implicite.
+
+Lors de la définition d'un contexte, les types de contextes
+sous-jascents susceptibles d'être créés implicitement sont spécifiés à
+l'aide d'une commande @code{\defaultchild}. Un certain nombre
+d'événements musicaux requièrent un contexte de plus bas niveau ; face à
+un tel événement, LilyPond crée autant de « sous-contextes » que
+nécessaire, jusqu'au contexte ne comportant aucun @emph{defaultchild}.
+
+La création implicite de contexte peut donc finir par engendrer de
+manière intempestive une nouvelle portée ou une autre partition.
+L'utilisation d'une instruction @code{\new} pour créer explicitement des
+contextes permet d'éviter ces problèmes.
@cindex alignAboveContext
@cindex alignBelowContext
Ce mode, activé par la commande @code{\markup}, permet d'interpréter les
saisies comme étant des @emph{markups} (annotations ou étiquettes) --
-voir @rusernamed{Text markup commands,Commandes pour le mode markup}.
+voir @ref{Commandes pour markup}.
@c silly work-around for texinfo broken-ness
@end ignore
@lilypond[verbatim,quote,relative=2]
-a~a
+a~ a
a
% increase the length of the tie
-\tweak minimum-length #5
-~a
+~ a
@end lilypond
@lilypond[verbatim,quote,relative=2]
d'articulation ou de phrasé.
@lilypond[verbatim,quote,relative=2]
-a( a)
+a( g)
a
-\tweak minimum-length #5
-( a)
+( g)
-a\( a\)
+a\( g\)
a
-\tweak minimum-length #5
-\( a\)
+\( g\)
@end lilypond
Certains objets requièrent un appel explicite à la procédure
@lilypond[quote,verbatim,relative=1]
a1 a
-\override Score.BarLine.stencil = ##f
+\omit Score.BarLine
a a
-\revert Score.BarLine.stencil
+\undo \omit Score.BarLine
a a a
@end lilypond
@lilypond[quote,verbatim,relative=2]
a4 a
-\once \override NoteHead.transparent = ##t
+\once \hide NoteHead
a a
@end lilypond
@item @code{KeySignature} @tab @code{Staff} @tab @code{begin-of-line-visible}
@c omit LeftEdge until it can be explained -td
@c @item @code{LeftEdge} @tab @code{Score} @tab @code{center-invisible}
-@item @code{OctavateEight} @tab @code{Staff} @tab @code{begin-of-line-visible}
+@item @code{ClefModifier} @tab @code{Staff} @tab @code{begin-of-line-visible}
@item @code{RehearsalMark} @tab @code{Score} @tab @code{end-of-line-invisible}
@item @code{TimeSignature} @tab @code{Staff} @tab @code{all-visible}
aucune. Vous devrez utiliser @code{begin-of-line-invisible} pour les
voir et @code{all-invisible} pour les masquer.
@item Armure -- voir ci-après.
-@item Indication d'octaviation -- voir ci-après.
+@item Modificateur de clef -- voir ci-après.
@end itemize
@unnumberedsubsubsec Considérations spécifiques
@translationof Special considerations
-@strong{@emph{Visibilité après changement explicite}}
+@subsubsubheading Visibilité après changement explicite
@cindex armure, visibilité après changement explicite
@cindex explicitKeySignatureVisibility
f4 g a b
@end lilypond
-@strong{@emph{Visibilité des altérations de précaution}}
+@subsubsubheading Visibilité des altérations de précaution
L'impression d'altérations de précaution au moment d'un changement
explicite de tonalité sera annulée dès lors que vous aurez désactivé la
@c TODO Add visibility of cautionary accidentals before notes
-@strong{@emph{Barres de mesure automatiques}}
+@subsubsubheading Barres de mesure automatiques
@cindex automaticBars
@cindex barres de mesure, suppression
@c TODO Add example
-@strong{@emph{Clefs octaviées}}
+@subsubsubheading Clefs transposées
-@cindex octaviation, visibilité de la clef
-@cindex visibilité d'un clef octaviée
-@cindex clef, visibilité de l'octaviation
+@cindex octaviation
+@cindex clef transposée, visibilité
+@cindex visibilité d'une clef transposée
+@cindex clef, visibilité de la transposition
-L'indication d'octaviation d'une clef est produite par l'objet de rendu
-@code{OctavateEight}. Sa visibilité étant gérée par héritage direct de
-l'objet @code{Clef}, nul n'est besoin de forcer un quelconque
-@code{break-visibility} au niveau des objets @code{OctavateEight} pour
-éliminer une indication d'octaviation lorsque la clef est invisible.
+L'indication de transposition d'une clef est produite par l'objet
+de rendu @code{ClefModifier}. Sa visibilité étant gérée par
+héritage direct de l'objet @code{Clef}, nul n'est besoin de forcer
+un quelconque @code{break-visibility} au niveau des objets
+@code{ClefModifier} pour éliminer une indication de transposition
+lorsque la clef est invisible.
Lors d'un changement explicite de clef, la propriété
@code{explicitClefVisibility} gère à la fois le symbole de la clef et
-l'indication d'octaviation qui lui est attachée.
+l'indication de transposition qui lui est attachée.
@seealso
Manuel d'initiation :
@ignore
-@c unnumberedsubsubsec Utilisation de @code{centered-on-parent}
+@unnumberedsubsubsec Utilisation de @code{centered-on-parent}
@c Cannot document as they do not seem to operate consistently on all objects -td
@c TODO investigate further
@code{custos}, @code{staff-bar}, @code{left-edge},
@code{key-cancellation}, @code{key-signature}, et @code{time-signature}.
-Ces indications et numéros de mesure sont par défaut centrés
-horizontalement au-dessus de l'objet :
+Chaque objet possède son propre point de référence par défaut, sur
+lequel viendra s'aligner les indications de repère :
@lilypond[verbatim,quote,relative=1]
-% The rehearsal mark will be centered above the Clef
+% The rehearsal mark will be aligned to right edge of the Clef
\override Score.RehearsalMark.break-align-symbols = #'(clef)
\key a \major
\clef treble
de mesure est invisible, à l'endroit même où la barre prendrait place.
@lilypond[verbatim,quote,relative=1]
-% The rehearsal mark will be centered above the Key Signature
+% The rehearsal mark will be aligned to the right edge of the Key Signature
\override Score.RehearsalMark.break-align-symbols = #'(key-signature clef)
\key a \major
\clef treble
\mark "↓"
e1
-% The rehearsal mark will be centered above the Clef
+% The rehearsal mark will be aligned to the right edge of the Clef
\set Staff.explicitKeySignatureVisibility = #all-invisible
\override Score.RehearsalMark.break-align-symbols = #'(key-signature clef)
\key a \major
plusieurs portées, ce réglage devra apparaître dans chacune des portées.
@lilypond[verbatim,quote,relative=1]
-% The RehearsalMark will be centered above the Key Signature
+% The RehearsalMark will be aligned with the right edge of the Key Signature
\override Score.RehearsalMark.break-align-symbols = #'(key-signature)
\key a \major
\clef treble
\time 4/4
\mark "↓"
e1
-% The RehearsalMark will be aligned with the left edge of the Key Signature
-\once \override Score.KeySignature.break-align-anchor-alignment = #LEFT
+% The RehearsalMark will be centered above the Key Signature
+\once \override Score.KeySignature.break-align-anchor-alignment = #CENTER
\mark "↓"
\key a \major
e1
-% The RehearsalMark will be aligned with the right edge of the Key Signature
-\once \override Score.KeySignature.break-align-anchor-alignment = #RIGHT
+% The RehearsalMark will be aligned with the left edge of the Key Signature
+\once \override Score.KeySignature.break-align-anchor-alignment = #LEFT
\key a \major
\mark "↓"
e1
@seealso
Manuel de notation :
-@ref{Text markup commands},
+@ref{Commandes pour markup},
@ref{Éléments graphiques dans du texte formaté},
@ref{La fonte Feta},
@ref{Mise en forme du texte}.
@example
fonction =
#(define-music-function
- (parser location @var{arg1} @var{arg2} @dots{})
- (@var{type1?} @var{type2?} @dots{})
+ (parser location @var{arg1} @var{arg2}@dots{})
+ (@var{type1?} @var{type2?}@dots{})
#@{
@var{@dots{}musique@dots{}}
#@})
\once \override TextScript.padding = #padding
#})
-\relative c''' {
+\relative c'' {
c4^"piu mosso" b a b
\padText #1.8
- c4^"piu mosso" d e f
+ c4^"piu mosso" b a b
\padText #2.6
- c4^"piu mosso" fis a g
+ c4^"piu mosso" b a b
}
@end lilypond