From 4e85fe18924c40296828a906576cf891d84bdbf7 Mon Sep 17 00:00:00 2001 From: Jean-Charles Malahieude Date: Sun, 23 May 2010 17:51:34 +0200 Subject: [PATCH] Doc-fr: usage - updates - redistribution --- Documentation/fr/usage.tely | 39 +- Documentation/fr/usage/external.itely | 668 +++++++++++++++++++++ Documentation/fr/usage/latex-example.latex | 46 ++ Documentation/fr/usage/running.itely | 188 +++++- Documentation/fr/usage/suggestions.itely | 631 +++++++++++++++++++ Documentation/fr/usage/updating.itely | 280 +++++++++ 6 files changed, 1801 insertions(+), 51 deletions(-) create mode 100644 Documentation/fr/usage/external.itely create mode 100644 Documentation/fr/usage/latex-example.latex create mode 100644 Documentation/fr/usage/suggestions.itely create mode 100644 Documentation/fr/usage/updating.itely diff --git a/Documentation/fr/usage.tely b/Documentation/fr/usage.tely index e268061195..3b2d4914d5 100644 --- a/Documentation/fr/usage.tely +++ b/Documentation/fr/usage.tely @@ -1,15 +1,19 @@ \input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: 61762da8bedb70c6b4f0264604396288f70256f5 + Translation of GIT committish: 6ee1c53e30a461d9b36fe5045e23815a57e1e819 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 -@documentencoding UTF-8 -@setfilename lilypond-program.info +@setfilename lilypond-usage.info @settitle GNU LilyPond -- Utilisation des programmes +@documentencoding UTF-8 +@documentlanguage fr +@afourpaper + +@c Translators: John Mandereau, Jean-Charles Malahieude @macro manualIntro Ce document constitue le manuel d'utilisation des programmes de GNU @@ -25,7 +29,6 @@ Copyright @copyright{} 1999--2010 par les auteurs. @set FDL @include macros.itexi -@afourpaper @c don't remove this comment. @ignore @@ -36,29 +39,25 @@ Copyright @copyright{} 1999--2010 par les auteurs. @omflanguage French @end ignore -@c Translators: John Mandereau, Jean-Charles Malahieude @c urg, makeinfo 4.9.91 French translation is funky -@iftex -@documentlanguage fr +@c iftex @frenchspacing on -@end iftex +@c end iftex @lilyTitlePage{Utilisation des programmes} +@c TOC -- non-tex @ifnottex @c maybe add a "Tasks" or "Specific tasks" or something like @c that, after Suggestions -gp - -@c FIXME: Move 'Suggestions for writing files' here from the Learning -@c Manual, and reorder this menu according to docs in English -JM @menu -* Installation:: installation, compilation. -* Environnement de travail:: environnement de travail pour LilyPond. -* Exécution de LilyPond:: mode d'emploi. -* LilyPond-book:: intégration de texte et musique. -* Conversion à partir d'autres formats:: conversion vers le format source lilypond. +* Exécution de LilyPond:: mode d'emploi. +* Mise à jour avec convert-ly:: mise à jour d'anciens fichiers. +* LilyPond-book:: intégration de texte et musique. +* Programmes externes:: Mixing LilyPond and other programs. +* Suggestions pour la saisie de fichiers LilyPond:: comment agencer un fichier. Annexes @@ -69,14 +68,16 @@ Annexes @docMain @end ifnottex + @contents +@allowcodebreaks false -@include usage/install.itely -@include usage/setup.itely @include usage/running.itely +@include usage/updating.itely @include usage/lilypond-book.itely -@include usage/converters.itely +@include usage/external.itely +@include usage/suggestions.itely @include fdl.itexi diff --git a/Documentation/fr/usage/external.itely b/Documentation/fr/usage/external.itely new file mode 100644 index 0000000000..0e557d717c --- /dev/null +++ b/Documentation/fr/usage/external.itely @@ -0,0 +1,668 @@ +@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- + +@ignore + Translation of GIT committish: 6ee1c53e30a461d9b36fe5045e23815a57e1e819 + + 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.12.0" + +@c Translators: Jean-Charles Malahieude + +@node Programmes externes +@chapter Programmes externes +@translationof External programs + +LilyPond peut interagir avec d'autres programmes, selon différentes +manières. + +@menu +* Pointer-cliquer:: +* LilyPond et les éditeurs de texte:: +* Conversion à partir d'autres formats:: +* Insertion du résultat de LilyPond dans d'autres programmes:: +* Inclusion du travail des autres:: +@end menu + + +@node Pointer-cliquer +@section Pointer-cliquer +@translationof Point and click + +@cindex pointer-cliquer + +Le pointer-cliquer (@emph{point and click}) permet de se retrouver +directement dans le fichier source, à la note que l'on pointe dans le +visionneur de PDF. Ceci facilite grandement le repérage des erreurs à +partir du fichier imprimable. + +Lorsque cette fonctionnalité est active, LilyPond ajoute des hyperliens +au fichier PDF. Ces liens sont transmis au navigateur internet qui se +charge d'ouvrir un éditeur de texte à l'endroit même où le curseur +pointe. + +Afin que cette chaîne de traitement soit pleinement opérationnelle, il +faut configurer votre visionneur de PDF de façon à ce qu'il suive les +liens grâce au script @file{lilypond-invoke-editor} fourni avec +LilyPond. + +Pour Xpdf, sous UNIX, vous devrez insérer la ligne suivante dans +le fichier @file{xpdfrc} -- soit @file{/etc/xpdfrc}, soit dans votre +répertoire personnel @file{.xpdfrc}. + +@example +urlCommand "lilypond-invoke-editor %s" +@end example + +@file{lilypond-invoke-editor} est un petit programme assistant. Il se +charge d'appeler un éditeur pour les identifants de ressource +(@emph{URI}) de type @code{textedit}, et un navigateur pour les autres. +Il teste en outre la variable d'environnement @code{EDITOR} pour les cas +suivant@tie{}: + +@table @code +@item emacs + sera alors lancée la commande +@example +emacsclient --no-wait +@var{line}:@var{column} @var{file} +@end example +@item gvim + sera alors lancée la commande +@example +gvim --remote +:@var{line}:norm@var{column} @var{file} +@end example + +@item nedit + sera alors lancée la commande +@example + nc -noask +@var{line} @var{file}' +@end example +@end table + +La variable d'environnement @code{LYEDITOR} permet d'anticiper cette +affectation, puisqu'elle contient la commande qui permet de lancer +l'éditeur en tenant compte des valeurs respectives de @code{%(file)s}, +@code{%(column)s} , et@code{%(line)s}. Par exemple, + +@example +emacsclient --no-wait +%(line)s:%(column)s %(file)s +@end example + +@noindent +en variable d'environnement @code{LYEDITOR} revient au lancement d'un +client emacs standard. + + +@cindex ficher de sortie, taille + +@cindex taille du ficher de sortie + +L'option pointer-cliquer accroît la taille des fichiers de manière +significative. Afin de réduire la taille des fichiers PDF et PS, il est +toujours possible de désactiver le pointer-cliquer en ajoutant + +@example +\pointAndClickOff +@end example + +@noindent +dans le fichier @file{.ly}. Il peut alors être activé de manière +explicite grâce à + +@example +\pointAndClickOn +@end example + +Le pointer-cliquer peut aussi être désactivé au moment de la compilation +en ligne de commande@tie{}: + +@example +lilypond -dno-point-and-click file.ly +@end example + +@warning{Lorsqu'un fichier LilyPond est destiné à être redistribué, +pensez à désactiver le pointer-cliquer, de telle sorte que les chemins +d'accès et autres informations propres à votre système ne se retrouvent +pas inclus dans le fichier @file{.pdf}.} + + +@node LilyPond et les éditeurs de texte +@section LilyPond et les éditeurs de texte +@translationof Text editor support + +@cindex éditeurs +@cindex vim +@cindex emacs +@cindex modes, éditeur +@cindex syntaxe, coloration +@cindex coloration syntaxique + +Certains éditeurs de texte prennent en charge LilyPond. + +@menu +* Mode Emacs:: +* Mode Vim:: +* Autres éditeurs:: +@end menu + +@node Mode Emacs +@unnumberedsubsec Mode Emacs +@translationof Emacs mode + +Emacs dispose d'un @file{lilypond-mode} qui fournit l'autocomplétion des +mots-clés, l'indentation, les appariements spécifiques à LilyPond, la +coloration synthaxique, ainsi que des raccourcis pour compiler et +consulter les manuels de LilyPond en mode info. Si le +@file{lilypond-mode} n'était pas installé sur votre système, procédez +comme ci-dessous. + +Le répertoire @file{elisp} inclus dans les sources contient aussi un +mode pour saisir la musique et lancer LilyPond. Faites @command{make +install} pour l'installer dans votre @var{elispdir}. Le fichier +@file{lilypond-init.el} devrait trouver sa place dans +@var{load-path}@file{/site-start.d/} ou bien ajouté à votre +@file{~/.emacs} ou @file{~/.emacs.el}. + +En tant que simple utilisateur, vous pouvez toujours ajouter votre +propre répertoire (par exemple @file{~/site-lisp/}) à votre +@var{load-path} en ajoutant la ligne suivante -- modifiée en conséquence +-- à votre @file{~/.emacs}@tie{}: + +@c any reason we do not advise: (push "~/site-lisp" load-path) +@example +(setq load-path (append (list (expand-file-name "~/site-lisp")) load-path)) +@end example + + +@node Mode Vim +@unnumberedsubsec Mode Vim +@translationof Vim mode + +En ce qui concerne @uref{http://@/www@/.vim@/.org,VIM}, LilyPond fournit +un fichier @file{vimrc} qui gère la coloration synthaxique. Le +répertoire @code{$VIM} inclus dans les sources contient aussi un +mode pour saisir la musique et lancer LilyPond. + +Le type de fichier LilyPond sera reconnu si votre +@file{~/.vim/filetype.vim} contient + +@example +if exists("did_load_filetypes") + finish +endif +augroup filetypedetect + au! BufNewFile,BufRead *.ly,*.ily setf lilypond +augroup END +@end example + +N'oubliez pas d'inclure ce chemin en ajoutant à votre @file{~/.vimrc} la +ligne suivante@tie{}: + +@example +set runtimepath+=/usr/local/share/lilypond/$@{LILYPOND_VERSION@}/vim/ +@end example + +@noindent +où $@{LILYPOND_VERSION@} correspond à votre version de LilyPond. Si +LilyPond n'est pas installé dans @file{/usr/local/}, modifiez ce chemin +en conséquence. À titre d'exemple, si vous avez une Fedora, le chemin +mène à la version de Vim au lieu de LilyPond@tie{}: + +@example +set runtimepath+=/usr/share/vim/vim72/ +@end example + + +@node Autres éditeurs +@unnumberedsubsec Autres éditeurs +@translationof Other editors + +LilyPond est pris en charge par d'autres éditeurs, aussi bien en mode +texte qu'avec une interface graphique. Dans la mesure où leurs fichiers +de configuration ne sont pas fournis avec LilyPond, nous vous invitons à +consulter leur documentation pour plus d'information. Certains de ces +éditeurs sont mentionnés à la page @rweb{Facilités d'édition}. + + +@node Conversion à partir d'autres formats +@section Conversion à partir d'autres formats +@translationof Converting from other formats + +La musique peut aussi être récupérée par importation d'un autre +format. Ce chapitre passe en revue les différents outils prévus à cet +effet et inclus dans la distribution. Il existe d'autres outils qui +permettent de générer du code LilyPond, comme par exemple des +séquenceurs en mode graphique ou des convertisseurs XML. Pour plus +de détails, rendez-vous sur le @uref{http://@/lilypond@/.org,site}. + +Il s'agit de programmes distincts de @command{lilypond} qui se lancent +en ligne de commande. Pour plus de précisions, reportez-vous au +chapitre @ref{Utilisation en ligne de commande}. Si vous utilisez MacOS +10.3 ou 10.4 et recontrez quelque problème avec l'un de ces scripts, comme +@code{convert-ly}, reportez-vous à la page @rweb{MacOS X}. + + +@knownissues +Les développeurs ne sont malheureusement pas suffisament nombreux et +disponibles pour maintenir à jour ces programmes, considérez-les donc +@emph{en l'état}. Nous acceptons les patches avec plaisir, mais il y a +peu de chance pour que nous soyons en mesure de résoudre les bogues de +ces programmes. + +@menu +* Utilisation de midi2ly:: importation de musique au format MIDI. +* Utilisation de musicxml2ly:: importation de partitions au format MusicXML. +* Utilisation d'abc2ly:: importation de partitions au format ABC. +* Utilisation d'etf2ly:: importation de partitions Finale. +* Autres formats:: +@end menu + + + +@node Utilisation de midi2ly +@subsection Utilisation de @command{midi2ly} +@translationof Invoking midi2ly + +@cindex MIDI + +@command{midi2ly} traduit un fichier MIDI de Type@tie{}1 en un fichier +source LilyPond. + +MIDI (Music Instrument Digital Interface) constitue un standard pour +les instruments. Il spécifie le cablage, un protocole série et un +format de fichier. Le format de fichier MIDI est de ce fait un format +standard pour exporter de la musique à partir d'autres programmes, et +cette faculté prend tout son intérêt lorsqu'un programme dispose d'un +convertisseur capable d'importer directement un fichier. + +@command{midi2ly} convertit les pistes en contextes de portée +(@rinternals{Staff}) et les canaux en contextes de voix +(@rinternals{Voice}). Les hauteurs sont rendues en mode relatif, et +les durées spécifiées lorsque nécessaire. + +Vous pouvez enregistrer un fichier MIDI grâce à un clavier +électronique et ensuite le convertir en fichier @file{.ly}. Néanmoins +le rythme humain n'a pas une précision suffisante pour qu'une +conversion MIDI à ly ne se fasse sans surprise. En le couplant à une +quantisation (options @code{-s} et @code{-d}), @command{midi2ly} tente +de compenser dans la mesure du possible ces problèmes de +temporisation. C'est la raison pour laquelle le recours à +@command{midi2ly} n'est pas recommandé pour des fichiers midi générés +manuellement. + +Pour le lancer en ligne de commande, procédez ainsi@tie{}: + +@example +midi2ly [@var{option}]@dots{} @var{fichier-midi} +@end example + +Notez bien que, par @qq{ligne de commande}, nous parlons de la ligne de +commande du système. Pour plus de précisions, reportez-vous à +@c ToBeTranslated +@ref{Converting from other formats}. + +@command{midi2ly} accepte les options suivantes@tie{}: + +@table @code +@item -a, --absolute-pitches +Rendu en hauteurs absolues. + +@item -d, --duration-quant=@var{DUR} +Quantiser les durées à partir de @var{DUR}. + +@item -e, --explicit-durations +Rendu explicite des durées. + +@item -h,--help +Afficher un résumé des utilisations. + +@item -k, --key=@var{acc}[:@var{minor}] +Déterminer la tonalité par défaut. @math{@var{acc} > 0} fixe le +nombre de dièses ; @math{@var{acc} < 0} le nombre de bémols. Une +tonalité mineure est spécifiée par l'emploi de @code{:1}. + +@item -o, --output=@var{file} +Générer le résultat dans le fichier @var{file}. + +@item -s, --start-quant=@var{DUR} +Quantiser le début des notes sur @var{DUR}. + +@item -t, --allow-tuplet=@var{DUR}*@var{NUM}/@var{DEN} +Accepter des n-olets de valeur @var{DUR}*@var{NUM}/@var{DEN}. + +@item -v, --verbose +Mode verbeux. + +@item -V, --version +Afficher le numéro de version. + +@item -w, --warranty +Afficher les mentions de garantie et de copyright. + +@item -x, --text-lyrics +Interpréter le texte comme des paroles. +@end table + + +@knownissues + +Le tuilage en arpège ne sera pas rendu correctement. La première note +sera lue et les suivantes ignorées. Affectez-leur une durée unique et +ajoutez une indication de phrasé ou de pédale. + + +@node Utilisation de musicxml2ly +@subsection Utilisation de @command{musicxml2ly} +@translationof Invoking musicxml2ly + +@cindex MusicXML + +@uref{http://@/www.@/musicxml@/.org/,MusicXML} est un +dialecte XML pour représenter la notation musicale. + +@command{musicxml2ly} extrait, à partir d'un fichier MusicXML, les +notes, articulations, structure de la partition, paroles, etc. +et les écrit dans un fichier @var{.ly}. Il se lance en ligne de +commande. + +Pour le lancer en ligne de commande, procédez ainsi : +@example +musicxml2ly [@var{option}]@dots{} @var{fichier-xml} +@end example + +Notez bien que, par @qq{ligne de commande}, nous parlons de la ligne de +commande du système. Pour plus de précisions, reportez-vous à +@c ToBeTranslated +@ref{Converting from other formats}. + +Si le nom du fichier est @file{-}, @command{musicxml2ly} lira +directement à partir de la ligne de commande. + +@command{musicxml2ly} accepte les options suivantes@tie{}: + +@table @code +@item -a, --absolute +Rendu en hauteurs absolues. + +@item -h,--help +Afficher un résumé des utilisations. + +@item -l, --language=LANG +Utiliser un autre fichier de définition liguistique @file{LANG.ly} +et les noms de notes correspondants, comme par exemple +@var{deutsch} pour @file{deutsch.ly} et noms de notes en allemand. + +@item --lxml +Utiliser le paquetage Python @code{lxml.etree}, moins gourmand en +mémoire et temps de calcul, pour effectuer l'annalyse XML. + +@item --nd --no-articulation-directions +Ne pas convertir la direction (@code{^}, @code{_} ou @code{-}) des +articulations, nuances, etc. + +@item --no-beaming +Ne pas convertir les informations de ligature@tie{}; laisser LilyPond +gérer les ligatures automatiquement. + +@item -o,--output=@var{file} +Générer le résultat dans le fichier @var{fichier}. S'il n'est pas +déterminé, ce sera @var{fichier-xml}@file{.ly} ; @file{-} produira le +résultat sur la sortie standard (@var{stdout}). + +@item -r,--relative +Rendu en hauteurs relatives (mode par défaut). + +@item -v,--verbose +Mode verbeux. + +@item --version +Afficher le numéro de version. + +@item -z,--compressed +Le fichier d'entrée est un fichier MusicXML zippé. +@end table + + +@node Utilisation d'abc2ly +@subsection Utilisation de @command{abc2ly} +@translationof Invoking abc2ly + +@warning{Ce programme ne bénéficie d'aucune maintenance. Il est +susceptible d'être suprimé des versions futures de LilyPond.} + +@cindex ABC + +ABC est un format relativement simple basé sur l'ASCII. Sa +description est disponible sur le +@uref{http://@/www@/.walshaw@/.plus@/.com/@/abc/@/learn@/.html,site +d'ABC}. + +@command{abc2ly} traduit du format ABC au format LilyPond. + +Pour le lancer en ligne de commande, procédez ainsi@tie{}: + +@example +abc2ly [@var{option}]@dots{} @var{fichier-abc} +@end example + +@command{abc2ly} accepte les options suivantes@tie{}: + +@table @code +@item -b,--beams=None +Préserver la notion de lien de croches propre à ABC. +@item -h,--help +Afficher un résumé des utilisations. +@item -o,--output=@var{file} +Générer le résultat dans le fichier @var{file}. +@item -s,--strict +Être strict sur la réussite. +@item --version +Afficher le numéro de version. +@end table + +Il est possible d'ajouter des bribes de code LilyPond dans un fichier +source ABC. Ainsi, l'assertion + +@example +%%LY voices \set autoBeaming = ##f +@end example + +aura pour conséquence d'insérer le texte qui suit le mot-clé @qq{voices} +dans la voix correspondante du fichier LilyPond. + +De la même manière, + +@example +%%LY slyrics more words +@end example + +placera le texte suivant le mot-clé @qq{slyrics} dans une ligne de paroles. + + +@knownissues + +Le standard ABC n'est pas si @qq{standard} que cela. Pour des +fonctionnalités étendues, comme la polyphonie, existent différentes +conventions. + +Un fichier comportant plusieurs morceaux ne peut être converti. + +ABC synchronise paroles et musique en début de ligne@tie{}; +@command{abc2ly} ne le fait pas. + +@command{abc2ly} ignore les ligatures ABC. + + +@node Utilisation d'etf2ly +@subsection Utilisation de @command{etf2ly} +@translationof Invoking etf2ly + +@warning{Ce programme ne bénéficie d'aucune maintenance. Il est +susceptible d'être suprimé des versions futures de LilyPond.} + +@cindex ETF +@cindex enigma +@cindex Finale +@cindex Coda Technology + +ETF (Enigma Transport Format) est l'un des formats utilisés par le +logiciel Finale, édité par Coda Music Technology. @command{etf2ly} +convertit partiellement les fichiers ETF en fichiers source LilyPond. + + +Pour le lancer en ligne de commande, procédez ainsi@tie{}: + +@example +etf2ly [@var{option}]@dots{} @var{fichier-etf} +@end example + +Notez bien que, par @qq{ligne de commande}, nous parlons de la ligne de +commande du système. Pour plus de précisions, reportez-vous à +@c ToBeTranslated +@ref{Converting from other formats}. + +@command{etf2ly} accepte les options suivantes@tie{}: + +@table @code +@item -h,--help +Afficher cette aide. +@item -o, --output=@var{file} +Générer le résultat dans le fichier @var{file}. +@item --version +Afficher le numéro de version. +@end table + + +@knownissues + +La liste des scripts d'articulation est incomplète. Les mesures vides +perturbent @command{etf2ly}. Les séquences de notes d'ornement ne se +terminent pas de manière satisfaisante. + + +@node Autres formats +@subsection Autres formats +@translationof Other formats + +@cindex programmes externes générant des fichiers LilyPond + +LilyPond ne prend pas en charge d'autre format. Cependant, certains +outils indépendants permettent de générer des fichiers LilyPond, comme +indiqué à la page @rweb{Facilités d'édition}. + + + +@node Inclusion de partition LilyPond dans d'autres programmes +@section Insertion de partition LilyPond dans d'autres programmes +@translationof LilyPond output in other programs + +This section shows methods to integrate text and music, different than +the automated method with @command{lilypond-book}. + +@menu +* Extraction de plusieurs fragments d'une grande partition:: +* Insertion du résultat de LilyPond dans OpenOffice.org:: +* Insertion du résultat de LilyPond dans d'autres programmes:: +@end menu + +@node Extraction de plusieurs fragments d'une grande partition +@unnumberedsubsec Extraction de plusieurs fragments d'une grande partition +@translationof Many quotes from a large score + +If you need to quote many fragments from a large score, you can also use +the clip systems feature, see @ruser{Extraction de fragments musicaux}. + + +@node Insertion du résultat de LilyPond dans OpenOffice.org +@unnumberedsubsec Insertion du résultat de LilyPond dans OpenOffice.org +@translationof Inserting LilyPond output into OpenOffice.org + +@cindex OpenOffice.org + +LilyPond notation can be added to OpenOffice.org with +@uref{http://@/ooolilypond@/.sourceforge@/.net@/,OOoLilyPond}. + + +@node Insertion du résultat de LilyPond dans d'autres programmes +@unnumberedsubsec Insertion du résultat de LilyPond dans d'autres programmes +@translationof Inserting LilyPond output into other programs + +To insert LilyPond output in other programs, use @code{lilypond} +instead of @code{lilypond-book}. Each example must be created +individually and added to the document; consult the documentation for +that program. Most programs will be able to insert LilyPond output in +@file{PNG}, @file{EPS}, or @file{PDF} formats. + +To reduce the white space around your LilyPond score, use +the following options + +@example +\paper@{ + indent=0\mm + line-width=120\mm + oddFooterMarkup=##f + oddHeaderMarkup=##f + bookTitleMarkup = ##f + scoreTitleMarkup = ##f +@} + +@{ c1 @} +@end example + +To produce a useful @file{EPS} file, use + +@example +lilypond -dbackend=eps -dno-gs-load-fonts -dinclude-eps-fonts myfile.ly + +@file{PNG}: +lilypond -dbackend=eps -dno-gs-load-fonts -dinclude-eps-fonts --png myfile.ly +@end example + + +@node Inclusion du travail des autres +@section Inclusion du travail des autres +@translationof Independent includes + +Some people have written large (and useful!) code that can be +shared between projects. This code might eventually make its way +into LilyPond itself, but until that happens, you must download +and @code{\include} them manually. + + +@menu +* MIDI et articulations:: +@end menu + + +@node MIDI et articulations +@subsection MIDI et articulations +@translationof MIDI articulation + +LilyPond can be used to produce MIDI output, for +@qq{proof-hearing} what has been written. However, only dynamics, +explicit tempo markings, and the notes and durations themselves +are produced in the output. + +The @emph{articulate} project is one attempt to get more of the +information in the score into he MIDI. It works by shortening +notes not under slurs, to @q{articulate} the notes. The amount of +shortening depends on any articulation markings attached to a +note: staccato halves the note value, tenuto gives a note its full +duration, and so on. The script also realises trills and turns, +and could be extended to expand other ornaments such as mordents. + +@example +@uref{http://@/www@/.nicta@/.com@/.au/@/people/@/chubbp/@/articulate} +@end example +@noindent +site en anglais. +@knownissues + +Its main limitation is that it can only affect things it knows +about: anything that is merely textual markup (instead of a note +property) is still ignored. + + diff --git a/Documentation/fr/usage/latex-example.latex b/Documentation/fr/usage/latex-example.latex new file mode 100644 index 0000000000..a131d2f157 --- /dev/null +++ b/Documentation/fr/usage/latex-example.latex @@ -0,0 +1,46 @@ +\documentclass[a4paper]{article} + +%\def\preLilyPondExample{}} +%\def\postLilyPondExample{} + + +\begin{document} + +\begin{lilypond} +\relative c' { c d e f g a b c } +\end{lilypond} + + +\begin{lilypond}[fragment] +c d e +\end{lilypond} + + +% illustre l'interaction des marges avec lilypond+couplets + +% obsolète +% genère les titres standards de lilypond +\input titledefs.tex +\def\preLilyPondExample{\def\mustmakelilypondtitle{}} + +\begin{lilypond} +\header { + title = "Titre" + subtitle = "Sous-titre" + subsubtitle = "Sous-sous-titre" + opus = "Opus 1" + piece = "Pièce" + composer = "Compositeur" + enteredby = "JCN" + instrument = "instrument" +} +\layout { linewidth = -1. } +\relative c'' { a b c d } +\end{lilypond} + +\begin{enumerate} +\item Vers un. aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa +\item Vers deux. bbb bbb bbb bbb bbb bbb bbb bbb bbb bbb +\end{enumerate} + +\end{document} diff --git a/Documentation/fr/usage/running.itely b/Documentation/fr/usage/running.itely index 76d68c6943..2217fbc9d1 100644 --- a/Documentation/fr/usage/running.itely +++ b/Documentation/fr/usage/running.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: e9755d4dc717866f8578d08589427ae5e5fa4d39 + Translation of GIT committish: 6ee1c53e30a461d9b36fe5045e23815a57e1e819 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -10,7 +10,7 @@ @node Exécution de LilyPond -@chapter Exécution de LilyPond +@chapter Exécution de @command{lilypond} @translationof Running LilyPond @untranslated @@ -20,9 +20,7 @@ * Utilisation habituelle:: * Utilisation en ligne de commande:: * Messages d'erreur:: -* Pourquoi la syntaxe change-t-elle?:: -* Mise à jour des fichiers avec convert-ly:: -* Rapport de bogue:: +* Quelques erreurs des plus courantes:: @end menu @node Utilisation habituelle @@ -43,64 +41,190 @@ * Lancement de lilypond:: * Options en ligne de commande:: * Variables d'environnement:: +* Exécution de LilyPond en mode protégé:: @end menu @node Lancement de lilypond -@subsection Lancement de lilypond +@unnumberedsubsec Lancement de @command{lilypond} @translationof Invoking lilypond @untranslated @node Options en ligne de commande -@subsection Options en ligne de commande +@unnumberedsubsec Options en ligne de commande pour @command{lilypond} @translationof Command line options @untranslated @node Variables d'environnement -@subsection Variables d'environnement +@unnumberedsubsec Variables d'environnement @translationof Environment variables @untranslated -@node Messages d'erreur -@section Messages d'erreur -@translationof Error messages +@node Exécution de LilyPond en mode protégé +@unnumberedsubsec Exécution de LilyPond en mode protégé +@translationof LilyPond in chroot jail @untranslated -@node Pourquoi la syntaxe change-t-elle? -@section Pourquoi la syntaxe change-t-elle? -@translationof Why does the syntax change? -@untranslated -@node Mise à jour des fichiers avec convert-ly -@section Mise à jour avec @command{convert-ly} -@translationof Updating files with convert-ly +@node Messages d'erreur +@section Messages d'erreur +@translationof Error messages @untranslated -@subsection Options en ligne de commande -@menu -* Limitations de convert-ly:: -@end menu - -@node Limitations de convert-ly -@subsection Limitations de @command{convert-ly} -@translationof Problems with convert-ly -@untranslated +@node Quelques erreurs des plus courantes +@section Quelques erreurs des plus courantes +@translationof Common errors +Les conditions amenant aux erreurs qui suivent sont fréquentes, bien +qu'elles ne soient pas évidentes ni facilement localisables. Nous +espérons que ces explications vous aideront à les résoudre plus +facilement. -@node Rapport de bogue -@section Rapport de bogue -@translationof Reporting bugs - -@untranslated +@menu +* La musique déborde de la page:: +* Apparition d'une portée supplémentaire:: +* Erreur renvoyant à ../ly/init.ly:: +* Message d'erreur Unbound variable %:: +* Message d'erreur FT_Get_Glyph_Name:: +@end menu +@node La musique déborde de la page +@unnumberedsubsec La musique déborde de la page +@translationof Music runs off the page + +Lorsque la musique s'épanche au delà de la marge droite ou bien semble +anormalement comprimée, la raison en est le plus souvent une note à la +durée erronée ; cela finit par provoquer le débordement de la dernière +note d'une mesure. Rien ne s'oppose à ce que la dernière note d'une +mesure ne s'arrête avant la barre de mesure ; on considère simplement +qu'elle se prolonge sur la mesure suivante. Des débordements à +répétition finissent par générer une musique comprimée ou qui sort de la +page, pour la simple et bonne raison que les sauts de ligne automatiques +ne peuvent intervenir qu'à la fin d'une mesure complète, autrement dit +lorsque toutes les notes sont terminées avant la fin de la mesure. + +@warning{Une durée erronée peut empêcher les sauts de ligne, ce qui +conduit à une musique compressée, voire à un débordement de la page.} + +Une erreur de durée sera bien plus facilement localisable si vous +positionnez régulièrement des contrôles de barre de mesure -- voir +@ruser{Vérification des limites et numéros de mesure}. + +Si vous tenez absolument à enchainer de tels débordements, vous devrez +insérer des barres de mesure invisibles là où vous souhaitez positionner +un saut de ligne. Consultez le chapitre @ruser{Barres de mesure} pour +plus de détails. + + +@node Apparition d'une portée supplémentaire +@unnumberedsubsec Apparition d'une portée supplémentaire +@translationof An extra staff appears + +Lorsque les contextes ne sont pas créés explicitement par la commande +@code{\new}, ils le seront si la commande à exécuter n'est pas censée +s'appliquer au contexte en cours. Pour des partitions simples, les fait +que les contextes soient automatiquement créés rend bien des services, +et c'est d'ailleurs le cas pour la majorité des exemples contenus dans +les manuels de LilyPond. Cependant, la création implicite d'un contexte +peut aboutir à l'apparition d'une portée @qq{parasite}. On s'attend par +exemple, en lisant le code qui suit, à ce que toutes les têtes de notes +soient en rouge, alors que le résultat nous présente deux portées et que +les notes, placées sur la portée inférieure, restent en noir. + +@lilypond[quote,verbatim,relative=2] +\override Staff.NoteHead #'color = #red +\new Staff { a } +@end lilypond + +Étant donné qu'aucun contexte @code{Staff} n'existe lorsque la +dérogation est introduite, LilyPond le crée implicitement pour lui +appliquer la directive considérée. Survient alors la commande +@w{@code{\new Staff}} qui, à son tour, crée une nouvelle portée pour +contenir les notes qui suivent. Voici la syntaxe correcte pour obtenir +ces notes en rouge : + +@lilypond[quote,verbatim,relative=2] +\new Staff { + \override Staff.NoteHead #'color = #red + a +} +@end lilypond + +Autre exemple : la présence d'une commande @code{\relative} à +l'intérieur d'une section @code{\repeat} génèrera obligatoirement une +portée intempestive. Cela tient au fait que la commande @code{\repeat} +va créer deux blocs @code{\relative} qui, chacun à leur tour, créeront +implicitement un bloc @code{Staff} assorti d'un bloc @code{Voice}. + +@lilypond[quote,verbatim] +\repeat unfold 2 \relative { c d e f } +@end lilypond + +La manière adéquate de procéder consiste à inverser les commandes +@code{\repeat} et @code{\relative}, comme ceci : + +@lilypond[quote,verbatim] +\relative { + \repeat unfold 2 { c d e f } +} +@end lilypond + + +@node Erreur renvoyant à ../ly/init.ly +@unnumberedsubsec Erreur renvoyant à @code{../ly/init.ly} +@translationof Apparent error in ../ly/init.ly + +Certains messages d'erreur relatifs à une erreur de syntaxe dans le +fichier @code{../ly/init.ly} peuvent survenir lorsque le fichier est mal +formaté. Cela se produit notamment lors d'un défaut de parité de +bornages ou de guillemets. + +L'erreur la plus courante est la simple omission d'une accolade +fermante (@code{@}} à la fin du bloc @code{Score}. La solution est +évidente en pareil cas : il suffit de vérifier que le bloc @code{Score} +est bien clôturé. La structure des fichiers LilyPond est abordée plus +en détails au chapitre @ref{Organisation des fichiers LilyPond}. C'est la +raison pour laquelle nous vous invitons à utiliser un éditeur de texte +qui prenne en charge le contrôle de parité des parenthèses, crochets et +accolades afin de vous éviter de telles erreurs. + +Lorsqu'il s'agit d'un guillemet fermant (@code{"}) omis, le message +d'erreur devrait vous indiquer un numéro de ligne avoisinant. L'erreur +se situe la plupart du temps une ou deux lignes au-dessus de celle +indiquée. + + +@node Message d'erreur Unbound variable % +@unnumberedsubsec Message d'erreur « Unbound variable % » +@translationof Error message Unbound variable % + +Ce message d'erreur, qu'il apparaisse sur le terminal ou en fin de +fichier journal, est associé à un message du type @qq{GUILE a signalé +une erreur @dots{}}, survient à chaque fois qu'un commentaire +@emph{LilyPond} est indûment placé dans une routine @emph{Scheme}. + +Un commentaire LilyPond est introduit par le signe pourcent (@code{%}) +et ne doit en aucun cas se trouver dans une routine Scheme. En Scheme, +les commentaires s'introduisent par un point-virgule (@code{;}). + + +@node Message d'erreur FT_Get_Glyph_Name +@unnumberedsubsec Message d'erreur « FT_Get_Glyph_Name » +@translationof Error message FT_Get_Glyph_Name + +Ce message d'erreur, qu'il apparaisse sur le terminal ou en fin de +fichier journal, survient lorsqu'un fichier source contient des +caractères non ASCII et qu'il n'a pas été enregistré avec un encodage +UTF-8. Pour plus dde détails, reportez-vous au chapitre +@ruser{Codage du texte}. diff --git a/Documentation/fr/usage/suggestions.itely b/Documentation/fr/usage/suggestions.itely new file mode 100644 index 0000000000..3e729b5ffc --- /dev/null +++ b/Documentation/fr/usage/suggestions.itely @@ -0,0 +1,631 @@ +@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- +@ignore + Translation of GIT committish: 6ee1c53e30a461d9b36fe5045e23815a57e1e819 + + 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.12.0" + +@c Translators: Ludovic Sardain, Jean-Charles Malahieude +@c Translation checkers: Jean-Yves Baudais, Valentin Villenave, John Mandereau, Jean-Charles Malahieude + +@node Suggestions pour la saisie de fichiers LilyPond +@chapter Suggestions pour la saisie de fichiers +@translationof Suggestions for writing files + +Maintenant vous êtes prêt à travailler sur de plus gros fichiers +LilyPond -- des pièces entières, et plus seulement les petits +exemples du tutoriel. Mais comment devriez-vous vous y prendre ? + +Tant que LilyPond parvient à comprendre vos fichiers et produit le +résultat que vous souhaitez, peu importe la manière dont le code est +organisé. Néanmoins, quelques critères doivent être pris en compte +lorsque l'on écrit un fichier LilyPond. + +@itemize +@item Si vous faites une erreur, la structure même du fichier LilyPond +peut permettre de la localiser plus ou moins facilement. + +@item Et si vous souhaitez partager vos fichiers avec quelqu'un +d'autre, ou si vous souhaitez modifier vos propres fichiers dans +quelques années ? Si certains fichiers LilyPond sont compréhensibles +au premier coup d'oeil, d'autres vous feront vous arracher les cheveux +pendant une heure. + +@item Et si vous souhaitez mettre à jour votre fichier pour +l'utiliser avec une version plus récente de LilyPond ? La syntaxe du +langage d'entrée change parfois lorsque LilyPond s'améliore. La +plupart des changements peuvent être appliqués automatiquement avec +@code{convert-ly}, mais quelques-uns peuvent requérir une intervention +manuelle. Vos fichiers LilyPond peuvent être structurés de manière à +faciliter leur mise à jour. +@end itemize + +@menu +* Suggestions générales:: +* Gravure de musique existante:: +* Projets d'envergure:: +* Résolution de problèmes:: +* De la commande make et des fichiers Makefile:: +@end menu + +@node Suggestions générales +@section Suggestions générales +@translationof General suggestions + +Voici quelques conseils qui peuvent vous éviter certains problèmes ou +en résoudre d'autres. + +@itemize +@item @strong{Ajoutez le numéro de version dans chaque fichier}. +Notez que chaque fichier modèle contient une ligne @w{@code{\version +"@version{}"}}. Nous vous conseillons fortement d'inclure cette ligne, +même pour de petits fichiers. Par expérience, il est très difficile +de se rappeler quelle version de LilyPond on utilisait quelques +années auparavant. L'utilitaire @command{convert-ly} demande que vous +spécifiiez la version de LilyPond vous utilisiez alors. + +@item @strong{Ajoutez des contrôles} : @ruser{Vérifications d'octave} +et @ruser{Vérification des limites et numéros de mesure}. Si vous avez +ajouté des contrôles de loin en loin, et que vous faites une erreur, +vous pourrez la retrouver plus rapidement. @qq{De loin en loin}, +qu'est-ce à dire ? Cela dépend de la complexité de la musique. Pour de +la musique très simple, peut-être une ou deux fois. Pour de la musique +très complexe, peut-être à chaque mesure. + +@item @strong{Une mesure par ligne de texte}. Si la musique en +elle-même ou le résultat que vous désirez contient quelque chose de +compliqué, il est souvent bon de n'écrire qu'une seule mesure par ligne. +Économiser de la place en tassant huit mesures par ligne, ça ne vaut pas +vraiment le coup si l'on doît corriger vos fichiers. + +@item @strong{Ajoutez des commentaires}. Utilisez soit des +numéros de mesure (assez souvent), soit des références au contenu +musical -- @qq{second thème des violons}, @qq{quatrième variation}, etc. +Vous pouvez ne pas avoir besoin des commentaires lorsque vous écrivez +une pièce pour la première fois, mais si vous souhaitez y revenir deux +ou trois ans plus tard pour changer quelque chose, ou si vous donnez +le fichier source à un ami, ce sera beaucoup plus difficile de +déterminer vos intentions ou la manière dont votre fichier est +structuré si vous n'y avez pas adjoint de commentaires. + +@item @strong{Indentez les accolades}. Beaucoup de problèmes +viennent d'un défaut de parité entre @code{@{} et @code{@}}. + +@item @strong{Mentionnez les durées} au début de chaque section ou +variable. Si vous saisissez @code{c4 d e} au début d'une phrase, vous +vous épargnerez des problèmes si, plus tard, vous modifiez votre musique. + +@item @strong{Séparez les affinages de mise en forme} de la musique +elle-même. Voyez +@ref{Économie de saisie grâce aux identificateurs et fonctions} et +@ref{Feuilles de style}. + +@end itemize + + +@node Gravure de musique existante +@section Gravure de musique existante +@translationof Typesetting existing music + +Si vous saisissez de la musique à partir d'une partition existante, +c'est-à-dire de la musique déjà écrite, + +@itemize + +@item n'entrez qu'un seul système de la partition originale +à la fois -- mais toujours une seule mesure par ligne de texte --, +et vérifiez chaque système lorsqu'il est terminé. Vous pouvez +utiliser les commandes @code{showLastLength} et @code{showFirstLength} +pour accélérer la compilation -- voir +@ruser{Ignorer des passages de la partition} ; + +@item définissez @code{mBreak = @{\break @}} et insérez +@code{\mBreak} dans le fichier d'entrée pour obtenir des sauts de +ligne identiques à la partition originale. Cela facilite la +comparaison entre la partition originale et la partition de +LilyPond. Lorsque vous avez fini de relire votre musique, vous pouvez +définir @code{mBreak = @{ @}} pour enlever tous ces sauts de ligne, et +laisser LilyPond placer les sauts de ligne selon son propre algorithme. + +@item encadrez les notes d'une partie pour instrument transpositeur +dans un + +@example +\transpose c @var{tonalité-naturelle} @{...@} +@end example +(où @var{tonalité-naturelle} correspond à celle de l'instrument en +question) de telle sorte que la musique comprise dans cette variable se +retrouve en ut. Vous pourrez toujours transposer à l'inverse si besoin +lorsque vous ferez appel à cette variable. Des erreurs de transposition +seront moins susceptibles de se produire si la musique de toutes les +variables est dans la même et unique tonalité. + +De la même manière, prenez toujours le do comme note de départ ou +d'arrivée. Ceci aura pour simple conséquence que les autres tonalités +que vous utiliserez seront celles propres à chacun des instruments -- +sib pour une trompette en si bémol, ou lab pour une clarinette en la bémol. + +@end itemize + + +@node Projets d'envergure +@section Projets d'envergure +@translationof Large projects + +Lorsque l'on travaille sur un gros projet, il devient vital +de structurer clairement ses fichiers LilyPond. + +@itemize @bullet + +@item @strong{Utilisez un identificateur pour chaque voix}, +avec un minimum de structure dans la définition. La structure de la +section @code{\score} est la plus susceptible de changer, notamment +dans une nouvelle version de LilyPond, alors que la définition du +@code{violon} l'est beaucoup moins. + +@example +violin = \relative c'' @{ +g4 c'8. e16 +@} +... +\score @{ + \new GrandStaff @{ + \new Staff @{ + \violin + @} + @} +@} +@end example + +@item @strong{Séparez les retouches} des définitions de +musique. Nous vous avons déjà invité à adopter une telle pratique, qui +par ailleurs devient vitale pour des projets d'importance. Nous +pouvons avoir besoin de changer la définition de +@code{fpuisp}, mais dans ce cas nous n'aurons besoin de le faire +qu'une seule fois, et nous pourrons encore éviter de +modifier quoi que ce soit à l'intérieur de la définition +du @code{violon}. + +@example +fpuisp = _\markup@{ + \dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p @} +violin = \relative c'' @{ +g4\fpuisp c'8. e16 +@} +@end example + +@end itemize + + +@node Résolution de problèmes +@section Résolution de problèmes +@translationof Troubleshooting + +Tôt ou tard, vous écrirez un fichier que LilyPond ne peut pas +compiler. Les messages que LilyPond affiche peuvent vous aider à +trouver l'erreur, mais dans beaucoup de cas vous aurez besoin de faire +quelques recherches pour déterminer la source du problème. + +Pour ce faire, les outils les plus puissants sont le commentaire de +fin de ligne, indiqué par @code{%}, et le commentaire multilignes (ou +bloc de commentaire), indiqué par @code{%@{ ... %@}}. Si vous ne +pouvez localiser le problème, commencez par mettre en commentaire de +grandes parties de votre fichier source. Après avoir mis en +commentaire une section, essayez de compiler à nouveau. Si cela +fonctionne, c'est que le problème se situe dans cette partie du +fichier. Si cela ne fonctionne pas, continuez à mettre en commentaire +d'autres sections, jusqu'à ce que vous ayez quelque chose qui compile. + +Dans un cas extrême, vous pourriez en arriver à + +@example +\score @{ + << + % \melodie + % \harmonie + % \basse + >> + \layout@{@} +@} +@end example + +@noindent +c'est-à-dire un fichier sans aucune musique. + +Si cela se produit, ne vous découragez pas. Décommentez un peu, la +partie de basse par exemple, et voyez si ça fonctionne. Si ce n'est pas +le cas, placez en commentaire toute la partie de basse, mais laissez +@code{\basse} décommenté dans le bloc @code{\score}. + +@example +basse = \relative c' @{ +%@{ + c4 c c c + d d d d +%@} +@} +@end example + +Maintenant commencez à décommenter petit à petit le partie de +@code{basse} jusqu'à ce que vous localisiez la ligne qui pose +problème. + +Une autre technique de déboguage très utile est la construction +d'@rweb{Exemples minimaux}. + + + + +@node De la commande make et des fichiers Makefile +@section De la commande @command{make} et des fichiers @code{Makefile} +@translationof Make and Makefiles + +@cindex makefiles +@cindex make + +La plupart des plates-formes sur lesquelles tourne LilyPond disposent +d'un logiciel appelé @code{make}. Ce logiciel va lire un fichier +spécial, nommé de @code{Makefile}, qui contient tout ce qu'il +faut -- les dépendances entre certains fichiers, les instructions +successives à traiter par le système -- pour aboutir au fichier que +vous désirez obtenir. Il pourrait par exemple contenir tout ce qu'il +faut pour produire @code{ballade.pdf} et @code{ballade.midi} à partir de +@code{ballade.ly} en lançant LilyPond. + +La création d'un @code{Makefile} peut se révéler pertinente pour +certains projets, que ce soit par simple goût personnel ou bien par +respect de ceux qui pourront accéder à vos sources. Cette manière de +procéder est particulièrement indiquée lorsque vous travaillez sur un +projet de grande envergure impliquant de nombreuses inclusions de +fichiers et différentes éditions -- par exemple un conducteur et un +matériel d'orchestre complet avec la partition pour le chef et une +partition séparée pour chacun des pupitres -- ou bien si votre projet +requiert certaines commandes particulières comme @code{lilypond-book}. +Les @emph{Makefiles} varient tant en complexité qu'en flexibilité selon +les besoin et les aptitudes de celui qui les crée. Le programme GNU Make +est installé par défaut sur les distributions Linux et sur MacOS@tie{}X, +et il en existe une version pour les environnements Windows. + +Consultez le @strong{GNU Make Manual} pour plus de détails sur ce dont +@code{make} est capable -- vous pourrez même en trouver des versions +françaises à l'aide des moteurs de recherche --, dans la mesure où ce +qui suit ne donne qu'un bref apperçu de ses possibilités. + +Les commandes permettant de définir les règles diffèrent selon la +plate-forme : si les différents Linux et MacOS@tie{}X utilisent +@code{bash}, Windows utilise @code{cmd}. Dans le cas de MacOS@tie{}X, +vous devrez toutefois configurer votre système de telle sorte qu'il +utilise l'interpréteur en ligne de commande. Voici quelques exemples de +fichier @emph{Makefile}, avec une version pour Linux ou MacOS et une +pour Windows. + +Pour commencer, une pièce à quatre mouvements pour orchestre et dont les +fichiers sont répartis selon l'arborescence suivante : + +@example +Symphonie/ +|-- MIDI/ +|-- Makefile +|-- Notes/ +| |-- alto.ily +| |-- cor.ily +| |-- cello.ily +| |-- figures.ily +| |-- hautbois.ily +| |-- trioCordes.ily +| |-- violonOne.ily +| `-- violonTwo.ily +|-- Partitions/ +| |-- symphonie.ly +| |-- symphonieI.ly +| |-- symphonieII.ly +| |-- symphonieIII.ly +| `-- symphonieIV.ly +|-- PDF/ +|-- Pupitres/ +| |-- symphon-alto.ly +| |-- symphonie-cello.ly +| |-- symphonie-cor.ly +| |-- symphonie-hautbois.ly +| |-- symphonie-violonUn.ly +| `-- symphonie-violonDeux.ly +`-- symphonieDefs.ily +@end example + +Les fichiers @code{.ly} des répertoires @code{Partitions} et +@code{Pupitres} récupèreront la notation des fichiers @code{.ily} +contenus dans le répertoire @code{Notes} : + +@example +%%% début du fichier "symphone-cello.ly" +\include ../symphonieDefs.ily +\include ../Notes/cello.ily +@end example + +Le @emph{Makefile} répertorie des cibles correspondant à @code{score} +(l'intégrale au format conducteur), @code{mouvements} (chacun des +mouvements au format conducteur) et @code{pupitres} (une partition par +pupitre). Il contient aussi une cible @code{archive} chargée de générer +une archive des fichiers source qui pourra être diffusée sur la toile ou +transmise par courriel. Voici ce que contiendrait ce @emph{Makefile} +pour Linux ou MacOS@tie{}X. Ce fichier doit être enregistré sous le nom +de @code{Makefile} à la racine du projet -- ici @code{Symphonie}. + +@warning{Lorsque vous définissez une cible ou une règle sur plusieurs +lignes, les lignes à partir de la deuxième @strong{doivent} débuter par +une tabulation, non pas par des espaces.} + +@example +# Le préfixe au nom des fichiers résultants +piece = symphonie +# Détermination du nombre de processeurs +CPU_CORES=`cat /proc/cpuinfo | grep -m1 "cpu cores" | sed s/".*: "//` +# La commande d'appel à lilypond +LILY_CMD = lilypond -ddelete-intermediate-files \ + -dno-point-and-click -djob-count=$(CPU_CORES) + +# Les suffixes utilisés dans ce Makefile +.SUFFIXES: .ly .ily .pdf .midi + +# Les fichiers sources et résultants sont recherchés dans les répertoires +# listés dans la variable VPATH. Ceux-ci sont tous des sous-répertoires +# du répertoire courant (fourni par la variable de GNU make `CURDIR'). +VPATH = \ + $(CURDIR)/Partitions \ + $(CURDIR)/PDF \ + $(CURDIR)/Pupitres \ + $(CURDIR)/Notes + +# La règle type pour créer un PDF et un MIDI à partir d'un fichier +# source LY. +# Les .pdf résultants iront dans le sous-répertoire "PDF" et les fichiers +# .midi dans le sous-répertoire "MIDI". +%.pdf %.midi: %.ly + $(LILY_CMD) $<; \ # cette ligne commence par une tabulation + if test -f "$*.pdf"; then \ + mv "$*.pdf" PDF/; \ + fi; \ + if test -f "$*.midi"; then \ + mv "$*.midi" MIDI/; \ + fi + +notes = \ + alto.ily \ + cello.ily \ + cor.ily \ + hautbois.ily \ + violonUn.ily \ + violonDeux.ily + +# Les dépendances selon le mouvement. +$(piece)I.pdf: $(piece)I.ly $(notes) +$(piece)II.pdf: $(piece)II.ly $(notes) +$(piece)III.pdf: $(piece)III.ly $(notes) +$(piece)IV.pdf: $(piece)IV.ly $(notes) + +# Les dépendances pour la partition intégrale. +$(piece).pdf: $(piece).ly $(notes) + +# Les dépendances pour les pupitres. +$(piece)-alto.pdf: $(piece)-alto.ly alto.ily +$(piece)-cello.pdf: $(piece)-cello.ly cello.ily +$(piece)-cor.pdf: $(piece)-cor.ly cor.ily +$(piece)-hautbois.pdf: $(piece)-hautbois.ly hautbois.ily +$(piece)-violonUn.pdf: $(piece)-violonUn.ly violonUn.ily +$(piece)-violonDeux.pdf: $(piece)-violonDeux.ly violonDeux.ily + +# Lancer `make score' pour générer l'intégrale des quatre mouvements en +# un seul fichier. +.PHONY: score +score: $(piece).pdf + +# Lancer `make parties' pour obtenir tous les pupitres. +# Lancer `make toto.pdf' pour obtenir la partie instrumentale de toto. +# Par exemple : `make symphonie-cello.pdf'. +.PHONY: parties +parties: $(piece)-cello.pdf \ + $(piece)-violonUn.pdf \ + $(piece)-violonDeux.pdf \ + $(piece)-alto.pdf \ + $(piece)-hautbois.pdf \ + $(piece)-cor.pdf + +# Lancer `make mouvements' pour générer un fichier séparé pour chacun +# des mouvements. +.PHONY: mouvements +mouvements: $(piece)I.pdf \ + $(piece)II.pdf \ + $(piece)III.pdf \ + $(piece)IV.pdf + +all: score parties mouvements + +archive: + tar -cvvf symphonie.tar \ # cette ligne commence par une tabulation + --exclude=*pdf --exclude=*~ \ + --exclude=*midi --exclude=*.tar \ + ../Symphonie/* +@end example + + +Les choses se compliquent sous Windows. Une fois GNU Make pour Windows +téléchargé et installé, il vous faudra correctement définir le chemin +d'accès au programme @emph{Make} -- dans les variables d'environnement +du système -- afin que l'interpréteur de commandes DOS puisse le +localiser. Pour cela, faites un clic droite sur @qq{Poste de travail}, +choisissez @code{Propriétés} puis @code{Avancées}. Cliquez sur +@code{Variables d'environnement} puis, dans l'onglet @w{@code{Variables +système}}, mettez @code{path} en surbrillance et cliquez sur +@code{Modifier}. Ajoutez alors le chemin d'accès complet à l'exécutable +de GNU Make, qui devrait ressembler à : + +@example +C:\Program Files\GnuWin32\bin +@end example + +Il va également falloir adapter le @emph{makefile} aux particularités de +l'interpréteur de commandes et à la présence d'espaces dans le nom de +certains répertoire de ce système. +La cible @code{archive} est tout bonnement supprimée, puisque Windows ne +dispose pas de la commande @code{tar}. Enfin, les fichiers MIDI ont une +extension par défaut propre à Windows. + + +@example +## VERSION POUR WINDOWS +## +piece = symphonie +LILY_CMD = lilypond -ddelete-intermediate-files \ + -dno-point-and-click \ + -djob-count=$(NUMBER_OF_PROCESSORS) + +#get the 8.3 name of CURDIR (workaround for spaces in PATH) +workdir = $(shell for /f "tokens=*" %%b in ("$(CURDIR)") \ + do @@echo %%~sb) + +.SUFFIXES: .ly .ily .pdf .mid + +VPATH = \ + $(workdir)/Partitions \ + $(workdir)/PDF \ + $(workdir)/Pupitress \ + $(workdir)/Notes + +%.pdf %.mid: %.ly + $(LILY_CMD) $< # cette ligne commence par une tabulation + if exist "$*.pdf" move /Y "$*.pdf" PDF/ # tabulation au début + if exist "$*.mid" move /Y "$*.mid" MIDI/ # tabulation au début + +notes = \ + cello.ily \ + figures.ily \ + cor.ily \ + hautbois.ily \ + trioCordes.ily \ + alto.ily \ + violonUn.ily \ + violonDeux.ily + +$(piece)I.pdf: $(piece)I.ly $(notes) +$(piece)II.pdf: $(piece)II.ly $(notes) +$(piece)III.pdf: $(piece)III.ly $(notes) +$(piece)IV.pdf: $(piece)IV.ly $(notes) + +$(piece).pdf: $(piece).ly $(notes) + +$(piece)-cello.pdf: $(piece)-cello.ly cello.ily +$(piece)-cor.pdf: $(piece)-cor.ly cor.ily +$(piece)-hautbois.pdf: $(piece)-hautbois.ly hautbois.ily +$(piece)-alto.pdf: $(piece)-alto.ly alto.ily +$(piece)-violonUn.pdf: $(piece)-violonUn.ly violonUn.ily +$(piece)-violonDeux.pdf: $(piece)-violonDeux.ly violonDeux.ily + +.PHONY: score +score: $(piece).pdf + +.PHONY: parties +parties: $(piece)-cello.pdf \ + $(piece)-violonUn.pdf \ + $(piece)-violonDeux.pdf \ + $(piece)-alto.pdf \ + $(piece)-hautbois.pdf \ + $(piece)-cor.pdf + +.PHONY: mouvements +mouvements: $(piece)I.pdf \ + $(piece)II.pdf \ + $(piece)III.pdf \ + $(piece)IV.pdf + +all: score parties mouvements +@end example + + +Le @emph{Makefile} suivant convient pour un document +@command{lilypond-book} réalisé avec @LaTeX{}. Ce projet contiendra un +index, ce qui nécessitera de lancer une deuxième fois @command{latex} +pour mettre à jour les liens. Les fichiers résultants iront dans le +répertoire @code{out} pour ce qui est des .pdf et dans le répertoire +@code{htmlout} pour ce qui est du html. + +@example +SHELL=/bin/sh +FILE=monprojet +OUTDIR=out +WEBDIR=htmlout +VIEWER=acroread +BROWSER=firefox +LILYBOOK_PDF=lilypond-book --output=$(OUTDIR) --pdf $(FILE).lytex +LILYBOOK_HTML=lilypond-book --output=$(WEBDIR) $(FILE).lytex +PDF=cd $(OUTDIR) && pdflatex $(FILE) +HTML=cd $(WEBDIR) && latex2html $(FILE) +INDEX=cd $(OUTDIR) && makeindex $(FILE) +PREVIEW=$(VIEWER) $(OUTDIR)/$(FILE).pdf & + +all: pdf web keep + +pdf: + $(LILYBOOK_PDF) # tabulation en début de ligne + $(PDF) # tabulation en début de ligne + $(INDEX) # tabulation en début de ligne + $(PDF) # tabulation en début de ligne + $(PREVIEW) # tabulation en début de ligne + +web: + $(LILYBOOK_HTML) # tabulation en début de ligne + $(HTML) # tabulation en début de ligne + cp -R $(WEBDIR)/$(FILE)/ ./ # tabulation en début de ligne + $(BROWSER) $(FILE)/$(FILE).html & # tabulation en début de ligne + +keep: pdf + cp $(OUTDIR)/$(FILE).pdf $(FILE).pdf # tabulation en début de ligne + +clean: + rm -rf $(OUTDIR) # tabulation en début de ligne + +web-clean: + rm -rf $(WEBDIR) # tabulation en début de ligne + +archive: + tar -cvvf monprojet.tar \ # tabulation en début de ligne + --exclude=out/* \ + --exclude=htmlout/* \ + --exclude=monprojet/* \ + --exclude=*midi \ + --exclude=*pdf \ + --exclude=*~ \ + ../MonProjet/* +@end example + +AVENIR: faire que ça marche sous Windows + +Ce @emph{makefile} n'est malheureusement pas opérationnel sous Windows. +La seule alternative qui s'offre aux utilisateurs de Windows consiste à +créer un fichier de traitement par lot (@code{.bat}) qui contienne les +différentes commandes successives. Bien que cette manière de procéder +ne tienne aucun compte des dépendances entre fichiers, elle permet de +réduire le nombre de processus à lancer dans une seule commande. Vous +devrez enregistrer les lignes suivantes dans un fichier +@code{construire.bat} ou @code{construire.cmd}. Ce fichier pourra être +exécuté soit en ligne de commande, soit par un double clic sur son +icone. + +@example +lilypond-book --output=out --pdf monprojet.lytex +cd out +pdflatex monprojet +makeindex monprojet +pdflatex monprojet +cd .. +copy out\monprojet.pdf MonProjet.pdf +@end example + + +@seealso +Manuel d'utilisation : +@ref{Utilisation en ligne de commande}, +@ref{LilyPond-book} diff --git a/Documentation/fr/usage/updating.itely b/Documentation/fr/usage/updating.itely new file mode 100644 index 0000000000..0552b76ff3 --- /dev/null +++ b/Documentation/fr/usage/updating.itely @@ -0,0 +1,280 @@ +@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- + +@ignore + Translation of GIT committish: 6ee1c53e30a461d9b36fe5045e23815a57e1e819 + + 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.12.0" + +@c Translators: Jean-Charles Malahieude +@c Translation checkers: + +@node Mise à jour avec convert-ly +@chapter Mise à jour avec @command{convert-ly} +@translationof Updating files with convert-ly + +@cindex mise à jour de fichiers LilyPond +@cindex convert-ly + +La syntaxe des fichiers LilyPond évolue avec le temps, que ce soit dans +le but de la simplifier ou pour l'améliorer. Il en résulte que +l'interpréteur de LilyPond se retrouve incapable de traîter d'anciens +fichiers. L'utilitaire @command{convert-ly} permet cependant de +mettre ces fichiers en conformité au fur et à mesure que de nouvelles +versions de LilyPond sont disponibles. + +@menu +* LilyPond une langue vivante:: +* Exécution de convert-ly:: +* Options en ligne de commande pour convert-ly:: +* Problèmes d'exécution de convert-ly:: +* Conversions manuelles:: +@end menu + + +@node LilyPond une langue vivante +@section LilyPond, une langue vivante +@translationof Why does the syntax change? + +@cindex convert-ly +@cindex mise à jour d'anciens fichiers + +La syntaxe de LilyPond change de temps en temps. Ces changements de +syntaxe (le langage d'entrée) accompagnent les améliorations du +logiciel. Ces changements sont parfois destinés à rendre les fichiers +plus faciles à lire et à écrire, ou permettent d'intégrer de nouvelles +fonctionnalités. + +Par exemple, tous les noms des propriétés de @code{\paper} et +@code{\layout} devaient étre étaient libellées sous la forme +@code{@w{premier-deuxième-troisième}}. Nous avons constaté, une fois la +version 2.11.60 mise à disposition, que la propriété +@code{printallheaders} ne respectait pas cette convention. Aurions-nous +du la laisser telle que, au risque de dérouter les nouveaux utilisateurs +par cette exception de formatage, ou bien la modifier -- ce qui allait +obliger ceux qui l'avaient déjà utilisée à se mettre en chasse@tie{}? +Pour ce cas d'espèce, nous avons décidé de changer pour +@code{print-all-headers}. Cette modification peut heureusement être +automatisée par notre utilitaire @command{convert-ly}. + +Malheureusement, @command{convert-ly} ne peut pas réaliser toutes les +modifications. Par exemple, dans les versions 2.4 et antérieures de +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 caratè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@tie{}; vous devez mettre à +jour vos vieux fichiers LilyPond manuellement. + + +@node Exécution de convert-ly +@section Exécution de @command{convert-ly} +@translationof Invoking convert-ly + +@command{convert-ly} utilise les mentions de @code{\version} -- que vous +n'avez sûrement pas oublié de porter dans vos fichiers -- pour +déterminer le numéro de l'ancienne version. Mettre à jour votre fichier +ne vous demande que de lancer + +@example +convert-ly -e monfichier.ly +@end example + +@noindent +dans le dossier où il se trouve. @code{monfichier.ly} sera mis à jour, +et vous aurez une copie de l'original@tie{}: @code{monfichier.ly~}. + +@warning{@command{convert-ly} effectuera les conversions jusqu'aux +modifications de syntaxe les plus récentes qu'il contient. C'est la +raison pour laquelle le numéro de @code{@bs{}version} modifié est la +plupart du temps inférieur au propre numéro de version de +@command{convert-ly}.} + +Vous pouvez convertir tous les fichiers d'un dossier en lançant + +@example +convert-ly -e *.ly +@end example + +Vous pouvez aussi affecter un autre nom au fichier mis à jour et +conserver votre fichier original en l'état@tie{}: + +@example +convert-ly monfichier.ly > monnouveaufichier.ly +@end example + +Le programme affichera les numéros de version correspondant aux +différentes conversions effectuées. Si aucun numéro de version +n'apparaît, considérez que le fichier ne comporte pas de syntaxe +obsolète. + +Les utilisateurs de MacOS@tie{}X disposent d'une entrée spécifique dans +le menu@tie{}: @code{Compile > Update syntax}. + +Si vous utilisez windows, ouvrez un interpréteur de commande en faisant +@code{Démarrer > Accessoires > Interpréteur de commmandes}. + + +@node Options en ligne de commande pour convert-ly +@section Options en ligne de commande pour @command{convert-ly} +@translationof Command line options for convert-ly + +L'utilitaire @command{convert-ly} se lance de la manière suivante@tie{}: + +@example +convert-ly [@var{option}]@dots{} @var{fichier}@dots{} +@end example + +Vous pouvez utiliser les options@tie{}: + +@table @code +@item -e,--edit +pour éditer directement le fichier d'origine. + +@item -f,--from=@var{from-patchlevel} +pour définir le numéro de version à partir duquel vous voulez effectuer +les conversions. Lorsque cette option n'est pas activée, +@command{convert-ly} tentera de le déterminer sur la foi de la mention +de @code{\version} contenue dans le fichier. Cette option s'utilise +sous la forme@tie{}: @code{--from=2.10.25} + +@item -n,--no-version +Normalement, @command{convert-ly} ajoutera une indication de +@code{\version} à votre fichier s'il n'en comporte pas. Cette option +permet de passer outre. + +@item -s, --show-rules +pour afficher les conversions applicables. + +@item --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. Cette option +s'utilise sous la forme@tie{}: @code{--to=2.12.2} + + +@item -h, --help +visualiser l'aide et quitter. +@end table + +Lorsqu'il s'agit de fragments inclus dans un fichier texinfo, il +vous faudra lancer + +@example +convert-ly --from=... --to=... --no-version *.itely +@end example + +Lorsque vous désirez savoir quels changements de syntaxe sont intervenus +entre deux versions de LilyPond, lancez + +@example +convert-ly --from=@var{ancienne} --to=@var{récente} -s +@end example + + +@node Problèmes d'exécution de convert-ly +@section Problèmes d'exécution de @code{convert-ly} +@translationof Problems running convert-ly + +Sous Windows, lorsque le nom du fichier original ou le chemin qui y mène +comporte des espaces, l'interpréteur de commande requiert qu'il soit +entouré de triples guillemets comme ci-dessous@tie{}: + +@example +convert-ly """D:/Mes Partitions/Ode.ly""" > "D:/Mes Partitions/nouveau Ode.ly" +@end example + +Lorsque la commande @command{convert-ly -e *.ly} échoue parce que +son expansion dépasse la taille maximale d'une ligne, vous pouvez lancer +@command{convert-ly} dans une boucle. L'exemple suivant permet, sous +Unix, de convertir tous les fichiers @code{.ly} d'un même +répertoire@tie{}: + +@example +for f in *.ly; do convert-ly -e $f; done; +@end example + +Avec l'interpréteur de commandes de Windows, la syntaxe consacrée +est@tie{}: + +@example +for %x in (*.ly) do convert-ly -e """%x""" +@end example + +Toutes les évolutions du langage ne sont pas forcément prises en charge. +@command{convert-ly} ne tolère qu'une seule option de sortie à la fois. +La mise à jour automatique du code Scheme inclus dans les fichiers +LilyPond est plus qu'hasardeuse@tie{}; atendez-vous à devoir mettre les +mains dans le cambouis. + + +@node Conversions manuelles +@section Conversions manuelles +@translationof Manual conversions + +En théorie, un programme tel que @command{convert-ly} devrait pouvoir +traîter n'importe quel changement de syntaxe. En effet, si un programme +informatique sait interpréter aussi bien une version que l'autre, un +autre programme informatique doit alors être capable de traduire un +fichier donné +@footnote{At least, this is possible in any LilyPond file which does not +contain scheme. If there is scheme in the file, then the LilyPond file +contains a Turing-complete language, and we run into problems with the +famous @qq{Halting Problem} in computer science.}. + +Le projet LilyPond ne dispose cependant que de ressources +limitées@tie{}: les conversions ne sont pas toutes automatisées. Voici +une liste de problèmes clairement identifiés@tie{}: + + +@verbatim +1.6->2.0: + Doesn't always convert figured bass correctly, specifically things like {< +>}. Mats' comment on working around this: + To be able to run convert-ly + on it, I first replaced all occurrences of '{<' to some dummy like '{#' + and similarly I replaced '>}' with '&}'. After the conversion, I could + then change back from '{ #' to '{ <' and from '& }' to '> }'. + Doesn't convert all text markup correctly. In the old markup syntax, + it was possible to group a number of markup commands together within +parentheses, e.g. + -#'((bold italic) "string") + This will incorrectly be converted into + -\markup{{\bold italic} "string"} + instead of the correct + -\markup{\bold \italic "string"} +2.0->2.2: + Doesn't handle \partcombine + Doesn't do \addlyrics => \lyricsto, this breaks some scores with multiple +stanzas. +2.0->2.4: + \magnify isn't changed to \fontsize. + - \magnify #m => \fontsize #f, where f = 6ln(m)/ln(2) + remove-tag isn't changed. + - \applyMusic #(remove-tag '. . .) => \keepWithTag #'. . . + first-page-number isn't changed. + - first-page-number no => print-first-page-number = ##f + Line breaks in header strings aren't converted. + - \\\\ as line break in \header strings => \markup \center-align < + "First Line" "Second Line" > + Crescendo and decrescendo terminators aren't converted. + - \rced => \! + - \rc => \! +2.2->2.4: + \turnOff (used in \set Staff.VoltaBracket = \turnOff) is not properly +converted. +2.4.2->2.5.9 + \markup{ \center-align <{ ... }> } should be converted to: + \markup{ \center-align {\line { ... }} } + but now, \line is missing. +2.4->2.6 + Special LaTeX characters such as $~$ in text are not converted to UTF8. +2.8 + \score{} must now begin with a music expression. Anything else + (particularly \header{}) must come after the music. +@end verbatim + + -- 2.39.5