@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: e0f3be42e16458e44183c142561ccdd05aa1bfb9
+ 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'
@ref{Retouches avancées avec Scheme}.
@lilypond[quote,verbatim,ragged-right]
-mpdolce =
-#(make-dynamic-script
- #{ \markup { \hspace #0
- \translate #'(5 . 0)
- \line { \dynamic "mp"
- \text \italic "dolce" } }
- #})
+mpdolce = -\tweak #'self-alignment-X #-0.6 #
+ (make-dynamic-script
+ (markup #:dynamic "mp"
+ #:normal-text #:italic "dolce" ))
inst =
#(define-music-function
@example
%%% enregistrez ceci dans un fichier nommé "definitions.ily"
-mpdolce =
-#(make-dynamic-script
- #@{ \markup @{ \hspace #0
- \translate #'(5 . 0)
- \line @{ \dynamic "mp"
- \text \italic "dolce" @} @}
- #@})
+mpdolce = -\tweak #'self-alignment-X #-0.6 #
+ (make-dynamic-script
+ (markup #:dynamic "mp"
+ #:normal-text #:italic "dolce" ))
inst =
#(define-music-function
@end example
@lilypond[quote,ragged-right]
-mpdolce =
-#(make-dynamic-script
- #{ \markup { \hspace #0
- \translate #'(5 . 0)
- \line { \dynamic "mp"
- \text \italic "dolce" } }
- #})
+mpdolce = -\tweak #'self-alignment-X #-0.6 #
+ (make-dynamic-script
+ (markup #:dynamic "mp"
+ #:normal-text #:italic "dolce" ))
inst =
#(define-music-function
@example
%%% definitions.ily
-mpdolce =
-#(make-dynamic-script
- #@{ \markup @{ \hspace #0
- \translate #'(5 . 0)
- \line @{ \dynamic "mp"
- \text \italic "dolce" @} @}
- #@})
+mpdolce = -\tweak #'self-alignment-X #-0.6 #
+ (make-dynamic-script
+ (markup #:dynamic "mp"
+ #:normal-text #:italic "dolce" ))
inst =
#(define-music-function
@end example
@lilypond[quote,ragged-right]
-mpdolce =
-#(make-dynamic-script
- #{ \markup { \hspace #0
- \translate #'(5 . 0)
- \line { \dynamic "mp"
- \text \italic "dolce" } }
- #})
+mpdolce = -\tweak #'self-alignment-X #-0.6 #
+ (make-dynamic-script
+ (markup #:dynamic "mp"
+ #:normal-text #:italic "dolce" ))
inst =
#(define-music-function
@example
%%% web-publish.ily
-mpdolce =
-#(make-dynamic-script
- #@{ \markup @{ \hspace #0
- \translate #'(5 . 0)
- \line @{ \dynamic "mp"
- \text \italic "dolce" @} @}
- #@})
+mpdolce = -\tweak #'self-alignment-X #-0.6 #
+ (make-dynamic-script
+ (markup #:dynamic "mp"
+ #:normal-text #:italic "dolce" ))
inst =
#(define-music-function
@end example
@lilypond[quote,ragged-right]
-mpdolce =
-#(make-dynamic-script
- #{ \markup { \hspace #0
- \translate #'(5 . 0)
- \line { \dynamic "mp"
- \text \italic "dolce" } }
- #})
+mpdolce = -\tweak #'self-alignment-X #-0.6 #
+ (make-dynamic-script
+ (markup #:dynamic "mp"
+ #:normal-text #:italic "dolce" ))
inst =
#(define-music-function
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: e6e64de1da49ff8c6005daa5fd81adc8387b2668
+ 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'
styles actuellement pris en charge sont @code{default} et
@code{mensural}.
-@lilypond[quote,fragment,ragged-right,verbatim]
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
\override Flag.style = #'mensural
\override Stem.thickness = #1.0
\override NoteHead.style = #'mensural
\autoBeamOff
-c'8 d'8 e'8 f'8 c'16 d'16 e'16 f'16 c'32 d'32 e'32 f'32 s8
-c''8 d''8 e''8 f''8 c''16 d''16 e''16 f''16 c''32 d''32 e''32 f''32
+c8 d e f c16 d e f c32 d e f s8
+c'8 d e f c16 d e f c32 d e f
@end lilypond
Notez que, pour chaque crochet mensural, l'extrémité la plus proche de
-la tête de note sera toujours attachée à une ligne de la portée.
+la tête de note sera attachée à une ligne de la portée.
Il n'existe pas de crochet spécifique au style néomensural.
-@c Nous vous conseillons donc, lorsque vous réalisez l'incipit d'une
-@c transcription, d'utiliser le style par défaut.
Les crochets n'existent pas en notation grégorienne.
@rglos{flag}.
@knownissues
-Les crochets anciens s'attachent aux hampes avec un léger décalage.
-@c suite à des modifications intervenues au début de la série 2.3.
-
L'alignement vertical des crochets par rapport aux lignes de la portée
sous-entend que les hampes se terminent toujours soit sur une ligne,
soit à l'exact milieu d'un interligne. Ceci n'est pas toujours
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: e6e64de1da49ff8c6005daa5fd81adc8387b2668
+ 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'
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
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 @{
@}
@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
@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.
@example
\override NoteHead.style = #'slash
-\override Flag.transparent = ##t
+\override Stem.transparent = ##t
@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"
@}
@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},
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: e6e64de1da49ff8c6005daa5fd81adc8387b2668
+ 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'
@code{\xNotesOn} et @code{\xNotesOff}, les commandes
@code{\deadNote}, @code{\deadNotesOn} et @code{\deadNotesOff}.
-Il existe un raccourci pour les notes en losange qui indiquent les
-harmoniques des cordes :
+Il existe un raccourci pour les notes en losange :
@lilypond[verbatim,quote,relative=2]
-<c f\harmonic>2 <d a'\harmonic>4 <c g'\harmonic>
+<c f\harmonic>2 <d a'\harmonic>4 <c g'\harmonic> f\harmonic
@end lilypond
@predefined
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: e6e64de1da49ff8c6005daa5fd81adc8387b2668
+ 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'
c4_"Text"\pp % now they will collide
@end lilypond
-Le décalage vertical entre un objet extérieur à la portée et celui qui
-le précède se contrôle par la propriété @code{outside-staff-padding}.
+Le décalage vertical entre des objets extérieurs à la portée se contrôle
+par la propriété @code{outside-staff-padding}.
@c KEEP LY
@lilypond[quote,ragged-right,relative=2,verbatim,staffsize=18]
\once \override TextScript.outside-staff-padding = #0
-a'^"Ce texte est placé au plus près de la note"
+a'4-"outside-staff-padding = #0"
\once \override TextScript.outside-staff-padding = #3
-c^"Ce texte est décalé par rapport au texte précédent"
-c^"Ce texte est accolé au texte précédent"
+d-"outside-staff-padding = #3"
+c-"outside-staff-padding par défaut"
+b-"outside-staff-padding par défaut"
+R1
@end lilypond
Par défaut, les objets extérieurs à la portée sont positionnés en
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: b7cb11ea159572f2dc55b405db01a06c4dccea7d
+ 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'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: e0f3be42e16458e44183c142561ccdd05aa1bfb9
+ 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'
* Positionnement horizontal des syllabes::
* Paroles et reprises::
* Paroles alternatives::
+* Polyphonie et paroles communes::
@end menu
@ref{Polyphonie sur une portée}.
+@node Polyphonie et paroles communes
+@unnumberedsubsubsec Polyphonie et paroles communes
+@translationof Polyphony with shared lyrics
+
+@cindex NullVoice
+@cindex polyphonie, mêmes paroles
+@cindex paroles communes à plusieurs voix
+@cindex \partcombine et paroles
+@funindex \partcombine
+
+Lorsque deux voix au rythme différent partagent les mêmes paroles,
+l'alignement des syllabes sur l'une des voix peut gêner la lecture de
+l'autre voix. Par exemple, la deuxième extension de syllabe ci-dessous
+est trop courte puisque les paroles ne sont alignées que sur la voix du
+haut :
+
+@lilypond[quote,verbatim]
+soprano = \relative { b'8( c d c) d2 }
+alto = \relative { g'2 b8( a g a) }
+words = \lyricmode { la __ la __ }
+
+\new Staff <<
+ \new Voice = "sopranoVoice" { \voiceOne \soprano }
+ \new Voice { \voiceTwo \alto }
+ \new Lyrics \lyricsto "sopranoVoice" \words
+>>
+@end lilypond
+
+Le résultat attendu sera obtenu grâce à l'alignement des paroles sur un
+contexte @code{NullVoice} supplémentaire, celui-ci contenant une
+combinaison judicieuse des deux voix. Les notes du contexte
+@code{NullVoice}, bien que n'apparaissant pas sur la version imprimable,
+peuvent servir à aligner correctement les syllabes :
+
+@lilypond[quote,verbatim]
+soprano = \relative { b'8( c d c) d2 }
+alto = \relative { g'2 b8( a g a) }
+aligner = \relative { b'8( c d c) b( a g a) }
+words = \lyricmode { la __ la __ }
+
+\new Staff <<
+ \new Voice { \voiceOne \soprano }
+ \new Voice { \voiceTwo \alto }
+ \new NullVoice = "aligner" \aligner
+ \new Lyrics \lyricsto "aligner" \words
+>>
+@end lilypond
+
+Le contexte @code{NullVoice} doit prendre place dans un contexte
+@code{Staff} et ne saurait contenir que des notes déjà présentes sur la
+portée en question, au même octave. Dans le cas contraire, ce
+@code{NullVoice} pourrait interagir avec les autres voix imprimées de
+façon inopinée. Par exemple, des notes arbitraires dans un
+@code{NullVoice} pourraient entraîner l'apparition ou la disparition
+d'altérations sur la portée considérée.
+
+Cette faàon de procéder permet par ailleurs d'utiliser la fonction
+@code{\partcombine} qui normalement ne peut s'utiliser avec des
+paroles :
+
+@lilypond[quote,verbatim]
+soprano = \relative { b'8( c d c) d2 }
+alto = \relative { g'2 b8( a g a) }
+aligner = \relative { b'8( c d c) b( a g a) }
+words = \lyricmode { la __ la __ }
+
+\new Staff <<
+ \new Voice \partcombine \soprano \alto
+ \new NullVoice = "aligner" \aligner
+ \new Lyrics \lyricsto "aligner" \words
+>>
+@end lilypond
+
+@noindent
+La fonction @code{\partcombine} est abordée en détails dans
+@ref{Regroupement automatique de parties}.
+
+Pour finir, cette méthode est aussi utilkisable lorsque les voix sont
+sur des portées différentes, et ne se limite pas à deux voix :
+
+@lilypond[quote,verbatim]
+soprano = \relative { b'8( c d c) d2 }
+altoOne = \relative { g'2 b8( a b4) }
+altoTwo = \relative { d'2 g4( fis8 g) }
+aligner = \relative { b'8( c d c) d( d d d) }
+words = \lyricmode { la __ la __ }
+
+\new ChoirStaff <<
+ \new Staff <<
+ \soprano
+ \new NullVoice = "aligner" \aligner
+ >>
+ \new Lyrics \lyricsto "aligner" \words
+ \new Staff \partcombine \altoOne \altoTwo
+>>
+@end lilypond
+
+Vous aurez remarqué que, dans la deuxième partie de la mesure ci-dessus,
+les notes du contexte @code{NullVoice} reprennent le rythme de la portée
+inférieure sans pour autant dévier une seule fois des hauteurs affichées
+dans la voix à laquelle ce @code{NullVoice} est attaché. Bien que ce ne
+soit pas nécessaire dans le cadre de cet exemple particulier, nous vous
+conseillons de saisir les notes d'un @code{NullVoice} de cette manière.
+
+
@node Couplets
@subsection Couplets
@translationof Stanzas
+++ /dev/null
-%% Translation of GIT committish: 4d1502a7f3c7929e30da8f35a1d177b19eb34f89
- texidocfr = "
-Les indications textuelles peuvent s'aligner par rapport à d'autres
-objets que des barres de mesure, tels que @code{ambitus},
-@code{breathing-sign}, @code{clef}, @code{custos}, @code{staff-bar},
-@code{left-edge}, @code{key-cancellation}, @code{key-signature} ou
-@code{time-signature}.
-
-Par défaut, les indications textuelles sont alignées sur le milieu
-des objets de notation. Bien entendu, vous pouvez modifier les
-propriétés des objets en question pour obtenir un autre résultat comme
-l'illustre la deuxième ligne de l'exemple. Dans le cas de portées
-multiples, ces réglages doivent être faits pour chacune d'entre elles.
-
-"
- doctitlefr = "Alignement des indications par rapport à divers objets de notation"
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: bd751630011a6fbfcf069ec1fc41a8eaed8a6b87
+ 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'
LilyPond, les accents et les lettres non anglaises étaient entrées en
utilisant @LaTeX{} -- par exemple, @code{No\"el}. À partir de la
version 2.6, le caractère @code{ë} doit être entré directement dans
-le fichier LilyPond comme caractère UTF-8. @code{convert-ly} ne peut
-pas changer tous les caractères @LaTeX{} en caractères UTF-8 ; vous
+le fichier LilyPond comme caractère UTF-8. @command{convert-ly} ne
+peut pas changer tous les caractères @LaTeX{} en caractères UTF-8 ; vous
devez mettre à jour vos vieux fichiers LilyPond manuellement.
+Les règles de conversion de @command{convert-ly} reposent sur la
+recherche et le remplacement de motifs textuels plutôt que sur les
+capacités intellectuelles de LilyPond, en conséquence de quoi :
+
+@itemize @bullet
+@item
+La fiabilité de la conversion dépend de la qualité même de chaque jeu de
+règles ainsi que sur la complexité des modifications respectives à
+apporter. Certaines conversions peuvent donc requérir une intervention
+manuelle ; la version de « départ » devrait toujours rester disponible
+pour comparaison.
+
+@item
+Seules des conversions à un format plus récent sont possibles ; aucune
+règle ne permet de revenir en arrière. La copie de travail d'un fichier
+LilyPond ne devrait donc être mise à jour que lorsque la version sur
+laquelle il repose n'est plus disponible. Des système de gestion de
+version tels que Git permettent de se tenir à jour sur plusieurs
+versions.
+
+@item
+LilyPond, ainsi que Scheme, gèrent plutôt bien l'emplacement ou
+l'absence d'espaces ; les règles utilisées par @command{convert-ly}
+tendent cependant à effectuer certains postulats en matière de style.
+Suivre le style adopté dans les différent manuels est un gage de mise à
+jour sans problème si l'on considère que ces manuels sont eux-même mis à
+jour avec @command{convert-ly}.
+@end itemize
+
@node Exécution de convert-ly
@section Exécution de @command{convert-ly}
@table @code
@item -d, --diff-version-update
-actualise la valeur de @code{\version} à la plus récente,
-uniquement si elle est supérieure à celle du fichier.
+actualise la valeur de @code{\version}, uniquement si le fichier a été
+effectivement modifié. En l'absence de cette option, ou bien si une
+conversion quelle qu'elle soit a modifié le fichier, la mention de
+version est porté à la valeur de la règle appliquée la plus récente.
@item -e,--edit
pour éditer directement le fichier d'origine.
@item -t, --to=@var{to-patchlevel}
pour n'appliquer les conversions que jusqu'à une version déterminée. Il
-s'agit par défaut de la dernière version disponible.
+s'agit par défaut de la dernière version disponible. Le niveau demandé
+doit être supérieur à la version de départ.
@example
convert-ly --to=2.14.1 monfichier.ly