1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
4 Translation of GIT committish: ad39ce30a8fa9ba7db76f959709c1683b4bb1b7c
6 When revising a translation, copy the HEAD committish of the
7 version that you are working on. For details, see the Contributors'
8 Guide, node Updating translation committishes..
13 @c Translators: Jean-Charles Malahieude
14 @c Translation checkers:
16 @node Mise à jour avec convert-ly
17 @chapter Mise à jour avec @command{convert-ly}
18 @translationof Updating files with convert-ly
20 @cindex mise à jour de fichiers LilyPond
23 La syntaxe des fichiers LilyPond évolue avec le temps, que ce soit dans
24 le but de la simplifier ou pour l'améliorer. Il en résulte que
25 l'interpréteur de LilyPond se retrouve incapable de traîter d'anciens
26 fichiers. L'utilitaire @command{convert-ly} permet cependant de
27 mettre ces fichiers en conformité au fur et à mesure que de nouvelles
28 versions de LilyPond sont disponibles.
31 * LilyPond une langue vivante::
32 * Exécution de convert-ly::
33 * Options en ligne de commande pour convert-ly::
34 * Problèmes d'exécution de convert-ly::
35 * Conversions manuelles::
39 @node LilyPond une langue vivante
40 @section LilyPond, une langue vivante
41 @translationof Why does the syntax change?
44 @cindex mise à jour d'anciens fichiers
46 La syntaxe de LilyPond change de temps en temps. Ces changements de
47 syntaxe -- le langage d'entrée -- accompagnent les améliorations du
48 logiciel. Ces changements sont parfois destinés à rendre les fichiers
49 plus faciles à lire et à écrire, ou permettent d'intégrer de nouvelles
52 Par exemple, tous les noms des propriétés de @code{\paper} et
53 @code{\layout} devaient étre étaient libellées sous la forme
54 @code{@w{premier-deuxième-troisième}}. Nous avons constaté, une fois la
55 version 2.11.60 mise à disposition, que la propriété
56 @code{printallheaders} ne respectait pas cette convention. Aurions-nous
57 du la laisser telle que, au risque de dérouter les nouveaux utilisateurs
58 par cette exception de formatage, ou bien la modifier -- ce qui allait
59 obliger ceux qui l'avaient déjà utilisée à se mettre en chasse@tie{}?
60 Pour ce cas d'espèce, nous avons décidé de changer pour
61 @code{print-all-headers}. Cette modification peut heureusement être
62 automatisée par notre utilitaire @command{convert-ly}.
64 Malheureusement, @command{convert-ly} ne peut pas réaliser toutes les
65 modifications. Par exemple, dans les versions 2.4 et antérieures de
66 LilyPond, les accents et les lettres non anglaises étaient entrées en
67 utilisant LaTeX -- par exemple, @code{No\"el}. À partir de la
68 version@tie{}2.6, le caratère @code{ë} doit être entré directement dans
69 le fichier LilyPond comme caractère UTF-8. @code{convert-ly} ne peut
70 pas changer tous les caractères LaTeX en caractères UTF-8@tie{}; vous
71 devez mettre à jour vos vieux fichiers LilyPond manuellement.
74 @node Exécution de convert-ly
75 @section Exécution de @command{convert-ly}
76 @translationof Invoking convert-ly
78 @command{convert-ly} utilise les mentions de @code{\version} -- que vous
79 n'avez sûrement pas oublié de porter dans vos fichiers -- pour
80 déterminer le numéro de l'ancienne version. Mettre à jour votre fichier
81 ne vous demande que de lancer
84 convert-ly -e monfichier.ly
88 dans le dossier où il se trouve. @file{monfichier.ly} sera mis à jour,
89 et vous aurez une copie de l'original@tie{}: @file{monfichier.ly~}.
91 @warning{@command{convert-ly} effectuera les conversions jusqu'aux
92 modifications de syntaxe les plus récentes qu'il contient. C'est la
93 raison pour laquelle le numéro de @code{@bs{}version} modifié est la
94 plupart du temps inférieur au propre numéro de version de
95 @command{convert-ly}.}
97 Vous pouvez convertir tous les fichiers d'un dossier en lançant
103 Vous pouvez aussi affecter un autre nom au fichier mis à jour et
104 conserver votre fichier original en l'état@tie{}:
107 convert-ly monfichier.ly > monnouveaufichier.ly
110 Le programme affichera les numéros de version correspondant aux
111 différentes conversions effectuées. Si aucun numéro de version
112 n'apparaît, considérez que le fichier ne comporte pas de syntaxe
115 Les utilisateurs de MacOS@tie{}X disposent d'une entrée spécifique dans
116 le menu@tie{}: @code{Compile > Update syntax}.
118 Si vous utilisez windows, ouvrez un interpréteur de commande en faisant
119 @code{Démarrer > Accessoires > Interpréteur de commmandes}.
122 @node Options en ligne de commande pour convert-ly
123 @section Options en ligne de commande pour @command{convert-ly}
124 @translationof Command line options for convert-ly
126 L'utilitaire @command{convert-ly} se lance de la manière suivante@tie{}:
129 convert-ly [@var{option}]@dots{} @var{fichier}@dots{}
132 Vous pouvez utiliser les options@tie{}:
136 pour éditer directement le fichier d'origine.
138 @item -f,--from=@var{from-patchlevel}
139 pour définir le numéro de version à partir duquel vous voulez effectuer
140 les conversions. Lorsque cette option n'est pas activée,
141 @command{convert-ly} tentera de le déterminer sur la foi de la mention
142 de @code{\version} contenue dans le fichier. Cette option s'utilise
143 sous la forme@tie{}: @code{--from=2.10.25}
145 @item -n,--no-version
146 Normalement, @command{convert-ly} ajoutera une indication de
147 @code{\version} à votre fichier s'il n'en comporte pas. Cette option
148 permet de passer outre.
150 @item -s, --show-rules
151 pour afficher les conversions applicables.
153 @item --to=@var{to-patchlevel}
154 pour n'appliquer les conversions que jusqu'à une version déterminée. Il
155 s'agit par défaut de la dernière version disponible. Cette option
156 s'utilise sous la forme@tie{}: @code{--to=2.12.2}
160 visualiser l'aide et quitter.
162 @item -l @var{loglevel}, --loglevel=@var{loglevel}
163 pour régler le degré de verbosité à @var{loglevel}. Les différentes
164 valeurs sont @code{NONE}, @code{ERROR}, @code{WARNING}, @code{PROGRESS}
165 (par défaut) et @code{DEBUG}.
169 Lorsqu'il s'agit de fragments inclus dans un fichier texinfo, il
173 convert-ly --from=... --to=... --no-version *.itely
176 Lorsque vous désirez savoir quels changements de syntaxe sont intervenus
177 entre deux versions de LilyPond, lancez
180 convert-ly --from=@var{ancienne} --to=@var{récente} -s
184 @node Problèmes d'exécution de convert-ly
185 @section Problèmes d'exécution de @code{convert-ly}
186 @translationof Problems running convert-ly
188 Sous Windows, lorsque le nom du fichier original ou le chemin qui y mène
189 comporte des espaces, l'interpréteur de commande requiert qu'il soit
190 entouré de triples guillemets comme ci-dessous@tie{}:
193 convert-ly """D:/Mes Partitions/Ode.ly""" > "D:/Mes Partitions/nouveau Ode.ly"
196 Lorsque la commande @command{convert-ly -e *.ly} échoue parce que
197 son expansion dépasse la taille maximale d'une ligne, vous pouvez lancer
198 @command{convert-ly} dans une boucle. L'exemple suivant permet, sous
199 Unix, de convertir tous les fichiers @file{.ly} d'un même
203 for f in *.ly; do convert-ly -e $f; done;
206 Avec l'interpréteur de commandes de Windows, la syntaxe consacrée
210 for %x in (*.ly) do convert-ly -e """%x"""
213 Toutes les évolutions du langage ne sont pas forcément prises en charge.
214 @command{convert-ly} ne tolère qu'une seule option de sortie à la fois.
215 La mise à jour automatique du code Scheme inclus dans les fichiers
216 LilyPond est plus qu'hasardeuse@tie{}; atendez-vous à devoir mettre les
217 mains dans le cambouis.
220 @node Conversions manuelles
221 @section Conversions manuelles
222 @translationof Manual conversions
224 En théorie, un programme tel que @command{convert-ly} devrait pouvoir
225 traîter n'importe quel changement de syntaxe. En effet, si un programme
226 informatique sait interpréter aussi bien une version que l'autre, un
227 autre programme informatique doit alors être capable de traduire un
229 @footnote{At least, this is possible in any LilyPond file which does not
230 contain scheme. If there is scheme in the file, then the LilyPond file
231 contains a Turing-complete language, and we run into problems with the
232 famous @qq{Halting Problem} in computer science.}.
234 Le projet LilyPond ne dispose cependant que de ressources
235 limitées@tie{}: les conversions ne sont pas toutes automatisées. Voici
236 une liste de problèmes clairement identifiés@tie{}:
241 Doesn't always convert figured bass correctly, specifically things like {<
242 >}. Mats' comment on working around this:
243 To be able to run convert-ly
244 on it, I first replaced all occurrences of '{<' to some dummy like '{#'
245 and similarly I replaced '>}' with '&}'. After the conversion, I could
246 then change back from '{ #' to '{ <' and from '& }' to '> }'.
247 Doesn't convert all text markup correctly. In the old markup syntax,
248 it was possible to group a number of markup commands together within
250 -#'((bold italic) "string")
251 This will incorrectly be converted into
252 -\markup{{\bold italic} "string"}
253 instead of the correct
254 -\markup{\bold \italic "string"}
256 Doesn't handle \partcombine
257 Doesn't do \addlyrics => \lyricsto, this breaks some scores with multiple
260 \magnify isn't changed to \fontsize.
261 - \magnify #m => \fontsize #f, where f = 6ln(m)/ln(2)
262 remove-tag isn't changed.
263 - \applyMusic #(remove-tag '. . .) => \keepWithTag #'. . .
264 first-page-number isn't changed.
265 - first-page-number no => print-first-page-number = ##f
266 Line breaks in header strings aren't converted.
267 - \\\\ as line break in \header strings => \markup \center-align <
268 "First Line" "Second Line" >
269 Crescendo and decrescendo terminators aren't converted.
273 \turnOff (used in \set Staff.VoltaBracket = \turnOff) is not properly
276 \markup{ \center-align <{ ... }> } should be converted to:
277 \markup{ \center-align {\line { ... }} }
278 but now, \line is missing.
280 Special LaTeX characters such as $~$ in text are not converted to UTF8.
282 \score{} must now begin with a music expression. Anything else
283 (particularly \header{}) must come after the music.