X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Ffr%2Fnotation%2Fchanging-defaults.itely;h=94a8f38739f66e37b46935a4c2a49c2b0864f9b6;hb=e7aa6c445f463844dbaa52d38ea4aac2882b5601;hp=af3905939ade8aee2e216c1d80bb4747e7aca1e3;hpb=aa44f5dbd4b713b33b43eeea957fc3c0055eeb49;p=lilypond.git diff --git a/Documentation/fr/notation/changing-defaults.itely b/Documentation/fr/notation/changing-defaults.itely index af3905939a..94a8f38739 100644 --- a/Documentation/fr/notation/changing-defaults.itely +++ b/Documentation/fr/notation/changing-defaults.itely @@ -1,14 +1,14 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: e6e64de1da49ff8c6005daa5fd81adc8387b2668 + Translation of GIT committish: d46572826e777ed3e9fa4656535a6e9000f2ed9e 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.20" +@c \version "2.19.2" @c Translators: Valentin Villenave, Jean-Charles Malahieude @c Translation checkers: Gilles Thibault @@ -120,6 +120,7 @@ remaining ones without further explanation and with links to the IR. 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:: @@ -127,6 +128,62 @@ Les contextes sont hiérarchisés : @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 @@ -139,8 +196,7 @@ tonalité ; c'est donc là qu'il faut s'assurer que les différents 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 @@ -186,7 +242,7 @@ plusieurs contextes @code{Voice}. De même nature qu'un @code{Staff}, mais destiné à n'imprimer que du rythme. Quelle que soit la hauteur, les notes seront imprimées sur une -même et unique ligne. +même et unique ligne ; la sortie MIDI rendra les hauteurs saisies. @strong{@emph{TabStaff}} @@ -853,6 +909,10 @@ indépendamment de la musique dans un bloc @code{\layout} -- placé dans 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 @{ @@ -1011,6 +1071,11 @@ la commande @code{\new} @var{type-de-contexte}. @} @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 @@ -1107,7 +1172,8 @@ 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}, +@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. @@ -1122,7 +1188,7 @@ Manuel de notation : @ref{Contextes de bas niveau -- les voix}, @ref{La commande de fixation (set)}, @ref{La commande de dérogation (override)}, -@ref{Le bloc \layout}. +@ref{Le bloc layout}. @node Définition de nouveaux contextes @@ -1166,7 +1232,7 @@ jazz. \consists "Pitch_squash_engraver" squashedPosition = #0 \override NoteHead.style = #'slash - \override Flag.transparent = ##t + \hide Flag \alias Voice } \context { \Staff @@ -1236,12 +1302,19 @@ aucune hampe : @example \override NoteHead.style = #'slash -\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" @@ -1259,7 +1332,7 @@ Récapitulons ; on se retrouve avec le bloc suivant : \consists "Pitch_squash_engraver" squashedPosition = #0 \override NoteHead.style = #'slash - \override Flag.transparent = ##t + \hide Flag \alias Voice @} @end example @@ -1314,8 +1387,12 @@ On peut alors saisir la musique, comme dans l'exemple plus haut : @} @end example -@seealso +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}, @@ -1342,33 +1419,43 @@ la « liste d'agréments » du contexte englobant se retrouveront en dessous de celui-ci au lieu d'y être imbriqués. La liste des « agréments » d'un contexte se gère à l'aide des -instructions @code{\accepts} et @code{\denies} -- @code{\accepts} pour +instructions @code{\accepts} ou @code{\denies} -- @code{\accepts} pour ajouter un contexte à la liste, et @code{\denies} pour retirer -l'agrément. Il est par exemple peu conventionnel que les accords nommés -apparaissent dans un contexte @code{Staff} ; autrement dit, le contexte -@code{ChordNames} ne fait pas partie de la « liste d'agréments » du -contexte @code{Staff} par défaut. Néanmoins, et s'il devait en être -ainsi, vous pourriez le spécifier. +l'agrément. + +Par exemple, on ne trouve normalement pas de portées regroupées par un +crochet au sein d'un groupe matérialisé par une accolade et des barres +d'un seul tenant ; un @code{GrandStaff} n'accepte donc pas, par défaut, +d'englober un @code{StaffGroup}. @lilypond[verbatim,quote] \score { - \new Staff { - c' d' e' f' - \chords { d1:m7 b1:min7.5- } - } + \new GrandStaff << + \new StaffGroup << + \new Staff { c'1 } + \new Staff { d'1 } + >> + \new Staff { \set Staff.instrumentName = bottom f'1 } + >> } @end lilypond +Néanmoins, et grâce à une instruction @code{\accepts}, un +@code{StaffGroup} peut se voir ajouté au contexte @code{GrandStaff} : + @lilypond[verbatim,quote] \score { - \new Staff { - c' d' e' f' - \chords { d1:m7 b1:min7.5- } - } + \new GrandStaff << + \new StaffGroup << + \new Staff { c'1 } + \new Staff { d'1 } + >> + \new Staff { \set Staff.instrumentName = bottom f'1 } + >> \layout { \context { - \Staff - \accepts "ChordNames" + \GrandStaff + \accepts "StaffGroup" } } } @@ -2505,20 +2592,69 @@ pour la première rencontrée dans le fichier source. @subsection @code{\set} ou @code{\override} @translationof set versus override -@c TODO -- This section is probably unnecessary now. +@c TODO -- Should't a bunch of that be explained earlier? -@ignore -Si les propriétés peuvent être modifiées de deux façons, par les -commandes @code{\set} et @code{\override}, c'est qu'il y a deux types de -propriétés. +@funindex \set +@funindex \override -La propriété @code{fontSize} est une exception : c'est un raccourci, qui -équivaudrait à saisir @w{@code{\override @dots{} #'font-size}} pour tous -les objets textuels. Dans la mesure où il s'agit d'une manipulation -très courante, une propriété spéciale a été créée. Elle doit être -modifiée avec la commande @code{\set}. +Les instructions @code{\set} et @code{\override} manipulent toutes deux +des propriétés associées à des contextes. Dans tous les cas, ces +propriétés tiennent compte de la hiérarchie des contextes : les +propriétés qui n'ont pas été définies dans le contexte lui-même +héritent des valeurs de leur contexte parent respectif. + +Les valeurs et durée de vie des propriétés d'un contexte sont dynamiques +et ne sont accessibles qu'au moment où la musique est interprétée. Lors +de la création d'un contexte, ses propriétés sont initialisées à partir +de la définition du contexte correspondant et de ses éventuelles +adaptations. Toute modification ultérieure ne sera obtenue que par des +commandes d'adaptation des propriétés, libellées au sein même de la +musique. + +Les définitions d'un objet graphique (@emph{graphical object} abrégé en +@emph{grob}) constituent une catégorie spécifique de propriétés de +contexte. Dans la mesure où leur structure, enregistrement et +utilisation diffèrent des propriétés de contextes habituelles, on ne +peut y accéder qu'à l'aide d'un jeu de commandes différent et font +l'objet d'un traitement à part au sein de la documentation. + +Contrairement aux propriétés de contextes habituelles, les définitions +de @emph{grob} sont subdivisées en propriétés de @emph{grob}. Un +@emph{grob} est créé par un graveur lors de l'interprétation d'une +expression musicale et reçoit ses propriétés initiales à partir de la +définition de @emph{grob} en cours dans le contexte du graveur. Le +graveur (ou tout autre « agent » de LilyPond) peut alors ajouter ou +modifier des propriétés à cet objet, sans pour autant affecter la +définition du @emph{grob} dans ce contexte. + +Ce que nous appelons « propriétés de @emph{grob} » dans le cadre +de l'affinage par l'utilisateur sont en fait les propriétés de la +définition d'un objet dans un contexte. Contrairement aux propriétés +de contexte habituelles, les définitions d'un @emph{grob} doivent être +enregistrées pour pouvoir garder trace de ses composants, les propriétés +individuelles du @emph{grob} (ainsi que leurs sous-propriétés), +séparément. Il sera dès lors possible de définir ces composants dans +différents contextes et ainsi disposer d'une définition globale du +@emph{grob} à l'instant où la création de cet objet assemblera les +éléments relatifs aux différents contextes attachés au contexte en cours +et à ses parents. + +Les définitions de @emph{grob} se manipulent à l'aide des commandes +@code{\override} et @code{\revert}, et leur nom commence par une +capitale (comme @samp{NoteHead}) alors que les propriétés de contexte +ordinaires -- elles commencent par une minuscule -- se manipulent avec +@code{\set} et @code{\unset}. + +@cindex tweak, relation avec @code{\override} +@funindex \tweak +@funindex \overrideProperty -@end ignore +Les instructions spéciales @code{\tweak} et @code{\overrideProperty} +modifient les propriétés de @emph{grob} en court-circuitant totalement +les propriétés de contexte. En fait, elles capturent les @emph{grobs} +au moment de leur création pour y injecter directement des propriétés soit +émanant d'un événement musical retouché, soit lorsqu'ils sont d'une +qualité particulière. @node Modification de listes associatives @@ -3337,6 +3473,8 @@ certains objets ; elles sont couvertes par une rubrique spécifique. @cindex stencil, suppression +@funindex \omit + Tout objet de rendu se voit attribuer une propriété @code{stencil}. Elle est par défaut définie par la fonction chargée de dessiner cet objet. Lorsque cette propriété est désactivée de force -- en lui @@ -3352,6 +3490,17 @@ a a a a a @end lilypond +Cette opération relativement courante fait l'objet du racourci +@code{\omit} : + +@lilypond[quote,verbatim,relative=1] +a1 a +\omit Score.BarLine +a a +\undo \omit Score.BarLine +a a a +@end lilypond + @node Transparence des objets @unnumberedsubsubsec Transparence des objets @@ -3359,6 +3508,8 @@ a a a @cindex transparent, objet +@funindex \hide + Tout objet de rendu dispose d'une propriété de transparence, qui est par défaut définie à @code{#f}. Le fait de l'activer rendra l'objet transparent tout en préservant la place qu'il occupe. @@ -3369,6 +3520,15 @@ a4 a a a @end lilypond +Cette opération relativement courante fait l'objet du racourci +@code{\hide} : + +@lilypond[quote,verbatim,relative=2] +a4 a +\once \hide NoteHead +a a +@end lilypond + @node Blanchiment des objets @unnumberedsubsubsec Blanchiment des objets @@ -3785,6 +3945,7 @@ approches permettant de fignoler l'apparence d'une partition. * Regroupement vertical d'objets graphiques:: * Modification des stencils:: * Modification de l'allure des éléments:: +* Modification de bandeaux avec rupture:: * Conteneurs requalifiants:: @end menu @@ -4066,13 +4227,13 @@ 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 aligned to right edge of the Clef +% The rehearsal mark will be aligned to the right edge of the Clef \override Score.RehearsalMark.break-align-symbols = #'(clef) \key a \major \clef treble \mark "↓" e1 -% The rehearsal mark will be centered above the Time Signature +% The rehearsal mark will be aligned to the left edge of the Time Signature \override Score.RehearsalMark.break-align-symbols = #'(time-signature) \key a \major \clef treble @@ -4304,7 +4465,7 @@ des plus heureuses, même en optant pour un @code{\tieDown}. @lilypond[verbatim,quote,relative=1] << - { e1~ e } + { e1~ 1 } \\ { r4 } >> @@ -4352,7 +4513,7 @@ de portée : << { \shape #'((0 . 0.5) (0 . 0.5) (0 . 0.5) (0 . 0.5)) Tie - e1~ e + e1~ 1 } \\ { r4 } @@ -4477,6 +4638,117 @@ Référence des propriétés internes : @rinternals{TieColumn}. +@node Modification de bandeaux avec rupture +@subsection Modification de bandeaux avec rupture +@translationof Modifying broken spanners + +@menu +* Utilisation de alterBroken:: +@end menu + +@node Utilisation de alterBroken +@unnumberedsubsubsec Utilisation de @code{@bs{}alterBroken} +@translationof Using alterBroken + +@cindex extenseur, modification +@cindex bandeau, modification +@cindex bandeau avec rupture, modification +@cindex extension avec rupture, modification +@funindex \alterBroken + +Lorsqu'un bandeau ou l'extension d'un objet rencontre un saut de ligne +ou une rupture, chacun de ses tronçons hérite des attributs de l'objet +originel. Par voie de conséquence, la modification d'une extension avec +rupture produira les mêmes effets sur chacun des segments. Dans +l'exemple ci-dessous, la modification apportée à @code{thickness} +s'applique aussi bien avant qu'après le saut de ligne. + +@lilypond[verbatim,quote,ragged-right,relative=2] +r2 +\once\override Slur.thickness = 10 +c8( d e f +\break +g8 f e d) r2 +@end lilypond + +La commande @code{\alterBroken} permet de modifier indépendamment +l'apparence de chacune des parties d'un bandeau. Selon le cas, cette +commande génèrera soit un @code{\override}, soit un @code{\tweak} qui +s'appliquera à la propriété du bandeau. + +La commande @code{\alterBroken} répond à la syntaxe : + +@example +[-]@code{\alterBroken} @var{propriété} @var{valeurs} @var{élément} +@end example + +L'argument @var{valeurs} est constitué d'une liste de valeurs, une pour +chaque tronçon. Lorsque @var{élément} est un nom d'objet graphique, +tels @code{Slur} ou @code{Staff.PianoPedalBracket}, il en résulte un +@code{\override} du type de @emph{grob} spécifié. Lorsque @var{élément} +est une expression musicale comme « ( » ou « [ », en résulte cette même +expression musicale à laquelle s'applique un @code{\tweak}. +@c closing ) and ] + +Le tiret introduisant la commande @code{\alterBroken} est impératif dans +le cadre d'un @code{\tweak} ; il est superflu pour un @code{\override}. + +Dans sa variante @code{\override}, la commande @code{\alterBroken} peut +se préfixer d'un @code{\once} ou d'un @code{\temporary} qui seront +annulés par un @code{\revert} suivi de la @var{propriété}. + +Le code ci-dessous applique un @code{\override} indépendant à chacun +des segments du phrasé de l'exemple précédent : + +@lilypond[verbatim,quote,ragged-right,relative=2] +r2 +\alterBroken thickness #'(10 1) Slur +c8( d e f +\break +g8 f e d) r2 +@end lilypond + +La commande @code{\alterBroken} peut s'utiliser avec tout objet étendu, +y compris @code{Tie}, @code{PhrasingSlur}, @code{Beam} et +@code{TextSpanner}. Par exemple, un éditeur préparant une édition +critique pourrait faire ressortir l'absence d'une partie de liaison de +phrasé dans l'une des sources, en optant pour un tracé pointillé du +seul segment ajouté. L'exemple ci-dessous illustre la manière de +procéder, ici avec la variante @code{\tweak} de la commande : + +@lilypond[verbatim,quote,ragged-right,relative=2] +% The empty list is conveniently used below, because it is the +% default setting of dash-definition, resulting in a solid curve. +c2-\alterBroken dash-definition #'(() ((0 1.0 0.4 0.75))) \(e +\break +g2 e\) +@end lilypond + +Il est important de considérer que @code{\alterBroken} affectera à +chaque portion d'un bandeau interrompu la valeur correspondante de +@var{valeurs}. Si d'aventure il y a moins de valeurs que de tronçons, +toute portion additionnelle se verra assigner une liste vide. Ceci peut +conduire à des résultats inattendus dans le cas où la propriété de rendu +ne bascule pas sur une liste vide par défaut. En pareil cas, chaque +segment devrait se voir assigner une valeur appropriée. + + +@knownissues +Les sauts de ligne peuvent intervenir à différents endroits pour +répondre à des modifications de mise en forme. Les réglages adoptés par +@code{\alterBroken} peuvent devenir inadaptés si le bandeau n'est plus +rompu ou est découpé en plus de segments que prévu. L'introduction +explicite d'un @code{\break} peut alors pallier ces situations. + +La commande @code{\alterBroken} est inopérante sur les propriétés d'un +bandeau qui sont traitées avant la procédure de saut de ligne, comme +@code{direction}. + +@seealso +Manuel d'extension : +@rextend{Retouches complexes}. + + @node Conteneurs requalifiants @subsection Conteneurs requalifiants @translationof Unpure-pure containers