Vous êtes sur la page 1sur 68

LilyPond

Le syst` eme de gravure musicale

Utilisation des programmes


L equipe de d eveloppement de LilyPond

Ce document constitue le manuel dutilisation des programmes de GNU LilyPond 2.16.2. De plus, ce manuel sugg` ere des  bonnes pratiques  pour une utilisation plus ecace.

Pour conna tre la place quoccupe ce manuel dans la documentation, consultez la page Section Manuels dans Informations g en erales . Si vous ne disposez pas de certains manuels, la documentation compl` ete se trouve sur http://www.lilypond.org/.

Copyright c 19992012 par les auteurs. The translation of the following copyright notice is provided for courtesy to non-English speakers, but only the notice in English legally counts. La traduction de la notice de droits dauteur ci-dessous vise ` a faciliter sa compr ehension par le lecteur non anglophone, mais seule la notice en anglais a valeur l egale. Vous avez le droit de copier, distribuer et/ou modier ce document selon les termes de la Licence GNU de documentation libre, version 1.1 ou tout autre version ult erieure publi ee par la Free Software Foundation, sans aucune section invariante. Une copie de la licence est fournie ` a la section Licence GNU de documentation libre. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections. A copy of the license is included in the section entitled GNU Free Documentation License. Pour LilyPond version 2.16.2

Table des mati` eres


1 Ex ecution de lilypond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 1.2 Utilisation habituelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Utilisation en ligne de commande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Lancement de lilypond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Commandes standard de linterpr eteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Options basiques de lilypond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Options avanc ees de lilypond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Variables denvironnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Ex ecution de LilyPond en mode prot eg e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.3 Messages derreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.4 Quelques erreurs des plus courantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 La musique d eborde de la page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Apparition dune port ee suppl ementaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Erreur renvoyant ` a ../ly/init.ly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Message derreur Unbound variable % . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Message derreur FT Get Glyph Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 sta-anities devraient aller en ordre d ecroissant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Mise ` a jour avec convert-ly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16


2.1 2.2 2.3 2.4 2.5 LilyPond est une langue vivante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ex ecution de convert-ly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Options en ligne de commande pour convert-ly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Probl` emes dex ecution de convert-ly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conversions manuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 16 17 17 18

Association musique-texte avec lilypond-book . . . . . . . . . . . . . 20


3.1 3.2 Exemple de document musicologique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Association musique-texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A 3.2.1 L TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Texinfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.3 HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.4 DocBook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Options applicables aux fragments de musique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Utilisation de lilypond-book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Extensions de nom de chier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 Mod` eles pour lilypond-book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A 3.6.1 L TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6.2 Texinfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6.3 html . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6.4 xelatex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7 Gestion de la table des mati` eres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8 Autres m ethodes dassociation texte-musique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 24 24 26 27 28 29 31 34 35 35 35 36 36 37 39

ii

Programmes externes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.1 Pointer-cliquer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Activation du pointer-cliquer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pointer-cliquer s electif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 LilyPond et les editeurs de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mode Emacs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mode Vim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Autres editeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Conversion ` a partir dautres formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.1 Utilisation de midi2ly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.2 Utilisation de musicxml2ly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.3 Utilisation de abc2ly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.4 Utilisation de etf2ly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.5 Autres formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Inclusion de partition LilyPond dans dautres programmes . . . . . . . . . . . . . . . . . . . . . . . . Extraction de plusieurs fragments dune grande partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . Insertion du r esultat de LilyPond dans OpenOce.org . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Insertion du r esultat de LilyPond dans dautres programmes . . . . . . . . . . . . . . . . . . . . . . . . 4.5 Inclusion du travail des autres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.1 MIDI et articulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 40 41 41 41 42 42 42 42 43 44 45 46 46 46 46 46 47 47

Suggestions pour la saisie de chiers LilyPond . . . . . . . . . . . . 48


5.1 5.2 5.3 5.4 5.5 Suggestions g en erales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gravure de musique existante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Projets denvergure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . R esolution de probl` emes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . De la commande make et des chiers Makele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 49 49 50 50

Annexe A Annexe B

GNU Free Documentation License . . . . . . . . . . . . . . . 57 Index de LilyPond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Chapitre 1: Ex ecution de lilypond

1 Ex ecution de lilypond
Ce chapitre passe en revue ce qui se passe lorsque vous lancez LilyPond.

1.1 Utilisation habituelle


La plupart des utilisateurs de LilyPond le font au travers dune interface graphique (GUI pour graphical user interface ). Si vous ne lavez pas encore parcouru, lisez le Section Tutoriel dans editeur alternatif pour r ediger vos chiers LilyPond, Manuel dinitiation. Si vous utilisez un r ef erez-vous ` a la documentation de celui-ci.

1.2 Utilisation en ligne de commande


Nous nous int eresserons ici aux sp ecicit es de LilyPond employ e en ligne de commande. La ligne de commande permet de faire appel ` a certaines options particuli` eres. Dautre part, certains utilitaires associ es, tel que midi2ly, ne sont disponibles quen ligne de commande. Par  ligne de commande , nous entendons linterface de commande du syst` eme. Les utilisateurs de Windows seront certainement plus familiers des termes  fen etre DOS  ou  invite de commande . Quant aux utilisateurs de MacOS X, ils connaissent assur ement les termes  console  et  terminal . Les param etrages sp eciques au syst` eme MacOS font lobjet dun Section chapitre particulier dans Informations g en erales . Notre propos nest pas ici dexpliquer ce quest linterface de commande pour un syst` eme informatique ni comment elle fonctionne. Aussi, si vous ne savez de quoi il retourne, nous vous renvoyons aux nombreuses documentations que vous pourrez trouver sur ce sujet.

Lancement de lilypond
Lex ecutable lilypond en ligne de commande se lance ainsi : lilypond [option]... fichier... Lorsque le chier est fourni sans extension, LilyPond pr esume quil sagit de .ly. Pour interpr eter directement lentr ee standard (stdin ), fournissez un tiret (-) en lieu et place de chier. Le traitement de monfichier.ly produira monfichier.ps et monfichier.pdf. Vous pouvez sp ecier plusieurs chiers ` a la fois ; ils seront trait es ind ependamment les uns des autres.1 Lorsque monfichier.ly contient plus dune section \book, les chiers produits ` a partir du deuxi` eme seront num erot es. Par ailleurs, la valeur aect ee ` a output-suffix sera ins er ee entre la racine et le num ero. Par exemple, un chier racine qui contiendrait #(define \score { #(define \score { output-suffix "violon") ... } output-suffix "cello") ... }

fournira gr ace ` a LilyPond racine-violon.pdf et racine-cello-1.pdf.

Commandes standard de linterpr eteur


Si votre interpr eteur terminal, console, etc. prend en charge les redirections, les commandes qui suivent vous permettront de judicieusement rediriger les achages de la console dans un chier : lilypond fichier.ly 1>stdout.log pour le verbiage normal
1

Le statut de GUILE n etant pas r einitialis e apr` es traitement dun chier .ly, veillez a ` ne pas modier les r eglages par d efaut du syst` eme a ` partir dassertions en Scheme.

Chapitre 1: Ex ecution de lilypond

lilypond fichier.ly 2>stderr.log pour les messages derreur lilypond fichier.ly &>tous.log pour garder une trace de tout ce qui sest pass e Consultez avant tout la documentation de votre interpr eteur habituel pour v erier quil prend en charge ces options dans cette syntaxe. Notez bien quil sagit ici de commandes internes ` a linterpr eteur et qui nont rien ` a voir avec LilyPond.

Options basiques de lilypond


Di erentes options sont disponibles en ligne de commande : -d,--define-default=variable=valeur Voir [Options avanc ees de lilypond], page 4. -e,--evaluate=expr Evalue lexpression Scheme expr avant danalyser tout chier .ly. Lorsque vous sp eciez loption -e ` a plusieurs reprises, l evaluation sera faite en s equence. Dans la mesure o` u lexpression est evalu ee par le module guile-user, vous devrez, d` es lors que expr utilise des d enitions, sp ecier lilypond -e '(define-public a 42)' en ligne de commande, et ajouter la ligne #(use-modules (guile-user)) en t ete de votre chier .ly.

Note : Les utilisateurs de Windows doivent utiliser des guillemets doubles " en lieu et place des guillemets simples '.

-f,--format=format D etermine le format ` a produire. Il peut sagir de ps, pdf ou png. Exemple : lilypond -fpng monfichier.ly -h,--help Ache un r esum e des commandes. -H,--header=CHAMP Recopie le champ dent ete dans le chier RACINE.CHAMP. -i,--init=fichier D enit chier (par d efaut init.ly) en tant que chier dinitialisation. -I,--include=r epertoire Ajoute r epertoire au chemin de recherche pour les inclusions. Vous pouvez mentionner plusieurs fois loption -I, auquel cas la recherche commencera dans le premier r epertoire inclus et, si le chier en question ne sy trouve pas, les r epertoires suivants seront examin es lun apr` es lautre. -j,--jail=user,group,jail,dir Lance lilypond dans un environnement prot eg e. Loption --jail est une alternative qui ore plus de exibilit e que loption --safe lorsque LilyPond est install e sur un serveur web ou traite des chiers externes voir [Options avanc ees de lilypond], page 4. Loption --jail va d etourner la racine de lilypond sur jail juste avant deectuer la compilation ` a proprement parler. Lutilisateur et le groupe sont modi es en cons equence, et le r epertoire en cours devient dir. Ces r eglages assurent du

Chapitre 1: Ex ecution de lilypond

moins en th eorie limpossibilit e de s echapper de la cellule. Notez cependant que, pour que loption --jail soit fonctionnelle, lilypond doit etre lanc e en tant quadministrateur ce qui se r ealise ais ement ` a laide de la commande sudo. La cr eation dun environnement s ecuris e requiert quelques pr ecautions dans la mesure o` u LilyPond doit disposer de tout ce dont il a besoin pour compiler le chier source ` a lint erieur de la cellule. Lermitage, avant d etre viable, requiert donc les etapes suivantes : Cr eation dun syst` eme de chiers ind ependant Lint er et dun syst` eme de chiers d edi e` a LilyPond r eside dans le fait quon peut le brider ` a laide des options noexec, nodev et nosuid. Il sera de fait impossible de lancer des ex ecutables ou d ecrire sur un p eriph erique ` a partir de LilyPond. Si vous navez pas lintention de cr eer un tel syst` eme sur une partition s epar ee, vous pouvez avoir recours ` a un pseudo-p eriph erique (loop device ) mont e` a partir dun simple chier de taille raisonnable. Dautre part, le recours ` a un syst` eme de chiers ind ependant permet de limiter lespace d evolu ` a LilyPond. Cr eation dun utilisateur sp ecique Lutilisation de LilyPond au sein de la cellule devrait etre r eserv e` a un utilisateur aux droits restreints. Il faudra donc cr eer un utilisateur et un groupe sp eciques disons lily/lily qui naura acc` es en ecriture qu` a un unique r epertoire d etermin e par la valeur de dir. Agencement des lieux LilyPond a besoin dun certain nombre de chiers pour pouvoir tourner correctement. Ces chiers devront donc tous se retrouver dans lenvironnement prot eg e, distribu es selon la m eme arborescence que dans le syst` eme dorigine. Ainsi lint egralit e de linstallation de LilyPond (en principe /usr/share/lilypond) doit y etre dupliqu ee. En cas de probl` eme, lancer LilyPond en utilisant strace devrait vous permettre de d eterminer quels chiers manquent ` a lappel. Lancement de LilyPond Dans un environnement prot eg e mont e avec loption noexec, il est impossible de lancer un quelconque programme ext erieur. LilyPond ne saurait donc avoir recours ` a un moteur de traitement qui le mettrait dans cette situation. Comme nous lavons vu plus haut, LilyPond sera lanc e avec les privil` eges de ladministrateur privil` eges quil perdra aussit ot , ce qui peut n ecessiter le recours ` a la commande sudo. Il est par ailleurs judicieux de limiter le temps processeur allou e` a LilyPond gr ace ` a ulimit -t par exemple ainsi que, si votre syst` eme le permet, la taille de la m emoire. Voir aussi [Ex ecution de LilyPond en mode prot eg e], page 10. -l,--loglevel=DEGRE . Les di R` egle le niveau de verbosit e des messages console ` a DEGRE erentes valeurs sont : NONE ERROR WARN Aucun verbiage, m eme pas les messages derreur. Uniquement les messages derreur ; pas de message davertissement ni de progression. Messages davertissement ou derreur ; pas dinformation de progression.

Chapitre 1: Ex ecution de lilypond

BASIC_PROGRESS Information de progression basique (r eussite) et avertissements ou erreurs. PROGRESS Toutes les informations de progression, avertissements et erreurs.

INFO (par d efaut) Informations de progression, avertissements et erreurs, ainsi que dautres informations relatives ` a lex ecution. DEBUG Tout ce qui peut etre ach e, y compris le verbiage utile au d ebogage.

PERTOIRE -o,--output=FICHIER ou RE D etermine le nom par d efaut du chier r esultant ` a FICHIER ; lorsque largument REPERTOIRE correspond ` a un r epertoire d ej` a existant, cest l` a que les chiers r esultants seront d epos es. Le suxe ad equat sera ajout e (par ex. .pdf pour du pdf) dans tous les cas. --ps --png G en` ere du PostScript. G en` ere une image par page, au format PNG ; ceci sous-entend lutilisation de --ps. La r esolution de limage, en DPI, peut se r egler en ajoutant par exemple -dresolution=110 --pdf G en` ere du PDF. Ceci sous-entend lutilisation de --ps.

-v,--version Ache le num ero de version. -V,--verbose Active le mode verbeux : achage de lint egralit e du chemin dacc` es de chaque chier, et information des temps de traitement. -w,--warranty Ache les informations de garantie applicables ` a GNU LilyPond il est livr e SANS GARANTIE !

Options avanc ees de lilypond


-d[nom-option]=[valeur],--define-default=[nom-option]=[valeur] Aecte la valeur Scheme valeur ` a loption interne nom-option du programme. En labsence de valeur, le programme utilisera #t. Pr exer nom-option dun no- vous permet de d esactiver une option. Ainsi, -dno-point-and-click revient au m eme que -dpoint-and-click=#f Voici les di erentes options disponibles, ainsi que leur valeur par d efaut. Symbole anti-alias-factor Valeur 1 Observations Adopte une r esolution sup erieure (selon le facteur donn e),puis r eduit au niveau du r esultat an d eviter les  distorsions  des images PNG. G en` ere les chiers .tex, .texi et .count pour le moteur de rendu EPS.

aux-files

#t

Chapitre 1: Ex ecution de lilypond

backend

'ps

D etermine le format de sortie ` a utiliser par le moteur de traitement. Les chiers PostScript (format par d efaut) incluent les fontes TTF, Type1 et OTF, et aucune substitution ne sera op er ee pour ces fontes. Si vous utilisez des jeux de caract` eres orientaux, le chier aura vite fait datteindre une taille cons equente. G en` ere du PostScript encapsul e. Chaque page (syst` eme) fera lobjet dun chier EPS particulier, sans fontes, auquel sera associ e un chier EPS qui, lui, contiendra toutes les pages (syst` emes) et les fontes. Notez quil sagit du mode que lilypond-book utilise par d efaut. Ne g en` ere aucun chier imprimable. Cette option est equivalente ` a -dno-print-pages. G en` ere duScalable Vector Graphics. Cette option permet de cr eer un chier SVG par page, sans incorporation des fontes. Nous vous recommandons dinstaller les fontes Century Schoolbook comprises dans le paquetage LilyPond an dobtenir le meilleur rendu possible. Sous UNIX, il sut de les recopier, ` a partir du r epertoire /usr/share/lilypond/VERSION/fonts/otf/, dans ~/.fonts/. Les chiers SVG alors g en er es devraient etre lisibles par votre editeur SVG habituel. Loption svg-woff voir ci-apr` es permet dutiliser les fontes woff avec le moteur SVG. Recopie litt eralement les commandes Scheme internes de formatage. V erie qu` a chaque propri et e est bien aect e un type. G en` ere des typons ` a partir dune partition. D etermine le pr exe des chiers de donn ees (lecture seule).

'eps

'null

'svg

'scm

check-internal-types

#f

clip-systems datadir

#f

debug-gc

#f

G en` ere une copie brute de la m emoire, aux ns de d ebogage.

Chapitre 1: Ex ecution de lilypond

debug-gc-assert-parsed-dead #f

Pour d ebogage de la m emoire : sassure que toute r ef erence ` a des objets analys es est eac ee. Il sagit dune option interne qui est automatiquement activ ee par loption `-ddebug-gc'. D ebogage de lanalyseur lexical ex. Purge les calculs des congurations de saut de page. D ebogage de lanalyseur bison. D ebogage des cha nes de callback cycliques. D ebogage des lignes dhorizon. Supprime les chiers .ps inutiles cr ees lors de la compilation. G en` ere une copie brute des informations de timing (d epend du syst` eme). G en` ere une copie brute de la m emoire et des temps de traitement pour chaque chier. G en` ere une copie des signatures de chaque syst` eme. Cette option est utilis ee pour les tests de r egression. D ecale le bord gauche du typon EPS dune valeur donn ee en millim` etres. Charge les fontes gr ace ` a Ghostscript. Limite les fontes charg ees par Ghostscript aux seules fontes LilyPond. Travaille silencieusement, et redirige tout le verbiage dans un chier journal.

debug-lexer

#f

debug-page-breaking-scoring #f

debug-parser debug-property-callbacks debug-skylines delete-intermediate-files

#f #f #f #t

dump-cpu-profile

#f

dump-profile

#f

dump-signatures

#f

eps-box-padding

#f

gs-load-fonts gs-load-lily-fonts

#f #f

gui

#f

Note ` a lattention des utilisateurs de Windows : toutes les informations concernant le traitement apparaissent au fur et ` a mesure dans linterpr eteur de commandes lorsque vous lancez le programme lilypond.exe, ` a linverse de lilypond-windows.exe qui vous renvoie simplement la main. Loption -dgui vous permettra alors de rediriger ces informations dans un chier journal. help include-book-title-preview #f #t Ache cette aide. Inclut les titres de louvrage dans les images de pr evisualisation.

Chapitre 1: Ex ecution de lilypond

include-eps-fonts

#t

Inclut les fontes dans chaque chier EPS contenant un syst` eme. Inclut un chier contenant les r eglages globaux. Ce chier sera inclus avant traitement de la partition. Traite plusieurs chiers en parall` ele, selon le nombre de jobs. Fournir TOTO en second argument redirigera la sortie dans le chier journal TOTO.log. Profondeur maximale de larborescence de markups. Si un markup etait plus profond, part du principe quon aboutira pas, emet un avertissement et renvoie alors un markup vide. D etermine lextension par d efaut des chiers MIDI, selon la cha ne donn ee en argument. Convertit les cha nes textuelles en chemins lorsque les glyphes font partie dune fonte musicale. Aecte au mode \relative le m eme comportement pour de la musique simultan ee que celui dune syntaxe daccords. D etermine la taille par d efaut du papier. Veillez ` a ne pas oublier dencadrer la valeur par des guillemets echapp es (\"). D etermine le format de sortie en images pix elis ees pour Ghostscript. Ajoute les liens  point & click  ` a la sortie PDF. Voir Section 4.1 [Pointer-cliquer], page 40. G en` ere une pr evisualisation en plus de la sortie normale.

include-settings

#f

job-count

#f

log-file

#f [fichier] 1024

max-markup-depth

midi-extension

"midi"

music-strings-to-paths

#f

old-relative

#f

paper-size

\"a4\"

pixmap-format

png16m

point-and-click

#f

preview

#f

Cette option, disponible dans tous les formats de sortie imprimables pdf, png, ps, eps et svg g en` ere un chier de la forme monFichier.preview.extension comprenant le titrage et le premier syst` eme. Sil existe plusieurs sections \book, \bookpart, ce chier contiendra les titrage et premier syst` eme de chacun des \book, \bookpart et \score, d` es lors que la variable print-all-headers du bloc \paper est activ ee.

Pour l eviter, utilisez conjointement -dno-print-pages selon vos besoins.

lune

des

options

-dprint-pages

ou

Chapitre 1: Ex ecution de lilypond

print-pages

#t

G en` ere lint egralit e des pages de la partition. Loption -dno-print-pages est particuli` erement utile lorsquutilis ee conjointement avec loption -dpreview. Enregistre des statistiques des appels ` a la fonction get_property(). Continue en d epit des erreurs que lanalyseur syntaxique d etecterait dans du code Scheme inclus. Lorsque bascul e sur #f, stoppe le traitement sil y a erreur et ache une trace de la pile. Sp ecie un chier listant les di erents chiers sources ` a traiter. Face ` a une instruction \include, recherche les chiers ` a inclure relativement ` a lendroit o` u se trouve le chier en cours de traitement plut ot que par rapport au chier ma tre. D etermine, en dpi, la r esolution des pixmaps PNG ` a g en erer selon la valeur donn ee. Ne pas avoir une conance aveugle dans le code .ly.

profile-property-accesses

#f

protected-scheme-parsing

#t

read-file-list

#f [fichier] #f

relative-includes

resolution

101

safe

#f

Lorsque LilyPond est accessible au travers dun serveur web, il est imp eratif dutiliser les options --safe ou --jail. Loption --safe aura pour eet demp echer tout code Scheme inclus de mettre en p eril votre installation gr ace ` a quelque chose du style #(system "rm -rf /") { c4^$(ly:gulp-file "/etc/passwd") } Loption -dsafe forcera l evaluation, au l de leau et par un module s ecuris e, des expressions Scheme contenues dans le chier source. Ce module s ecuritaire, d eriv e du module GUILE safe-r5rs, ajoute un certain nombre de fonctions list ees dans scm/safe-lily.scm ` a lAPI de LilyPond. De plus, le mode safe ne permet ni lutilisation de directives \include ni le recours aux obliques invers ees (backslash ) dans les cha nes TEX. Limport de variables LilyPond dans du code Scheme nest pas possible en mode s ecuris e. Loption -dsafe ne d etecte pas lutilisation abusive des ressources. Il est donc possible que le programme nisse par rester sans r eponse si on lui envoie une boucle sans n. Cest la raison pour laquelle nous recommandons, lorsque LilyPond tourne sur un serveur accessible au public, den limiter aussi bien les ressources processeur que m emoire. Notez bien que lutilisation du mode s ecuritaire emp echera aussi la compilation dun certain nombre de fragments LilyPond. Loption --jail est dans ce cas une excellente alternative en terme de s ecurit e, m eme si elle requiert plus de temps ` a mettre en place voir [Options basiques de lilypond], page 2.

Chapitre 1: Ex ecution de lilypond

separate-log-files

#f

Pour les chiers FICHIER1.ly, FICHIER2.ly, etc. enregistre le d eroulement dans les journaux FICHIER1.log, FICHIER2.log . . . Liste le nom des fontes disponibles. Force le crash en pr esence des points dexception de virgule ottante Inf ou NaN inni ou non-nombre. Supprime, lors du nommage des chiers r esultant, la partie correspondant au r epertoire des chiers sources. Utilise, avec le moteur SVG, les fontes woff. Enregistre lutilisation de la cellule Scheme plusieurs fois par seconde, dans les chiers FICHIER.stacks et FICHIER.graph. Enregistre la couverture des chiers Scheme dans FILE.cov. Passe en mode verbeux, ce qui correspond ` a un niveau de journalisation DEBUG (lecture seule). Consid` ere tous les messages davertissement et  erreur de programmation  comme etant de v eritables erreurs.

show-available-fonts strict-infinity-checking

#f #f

strip-output-dir

#t

svg-woff trace-memory-frequency

#f #f

trace-scheme-coverage

#f

verbose

#f

warning-as-error

#f

Variables denvironnement
lilypond reconna t les variables denvironnement suivantes : LILYPOND_DATADIR Cette variable sp ecie le r epertoire o` u seront recherch es par d efaut les di erentes versions des messages ainsi quun certain nombre de chiers n ecessaires au traitement. Il devrait contenir les sous-r epertoires ly/, ps/, tex/, etc. LANG Cette variable d etermine la langue dans laquelle seront emis les messages.

LILYPOND_LOGLEVEL Cette variable d etermine le niveau par d efaut de verbosit e. En labsence de niveau explicite autrement dit la ligne de commande ne comporte pas de --loglevel cest cette valeur qui sera utilis ee. LILYPOND_GC_YIELD Cette variable permet dajuster lempreinte m emoire et le rendement de la machine. Il sagit en fait dun pourcentage dallocation de m emoire : lorsquil est elev e, le programme favorisera lutilisation de la m emoire ; une faible valeur consommera plus de temps processeur. Par d efaut, cette valeur est x ee ` a 70.

Chapitre 1: Ex ecution de lilypond

10

Ex ecution de LilyPond en mode prot eg e


Param etrer un serveur an quil puisse faire fonctionner LilyPond en mode prot eg e sur un pseudo-p eriph erique est une t ache sensible. Les di erentes etapes ` a suivre sont r epertori ees cidessous. Les exemples quelle comportent proviennent dune distribution GNU/Linux Ubuntu et n ecessiteront lutilisation de sudo autant que de besoin. Installation des paquetages n ecessaires : LilyPond, Ghostscript et ImageMagick. Cr eation de lutilisateur lily : adduser lily Ceci, par la m eme occasion, cr eera un groupe sp ecique pour lutilisateur lily ainsi que son r epertoire personnel /home/lily. Cr eation, dans le r epertoire personnel de lutilisateur lily, dun espace agissant en tant que syst` eme de chiers : dd if=/dev/zero of=/home/lily/loopfile bs=1k count= 200000 Cette commande a cr e e un chier de 200 MB utilisable par le  syst` eme prot eg e . Cr eation dun pseudo-p eriph erique, g en eration dun syst` eme de chiers et chargement de celui-ci, puis cr eation dun r epertoire accessible en ecriture pour lutilisateur lily : mkdir /mnt/lilyloop losetup /dev/loop0 /home/lily/loopfile mkfs -t ext3 /dev/loop0 200000 mount -t ext3 /dev/loop0 /mnt/lilyloop mkdir /mnt/lilyloop/lilyhome chown lily /mnt/lilyloop/lilyhome Aectation, au niveau conguration du serveur, de /mnt/lilyloop en tant que JAIL et /lilyhome en tant que DIR. Cr eation dune arborescence, dans lespace prot eg e, et recopie de tous les chiers n ecessaires voir le script plus loin. Le recours ` a lutilitaire sed permet de cr eer les commandes de copie de tout ce qui est n ecessaire ` a un ex ecutable : for i in "/usr/local/lilypond/usr/bin/lilypond" "/bin/sh" "/usr/bin/; \ do ldd $i | sed 's/.*=> \/\(.*\/\)\([^(]*\).*/mkdir -p \1 \&\& \ cp -L \/\1\2 \1\2/' | sed 's/\t\/\(.*\/\)\(.*\) (.*)$/mkdir -p \ \1 \&\& cp -L \/\1\2 \1\2/' | sed '/.*=>.*/d'; done

Exemple de script fonctionnel en 32-bit sur Ubuntu 8.04


#!/bin/sh ## les r eglages par d efaut username=lily home=/home loopdevice=/dev/loop0 jaildir=/mnt/lilyloop # le pr efixe (sans slash au d ebut !) lilyprefix=usr/local # le r epertoire du syst` eme o` u lilypond est install e lilydir=/$lilyprefix/lilypond/ userhome=$home/$username loopfile=$userhome/loopfile adduser $username

Chapitre 1: Ex ecution de lilypond

11

dd if=/dev/zero of=$loopfile bs=1k count=200000 mkdir $jaildir losetup $loopdevice $loopfile mkfs -t ext3 $loopdevice 200000 mount -t ext3 $loopdevice $jaildir mkdir $jaildir/lilyhome chown $username $jaildir/lilyhome cd $jaildir mkdir -p bin usr/bin usr/share usr/lib usr/share/fonts $lilyprefix tmp chmod a+w tmp cp cp cp cp -r -L -L -L -L $lilydir $lilyprefix /bin/sh /bin/rm bin /usr/bin/convert /usr/bin/gs usr/bin /usr/share/fonts/truetype usr/share/fonts

# la formule magique de recopie des biblioth` eques for i in "$lilydir/usr/bin/lilypond" "$lilydir/usr/bin/guile" "/bin/sh" \ "/bin/rm" "/usr/bin/gs" "/usr/bin/convert"; do ldd $i | sed 's/.*=> \ \/\(.*\/\)\([^(]*\).*/mkdir -p \1 \&\& cp -L \/\1\2 \1\2/' | sed \ 's/\t\/\(.*\/\)\(.*\) (.*)$/mkdir -p \1 \&\& cp -L \/\1\2 \1\2/' \ | sed '/.*=>.*/d'; done | sh -s # les fichiers cp -L -r # les fichiers cp -L -r ### ### ### ### partag es pour ghostscript... /usr/share/ghostscript usr/share partag es pour ImageMagick /usr/lib/ImageMagick* usr/lib

Partant du principe que test.ly est dans /mnt/lilyloop/lilyhome, on devrait pouvoir lancer : Attention : /$lilyprefix/bin/lilypond est un script qui d efinit LD_LIBRARY_PATH - c'est primordial /$lilyprefix/bin/lilypond -jlily,lily,/mnt/lilyloop,/lilyhome test.ly

1.3 Messages derreur


Di erents messages derreur sont susceptibles dappara tre au cours de la compilation dun chier : Warning Avertissement Ce type de message est emis lorsque LilyPond d etecte quelque chose de suspect. Si vous avez demand e quelque chose qui sort de lordinaire, vous saurez probablement ce ` a quoi il est fait r ef erence et ignorerez de tels messages sans remord. N eanmoins, les messages davertissement indiquent la plupart du temps une incoh erence dans le chier source. Error Erreur LilyPond a d etect e une erreur. L etape en cours, quil sagisse de lanalyse, de linterpr etation des donn ees ou bien du formatage, sera men ee ` a son terme, puis LilyPond sarr etera.

Chapitre 1: Ex ecution de lilypond

12

Fatal error Erreur fatale LilyPond est confront e ` a une anomalie bloquante. Ceci ne se produit que tr` es rarement, et la plupart du temps en raison dune installation d efectueuse des fontes. Scheme error Erreur Scheme Les erreurs qui interviennent lors de lex ecution de code Scheme sont g er ees par linterpr eteur Scheme. Lutilisation du mode verbeux (options -V ou --verbose) vous permettra de localiser lappel de fonction d elictueux. Programming error Erreur de programmation LilyPond est confront e` a une incoh erence interne. Ce type de message est destin e` a venir en aide aux d eveloppeurs et d ebogueurs. En r` egle g en erale, vous pouvez tout simplement les ignorer. Parfois, il y en a tant quils masquent ce qui pourrait vous int eresser. . . Aborted (core dumped) Abandon Ce type de message indique que LilyPond a plant e en raison dune grave erreur de programmation. La survenance dun tel message est consid er ee comme de la plus haute importance. Si vous y etiez confront e, transmettez un rapport de bogue. Lorsque lavertissement ou lerreur est directement li e au chier source, le message est libell e sous la forme fichier:ligne:colonne: message contenu de la ligne litigieuse Un saut de ligne est plac e dans la ligne de code, indiquant lendroit pr ecis du probl` eme, comme ici : test.ly:2:19: erreur: n'est pas une dur ee: 5 { c'4 e' 5 g' } Notez que ces coordonn ees constituent lapproximation au mieux par LilyPond dans le code ayant d eclench e lavertissement ou lerreur. En r` egle g en erale, erreurs et avertissements surviennent lorsque LilyPond rencontre quelque chose dinattendu. Lorsque la ligne indiqu ee ne vous semble pas comporter d el ement litigieux, remontez de quelques lignes dans votre code. Vous trouverez dautres informations sur les erreurs au chapitre Section 1.4 [Quelques erreurs des plus courantes], page 12.

1.4 Quelques erreurs des plus courantes


Les conditions amenant aux erreurs qui suivent sont fr equentes, bien quelles ne soient pas evidentes ni facilement localisables. Nous esp erons que ces explications vous aideront ` a les r esoudre plus facilement.

La musique d eborde de la page


Lorsque la musique s epanche au del` a de la marge droite ou bien semble anormalement comprim ee, la raison en est le plus souvent une note ` a la dur ee erron ee ; cela nit par provoquer le d ebordement de la derni` ere note dune mesure. Rien ne soppose ` a ce que la derni` ere note dune mesure ne sarr ete avant la barre de mesure ; on consid` ere simplement quelle se prolonge sur la mesure suivante. Des d ebordements ` a r ep etition nissent par g en erer une musique comprim ee ou qui sort de la page, pour la simple et bonne raison que les sauts de ligne automatiques ne peuvent intervenir qu` a la n dune mesure compl` ete, autrement dit lorsque toutes les notes sont termin ees avant la n de la mesure.

Chapitre 1: Ex ecution de lilypond


13

Note : Une dur ee erron ee peut emp echer les sauts de ligne, ce qui conduit a une musique compress ` ee, voire ` a un d ebordement de la page.

Une erreur de dur ee sera bien plus facilement localisable si vous positionnez r eguli` erement des contr oles de barre de mesure voir Section V erication des limites et num eros de mesure dans Manuel de notation. Si vous tenez absolument ` a encha ner de tels d ebordements, vous devrez ins erer des barres de mesure invisibles l` a o` u vous souhaitez positionner un saut de ligne. Consultez le chapitre Section Barres de mesure dans Manuel de notation pour plus de d etails.

Apparition dune port ee suppl ementaire


Lorsque les contextes ne sont pas cr e es explicitement par la commande \new, ils le seront si la commande ` a ex ecuter nest pas cens ee sappliquer au contexte en cours. Pour des partitions simples, le fait que les contextes soient automatiquement cr e es rend bien des services, et cest dailleurs le cas pour la majorit e des exemples contenus dans les manuels de LilyPond. Cependant, la cr eation implicite dun contexte peut aboutir ` a lapparition dune port ee  parasite . On sattend par exemple, en lisant le code qui suit, ` a ce que toutes les t etes de note soient en rouge, alors que le r esultat nous pr esente deux port ees et que les notes, plac ees sur la port ee inf erieure, restent en noir. \override Staff.NoteHead #'color = #red \new Staff { a }

Etant donn e quaucun contexte Staff nexiste lorsque la d erogation est introduite, LilyPond le cr ee implicitement pour lui appliquer la directive consid er ee. Survient alors la commande \new Staff qui, ` a son tour, cr ee une nouvelle port ee pour contenir les notes qui suivent. Voici la syntaxe correcte pour obtenir ces notes en rouge : \new Staff { \override Staff.NoteHead #'color = #red a }

Autre exemple : la pr esence dune commande \relative ` a lint erieur dune section \repeat g en erera obligatoirement une port ee intempestive. Cela tient au fait que la commande \repeat va cr eer deux blocs \relative qui, chacun ` a leur tour, cr eeront implicitement un bloc Staff assorti dun bloc Voice. \repeat unfold 2 { \relative c' { c4 d e f } }

Chapitre 1: Ex ecution de lilypond

14

La mani` ere ad equate de proc eder consiste ` a inverser les commandes \repeat et \relative, comme ceci : \new Voice { \repeat unfold 2 { \relative c' { c4 d e f } } }

Erreur renvoyant ` a ../ly/init.ly


Certains messages derreur relatifs ` a une erreur de syntaxe dans le chier ../ly/init.ly peuvent survenir lorsque le chier est mal format e. Cela se produit notamment lors dun d efaut de parit e de bornages ou de guillemets. Lerreur la plus courante est la simple omission dune accolade fermante (}) ` a la n du bloc Score. La solution est evidente en pareil cas : il sut de v erier que le bloc Score est bien cl otur e. La structure des chiers LilyPond est abord ee plus en d etails au chapitre Section Organisation des chiers LilyPond dans Manuel dinitiation. Cest la raison pour laquelle nous vous invitons a utiliser un ` editeur de texte qui prenne en charge le contr ole de parit e des parenth` eses, crochets et accolades an de vous eviter de telles erreurs. Autre erreur courante, labsence despace entre la derni` ere syllabe et laccolade (}) cl oturant un bloc de paroles. Lorsquil ny a pas s eparation, laccolade est consid er ee comme faisant partie int egrante de la syllabe. Cest la raison pour laquelle nous vous invitons ` a ins erer une espace avant et apr` es chaque accolade. Dautres informations ` a ce sujets sont mentionn ees au chapitre Section Saisie des paroles dans Manuel de notation. Lorsquil sagit dun guillemet fermant (") omis, le message derreur devrait vous indiquer un num ero de ligne avoisinant. Lerreur se situe la plupart du temps une ou deux lignes au-dessus de celle indiqu ee.

Message derreur Unbound variable %


Ce message derreur, quil apparaisse sur le terminal ou en n de chier journal, est associ e` a un message du type  GUILE a signal e une erreur. . . . Il survient ` a chaque fois quun commentaire LilyPond est ind ument plac e dans une routine Scheme. Un commentaire LilyPond est introduit par le signe pourcent (%) et ne doit en aucun cas se trouver dans une routine Scheme. En Scheme, les commentaires sintroduisent par un pointvirgule (;).

Message derreur FT Get Glyph Name


Ce message derreur, quil apparaisse sur le terminal ou en n de chier journal, survient lorsquun chier source contient des caract` eres non ASCII et quil na pas et e enregistr e avec un encodage UTF-8. Pour plus de d etails, reportez-vous au chapitre Section Caract` eres sp eciaux dans Manuel de notation.

Chapitre 1: Ex ecution de lilypond

15

sta-anities devraient aller en ordre d ecroissant


Cet avertissement est emis lorsque la partition ne comporte pas de port ee, comme par exemple une feuille de chant avec un contexte ChordName et un contexte Lyrics. Ce message dispara tra d` es lors que vous autoriserez lun de ces contextes ` a se comporter comme une port ee, ` a laide de linstruction \override VerticalAxisGroup #'staff-affinity = ##f que vous ins ererez d` es sa cr eation. Pour plus dinformation, reportez-vous ` a la rubrique Section Espacement des lignes rattach ees ` a des port ees dans Manuel de notation.

Chapitre 2: Mise ` a jour avec convert-ly

16

2 Mise ` a jour avec convert-ly


La syntaxe des chiers LilyPond evolue avec le temps, que ce soit dans le but de la simplier ou pour lam eliorer. Il en r esulte que linterpr eteur de LilyPond se retrouve incapable de traiter danciens chiers. Lutilitaire convert-ly permet cependant de mettre ces chiers en conformit e au fur et ` a mesure que de nouvelles versions de LilyPond sont disponibles.

2.1 LilyPond est une langue vivante


La syntaxe de LilyPond change de temps en temps. Ces changements de syntaxe le langage dentr ee accompagnent les am eliorations du logiciel. Ces changements sont parfois destin es ` a rendre les chiers plus faciles ` a lire et ` a ecrire, ou permettent dint egrer de nouvelles fonctionnalit es. Par exemple, tous les noms des propri et es de \paper et \layout devaient etre libell ees sous la forme premier-deuxi` eme-troisi` eme. Nous avons constat e, une fois la version 2.11.60 mise ` a disposition, que la propri et e printallheaders ne respectait pas cette convention. Aurions-nous d u la laisser telle que, au risque de d erouter les nouveaux utilisateurs par cette exception au formatage, ou bien la modier ce qui allait obliger ceux qui lavaient d ej` a utilis ee ` a se mettre en chasse ? Pour ce cas desp` ece, nous avons d ecid e de changer pour print-all-headers. Cette modication peut heureusement etre automatis ee par notre utilitaire convert-ly. Malheureusement, convert-ly ne peut pas r ealiser toutes les modications. Par exemple, dans les versions 2.4 et ant erieures de LilyPond, les accents et les lettres non anglaises etaient ` A entr ees en utilisant L TEX par exemple, No\"el. A partir de la version 2.6, le caract` ere e doit etre entr e directement dans le chier LilyPond comme caract` ere UTF-8. convert-ly ne peut A pas changer tous les caract` eres L TEX en caract` eres UTF-8 ; vous devez mettre ` a jour vos vieux chiers LilyPond manuellement.

2.2 Ex ecution de convert-ly


convert-ly utilise les mentions de \version que vous navez s urement pas oubli e de porter dans vos chiers pour d eterminer le num ero de lancienne version. Mettre ` a jour votre chier ne vous demande que de lancer convert-ly -e monfichier.ly dans le dossier o` u il se trouve. monfichier.ly sera mis ` a jour, et vous aurez une copie de loriginal : monfichier.ly~.

Note : convert-ly eectuera les conversions jusquaux modications de syntaxe les plus r ecentes quil contient. Cest la raison pour laquelle le num ero de \version modi e est la plupart du temps inf erieur au propre num ero de version de convert-ly.

Vous pouvez convertir tous les chiers dun dossier en lan cant convert-ly -e *.ly Vous pouvez aussi aecter un autre nom au chier mis ` a jour et conserver votre chier original en l etat : convert-ly monfichier.ly > monnouveaufichier.ly Le programme achera les num eros de version correspondant aux di erentes conversions eectu ees. Si aucun num ero de version nappara t, consid erez que le chier ne comporte pas de syntaxe obsol` ete. Les utilisateurs de MacOS X disposent dune entr ee sp ecique dans le menu : Compile > Update syntax.

Chapitre 2: Mise ` a jour avec convert-ly

17

Si vous utilisez windows, ouvrez un interpr eteur de commande en faisant D emarrer > Accessoires > Interpr eteur de commandes.

2.3 Options en ligne de commande pour convert-ly


Lutilitaire convert-ly se lance de la mani` ere suivante : convert-ly [option]... fichier... Vous pouvez utiliser les options : -e,--edit pour editer directement le chier dorigine. -f,--from=from-patchlevel pour d enir le num ero de version ` a partir duquel vous voulez eectuer les conversions. Lorsque cette option nest pas activ ee, convert-ly tentera de le d eterminer sur la foi de la mention de \version contenue dans le chier. Cette option sutilise sous la forme : --from=2.10.25 -n,--no-version Normalement, convert-ly ajoutera une indication de \version ` a votre chier sil nen comporte pas. Cette option permet de passer outre. -s, --show-rules pour acher les conversions applicables. --to=to-patchlevel pour nappliquer les conversions que jusqu` a une version d etermin ee. Il sagit par d efaut de la derni` ere version disponible. Cette option sutilise sous la forme : --to=2.12.2 -h, --help visualiser laide et quitter. -l loglevel, --loglevel=loglevel pour r egler le degr e de verbosit e` a loglevel. Les di erentes valeurs sont NONE, ERROR, WARNING, PROGRESS (par d efaut) et DEBUG. Lorsquil sagit de fragments inclus dans un chier texinfo, il vous faudra lancer convert-ly --from=... --to=... --no-version *.itely Lorsque vous d esirez savoir quels changements de syntaxe sont intervenus entre deux versions de LilyPond, lancez convert-ly --from=ancienne --to=r ecente -s

2.4 Probl` emes dex ecution de convert-ly


Sous Windows, lorsque le nom du chier original ou le chemin qui y m` ene comporte des espaces, linterpr eteur de commande requiert quil soit entour e de triples guillemets comme ci-dessous : convert-ly """D:/Mes Partitions/Ode.ly""" > "D:/Mes Partitions/nouveau Ode.ly" Lorsque la commande convert-ly -e *.ly echoue parce que son expansion d epasse la taille maximale dune ligne, vous pouvez lancer convert-ly dans une boucle. Lexemple suivant permet, sous Unix, de convertir tous les chiers .ly dun m eme r epertoire : for f in *.ly; do convert-ly -e $f; done; Avec linterpr eteur de commandes de Windows, la syntaxe consacr ee est :

Chapitre 2: Mise ` a jour avec convert-ly

18

for %x in (*.ly) do convert-ly -e """%x""" Toutes les evolutions du langage ne sont pas forc ement prises en charge. convert-ly ne tol` ere quune seule option de sortie ` a la fois. La mise ` a jour automatique du code Scheme inclus dans les chiers LilyPond est plus quhasardeuse ; attendez-vous ` a devoir mettre les mains dans le cambouis.

2.5 Conversions manuelles


En th eorie, un programme tel que convert-ly devrait pouvoir traiter nimporte quel changement de syntaxe. En eet, si un programme informatique sait interpr eter aussi bien une version que lautre, un autre programme informatique doit alors etre capable de traduire un chier donn e1 . Le projet LilyPond ne dispose cependant que de ressources limit ees : les conversions ne sont pas toutes automatis ees. Voici une liste de probl` emes clairement identi es : 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.
1

Ceci est r ealisable tant que le chier LilyPond ne contient pas de Scheme. D` es lors quun chier contient du Scheme, des bribes de langage evolu e se retrouvent danas le chier LilyPond, ce qui conduit immanquablement au  probl` eme de larr et  bien connu en informatique.

Chapitre 2: Mise ` a jour avec convert-ly

19

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.

Chapitre 3: Association musique-texte avec lilypond-book

20

3 Association musique-texte avec lilypond-book


Vous pouvez inclure des partitions dans un document tout comme vous feriez pour nimporte quelle image. Ces images sont g en er ees s epar ement que ce soit sous forme de description A PostScript ou au format PNG puis incluses dans votre document L TEX ou HTML. lilypond-book permet dautomatiser ces op erations : le programme extrait de votre document les fragments de musique, les traite gr ace ` a lilypond puis en restitue la partition dans votre document. Largeur de ligne et taille de la fonte sont adapt ees pour correspondre ` a la mise en forme de votre document. lilypond-book est un script ind ependant de lilypond et se lance en ligne de commande pour plus de pr ecisions, consultez Section 1.2 [Utilisation en ligne de commande], page 1. Si vous utilisez MacOS ou Windows et rencontrez quelque dicult e avec lilypond-book, r ef erez-vous a Section MacOS X dans Informations g ` en erales ou Section Windows dans Informations g en erales .
A lilypond-book sapplique aux documents L TEX, HTML, Texinfo et DocBook.

3.1 Exemple de document musicologique


Un certain nombre douvrages peuvent etre illustr es par des extraits musicaux, quil sagisse dun trait e de musicologie, dun carnet de chant ou dun manuel ` a lexemple de celui que vous consultez actuellement. Cet agencement peut se faire  ` a la main  par importation dun graphique PostScript dans le traitement de texte. Les d eveloppeurs de LilyPond ont cependant cr e e un A outil permettant dautomatiser ces op erations pour ce qui concerne les documents HTML, L TEX, Texinfo et DocBook. Un script lilypond-book se charge dextraire les fragments de musique, puis de les mettre en forme avant de renvoyer la  partition  correspondante. Voici un court exemple A utilisable avec L TEX. Dans la mesure o` u il est susamment parlant, nous nous abstiendrons de le commenter.

Fichier dentr ee
\documentclass[a4paper]{article} \begin{document} Un document destin e ` a ^ etre trait e par \verb+lilypond-book+ peut tout ` a fait m elanger de la musique et du texte. Par exemple, \begin{lilypond} \relative c' { c2 e2 \times 2/3 { f8 a b } a2 e4 } \end{lilypond} Les options sont indiqu ees entre crochets. \begin{lilypond}[fragment,quote,staffsize=26,verbatim] c'4 f16 \end{lilypond} Des extraits plus cons equents peuvent faire l'objet d'un fichier

Chapitre 3: Association musique-texte avec lilypond-book

21

ind ependant, alors inclus avec \verb+\lilypondfile+. \lilypondfile[quote,noindent]{screech-and-boink.ly} (Si besoin, remplacez @file{screech-and-boink.ly} par n'importe quel fichier @file{.ly} qui se trouve dans le m^ eme r epertoire que le pr esent fichier.) \end{document}

Traitement
Enregistrez ces lignes dans un chier nomm e lilybook.lytex puis, dans un terminal, lancez lilypond-book --output=out --pdf lilybook.lytex lilypond-book (GNU LilyPond) 2.16.2 Lecture de lilybook.lytex... ..nous vous epargnons le verbiage de la console.. Compilation de lilybook.tex... cd out pdflatex lilybook ..nous vous epargnons le verbiage de la console.. xpdf lilybook (remplacez xpdf par votre lecteur de PDF habituel) Le traitement par lilypond-book puis latex va g en erer un certain nombre de chiers temporaires susceptibles dencombrer inutilement votre r epertoire de travail, aussi nous vous recommandons dutiliser loption --output=r epertoire an que les chiers cr e es soient isol es dans le sous-r epertoire r epertoire. A Pour terminer, voici le r esultat de cet exemple pour L TEX.1

Ce manuel etant r ealis e avec Texinfo, il se peut que la mise en forme diverge quelque peu.

Chapitre 3: Association musique-texte avec lilypond-book

22

R esultat
Un document destin e` a etre trait e par lilypond-book peut tout ` a fait m elanger de la musique et du texte. Par exemple,

Les options sont indiqu ees entre crochets. c'4 f16

Des extraits plus cons equents peuvent faire lobjet dun chier ind ependant, alors inclus avec \lilypondfile.

4 8

4 8

Lorsque vous d esirez y inclure un tagline, personnalis e ou non, lint egralit e de lextrait devra appara tre dans une construction de type \book { }. \book{ \header{ title = "LilyPond fait ses gammes" } \relative c' { c d e f g a b c } }

Chapitre 3: Association musique-texte avec lilypond-book

23

LilyPond fait ses gammes

Music engraving by LilyPond 2.16.2www.lilypond.org

Chapitre 3: Association musique-texte avec lilypond-book

24

3.2 Association musique-texte


Nous allons nous int eresser, dans les lignes qui suivent, ` a la mani` ere dint egrer LilyPond selon di erents types de format.
A 3.2.1 L TEX
A L TEX peut etre consid er e comme le standard de publication dans le domaine des sciences exactes. Il repose sur le moteur typographique TEX, le nec plus ultra en la mati` ere. A TEX en fran cais pour un aper cu des possibilit es Consultez The Not So Short Introduction to L A de L TEX. A An dins erer de la musique dans vos chiers L TEX, lilypond-book dispose des environnements et commandes suivantes :

la commande \lilypond{...} qui permet de directement saisir du code LilyPond simple ; lenvironnement \begin{lilypond}...\end{lilypond} qui permet de saisir directement du code LilyPond plus elabor e; la commande \lilypondfile{...} qui permet dins erer un chier LilyPond ; la commande \musicxmlfile{...} qui permet dins erer un chier MusicXML qui sera alors trait e par musicxml2ly puis lilypond. Il sut, pour inclure de la musique, dutiliser lune des instructions suivantes : \begin{lilypond}[liste,des,options] VOTRE CODE LILYPOND \end{lilypond} \lilypond[liste,des,options]{ VOTRE CODE LILYPOND } \lilypondfile[liste,des,options]{fichier} \musicxmlfile[liste,des,options]{fichier} Par ailleurs, la commande \lilypondversion vous permet dacher le num ero de version A de LilyPond. Lancer lilypond-book produira un chier qui sera ensuite trait e par L TEX. Voici quelques exemples. Lenvironnement lilypond \begin{lilypond}[quote,fragment,staffsize=26] c' d' e' f' g'2 g'2 \end{lilypond} produit

La version abr eg ee \lilypond[quote,fragment,staffsize=11]{<c' e' g'>} produit

Chapitre 3: Association musique-texte avec lilypond-book

25

Dans l etat actuel des choses, il nest pas possible dinclure des accolades { ou } dans un \lilypond{} ; cette commande nest donc pertinente que lorsque conjugu ee ` a loption fragment. La longueur par d efaut des port ees sera ajust ee en fonction des commandes contenues dans le pr eambule du document ce qui pr ec` ede la ligne \begin{document}. La commande A lilypond-book les transmet ` a L TEX an de conna tre la largeur du texte, et par voie de cons equence d eterminer la longueur des port ees. Notez bien que cet algorithme heuristique nest pas infaillible ; vous devrez alors recourir ` a loption line-width. D` es lors quelles auront et e d enies dans votre document, les macros suivantes seront appel ees avant chaque extrait musical : \preLilyPondExample avant la musique, \postLilyPondExample apr` es la musique, \betweenLilyPondSystem[1] entre les syst` emes, si tant est que lilypond-book a d ecoup e la partition en plusieurs chiers PostScript. Elle requiert un param` etre et re coit le nombre de chiers inclus dans lextrait. Par d efaut, elle ins` ere simplement un \linebreak.

Morceaux choisis
Lorsque, pour les besoins de la d emonstration, certains el ements musicaux tels que des liaisons de phras e ou de prolongation continuent apr` es le fragment qui vous int eresse, il sut dins erer un saut de ligne et de limiter le nombre de syst` emes ` a inclure. A En ce qui concerne L TEX, vous devrez d enir \betweenLilyPondSystem de telle sorte que linclusion cesse d` es que le nombre de syst` emes requis est atteint. Dans la mesure o` u \betweenLilyPondSystem nest appel e quapr` es le premier syst` eme, inclure un seul syst` eme est un jeu denfant : \def\betweenLilyPondSystem#1{\endinput} \begin{lilypond}[fragment] c'1\( e'( c'~ \break c' d) e f\) \end{lilypond} Pour un plus grand nombre de syst` emes, il sut dins erer un test conditionnel TEX avant le ` partir de lexemple qui suit, remplacez le  2  par le nombre de syst` \endinput. A emes dont vous aurez besoin : \def\betweenLilyPondSystem#1{ \ifnum##1<2\else\expandafter\endinput\fi } Etant donn e que \endinput arr ete imm ediatement le traitement du chier source en cours, linsertion du \expandafter permet de repousser ce \endinput apr` es le \fi ; la clause \if-\fi sera alors respect ee. Gardez ` a lesprit que \betweenLilyPondSystem est eectif tant que TEX nest pas sorti du A groupe en cours tel que lenvironnement L TEX ou ecras e par une nouvelle d enition pour la suite du document la plupart du temps. Pour r einitialiser cette d enition, ins erez \let\betweenLilyPondSystem\undefined A dans votre document L TEX. La cr eation dune macro TEX permet de se simplier la vie : \def\onlyFirstNSystems#1{ \def\betweenLilyPondSystem##1{% \ifnum##1<#1\else\expandafter\endinput\fi} } Il sut alors, avant chacun des fragments ` a inclure, de sp ecier le nombre de syst` emes requis :

Chapitre 3: Association musique-texte avec lilypond-book

26

\onlyFirstNSystems{3} \begin{lilypond}...\end{lilypond} \onlyFirstNSystems{1} \begin{lilypond}...\end{lilypond}

Voir aussi
lilypond-book dispose doptions en ligne de commande particuli` eres. Elles sont consultables, A ainsi que dautres d etails sp eciques au traitement de documents L TEX, au chapitre Section 3.4 [Utilisation de lilypond-book], page 31.

3.2.2 Texinfo
` titre dexemple, Texinfo est le format standard pour toute la documentation du projet GNU. A toute la documentation de LilyPond quil sagisse des versions HTML, PDF ou info est g en er ee ` a partir de documents Texinfo. An dins erer de la musique dans vos chiers Texinfo, lilypond-book dispose des environnements et commandes suivantes : la commande @lilypond{...} qui permet de directement saisir du code LilyPond simple ; lenvironnement @lilypond...@end lilypond qui permet de saisir directement du code LilyPond plus elabor e; la commande @lilypondfile{...} qui permet dins erer un chier LilyPond ; la commande @musicxmlfile{...} qui permet dins erer un chier MusicXML qui sera alors trait e par musicxml2ly puis lilypond. Il sut, pour inclure de la musique, dutiliser lune des instructions suivantes dans votre chier source : @lilypond[liste,des,options] VOTRE CODE LILYPOND @end lilypond @lilypond[liste,des,options]{ VOTRE CODE LILYPOND } @lilypondfile[liste,des,options]{fichier} @musicxmlfile[liste,des,options]{fichier} Par ailleurs, lutilisation dun @lilypondversion permet dacher la version de LilyPond utilis ee. Le traitement du chier source par lilypond-book g en` ere un chier Texinfo (extension .itexi) qui contiendra les balises @image pour les formats HTML, Info ou imprimable. Les images g en er ees par lilypond-book sont au format EPS et PDF en vue dune impression, et au format PNG pour leur utilisation en HTML ou Info. En voici deux exemples. Un environnement lilypond @lilypond[fragment] c' d' e' f' g'2 g' @end lilypond produit

La version abr eg ee

Chapitre 3: Association musique-texte avec lilypond-book

27

@lilypond[fragment,staffsize=11]{<c' e' g'>} produit

A Contrairement ` aL TEX, @lilypond{...} ne va pas int egrer dimage dans le document, mais g en erer un paragraphe.

3.2.3 HTML
An dins erer de la musique dans vos chiers HTML, lilypond-book dispose des environnements et commandes suivantes : la commande <lilypond ... /> qui permet de directement saisir du code LilyPond simple ; lenvironnement <lilyond>...</lilypond> qui permet de saisir directement du code LilyPond plus elabor e; la commande <lilypondfile>...</lilypondfile> qui permet dins erer un chier LilyPond ; la commande <musicxmlfile>...</musicxmlfile> qui permet dins erer un chier MusicXML qui sera alors trait e par musicxml2ly puis lilypond. Il sut, pour inclure de la musique, dutiliser lune des instructions suivantes dans votre chier source : <lilypond liste des options> VOTRE CODE LILYPOND </lilypond> <lilypond liste des options: VOTRE CODE LILYPOND /> <lilypondfile liste des options>fichier</lilypondfile> <musicxmlfile liste des options>fichier</musicxmlfile> Il sut, pour inclure de la musique, dutiliser <lilypond fragment relative=2> \key c \minor c4 es g2 </lilypond> lilypond-book produira alors un chier HTML contenant les balises dimage pour les fragments de musique :

Pour ins erer limage au l du texte, il sut dutiliser <lilypond ... />, tout en s eparant options et musique par un caract` ere deux points, comme ici : De la musique <lilypond relative=2: a b c/> au milieu d'une ligne de texte. Lorsque linclusion concerne des chiers ind ependants, utilisez <lilypondfile option1 option2 ...>fichier</lilypondfile> La syntaxe pour <musicXmlfile> est identique ` a celle de <lilypondfile>, ` a ceci pr` es quelle fait r ef erence ` a un chier MusicXML plut ot qu` a un chier LilyPond.

Chapitre 3: Association musique-texte avec lilypond-book

28

Une liste des di erentes options utilisables avec les balises lilypond et lilypondfile est disponible, ` a la rubrique Section 3.3 [Options applicables aux fragments de musique], page 29. Par ailleurs, la commande <lilypondversion/> vous permet dacher le num ero de version de LilyPond.

3.2.4 DocBook
Linclusion de documents LilyPond ne doit nuire en rien ` a la conformit e du document DocBooK ; lutilisation d editeurs sp ecialis es ainsi que doutils de validation en sera ainsi pr eserv ee. Cest la raison pour laquelle nous ne d enirons pas de balise sp ecique ; nous respecterons plut ot les conventions des el ements standard de DocBook.

Conventions communes
Quel que soit le type dextrait ` a inclure, nous utiliserons les el ements mediaobject et inlinemediaobject, de telle sorte que ces inclusions soient incorpor ees directement ou non dans le document nal. Les options de formatage des extraits en question sont fournies par la propri et e role de l el ement central voir les paragraphes suivants. Les balises sont d etermin ees de mani` ere ` a ce que les editeurs DocBook prennent en charge du mieux possible leur contenu. Les chiers DocBook destin es ` a un traitement par lilypond-book doivent avoir une extension .lyxml.

Inclusion dun chier LilyPond


Il sagit en fait du cas le plus simple. Le chier ` a inclure doit avoir une extension .ly et sera ins er e comme nimporte quel imageobject, en respectant la structure suivante : <mediaobject> <imageobject> <imagedata fileref="music1.ly" role="printfilename" /> </imageobject> </mediaobject> Vous pouvez utiliser, en tant que balise externe, aussi bien mediaobject que inlinemediaobject.

Inclusion de code LilyPond

Linclusion de code LilyPond se r ealise a ` laide dun programlisting auquel on associe le langage lilypond. En voici la syntaxe : <inlinemediaobject> <textobject> <programlisting language="lilypond" role="fragment verbatim staffsize=16 ragged-right re \context Staff \with { \remove "Time_signature_engraver" \remove "Clef_engraver"} { c4( fis) } </programlisting> </textobject> </inlinemediaobject> Comme vous le remarquez, la balise externe quil sagisse dun mediaobject ou dun inlinemediaobject comporte un bloc textobject qui contiendra le programlisting.

G en eration du document DocBook


lilypond-book g en` ere, ` a partir dun chier .lyxml, un document DocBook tout ` a fait valide extension .xml que vous pourrez ensuite traiter avec votre application habituelle. Dans

Chapitre 3: Association musique-texte avec lilypond-book

29

le cas de dblatex, vous obtiendrez alors automatiquement un chier PDF. Les feuilles de style XSL DocBook ocielles permettent de g en erer du HTML (HTML Help, JavaHelp, etc.) ; vous pourriez n eanmoins devoir y apporter quelques adaptations.

3.3 Options applicables aux fragments de musique


Dans les lignes qui suivent, lappellation  commande LilyPond  fait r ef erence ` a toutes celles vues plus haut et qui font appel ` a lilypond-book pour produire un extrait musical. Pour plus A de simplicit e, nous ne parlerons que de la syntaxe applicable ` aL TEX. Nous attirons votre attention sur le fait que les di erentes options sont lues de la gauche vers la droite. Si une option est transmise plusieurs fois, seule la derni` ere sera prise en compte. Les commandes LilyPond acceptent les options suivantes : staffsize=hauteur D enit la taille de port ee ` a hauteur exprim ee en points. ragged-right Produit des lignes en pleine largeur avec un espacement naturel. En dautres termes, sera ajout ee la commande de mise en forme ragged-right = ##t. Il sagit de loption par d efaut de la commande \lilypond{} en labsence doption line-width. Cest aussi loption par d efaut pour lenvironnement lilypond lorsque loption fragment est activ ee sans avoir d eni explicitement de longueur de ligne. noragged-right Dans le cas o` u lextrait tient sur une seule ligne, la port ee sera etir ee pour correspondre ` a la longueur de ligne du texte. Autrement dit, la commande de mise en forme ragged-right = ##f sajoute ` a lextrait LilyPond. line-width line-width=taille\unit e D etermine la longueur de ligne ` a taille, exprim ee en unit e. unit e peut prendre les valeurs cm, mm, in ou pt. Cette option naectera que le r esultat de LilyPond la longueur de la port ee et en aucun cas la mise en forme du texte. En labsence dargument, la longueur de ligne sera d enie ` a une valeur par d efaut telle que calcul ee par un algorithme heuristique. Lorsque loption line-width nest pas utilis ee, lilypond-book tentera de d eterminer des valeurs par d efaut pour les cas o` u les environnements lilypond ne font pas appel ` a ragged-right. papersize=cha^ ne D etermine le format du papier ` a cha ne tel que d eni dans le chier scm/paper.scm a5, quarto, 11x17, etc. Toute valeur non mentionn ee dans scm/paper.scm sera rejet ee. lilypond-book emettra un message davertissement et lextrait utilisera le format par d efaut, ` a savoir a4. notime fragment D esactive limpression des m etriques et barres de mesure pour lint egralit e de la partition. Laisse ` a lilypond-book le soin dajouter ce qui est indispensable, de telle sorte que vous pouvez vous contenter dun c'4 sans \layout, \score, etc.

Chapitre 3: Association musique-texte avec lilypond-book

30

nofragment ` noter quil sagit Najoute rien ` a ce qui se trouve dans lenvironnement LilyPond. A de loption par d efaut. indent=taille\unit e D enit lindentation du premier syst` eme ` a taille, exprim ee en unit e cm, mm, in ou pt. Cette option naecte que LilyPond, et en aucun cas la mise en forme du texte. noindent Ram` ene lindentation du premier syst` eme ` a z ero. Cette option naecte que LilyPond, et en aucun cas la mise en forme du texte. Dans la mesure o` u il sagit du comportement par d efaut, point nest besoin de sp ecier noindent. R eduit la longueur des lignes musicales de 2 0.4 in (soit 2 10, 16 mm) pour renvoyer lextrait dans un bloc de citation. La valeur  0,4 pouce  est contr ol ee par loption exampleindent.

quote

exampleindent D etermine la valeur de lindentation qui sera utilis ee par loption quote. relative relative=n Utilise le mode doctave relative. Les notes sont donc par d efaut positionn ees relativement au do central. Largument un nombre entier fourni ` a loption relative sp ecie loctave de d epart de lextrait ; 1 correspond au do central. Cette option relative na deet que si elle est utilis ee en combinaison avec loption fragment ; autrement dit, loption fragment est implicite d` es lors que relative est explicit e. La documentation de LilyPond, comme nous lavons d ej` a vu, use abondamment de lilypond-book. Elle utilise ` a cet eet quelques options particuli` eres. verbatim Largument de la commande LilyPond est recopi e textuellement dans le chier g en er e, avant limage de la partition. Cependant, cette option nest pas pleinement op erationnelle lorsquun \lilypond{} se trouve au milieu dun paragraphe. Lutilisation conjointe dun verbatim et de la commande lilypondfile permet de ninclure textuellement quune seule partie du chier source. lilypond-book reproduira alors textuellement la partie du chier source comprise entre les commentaires begin verbatim et eventuellement end verbatim. Si lon consid` ere le chier source suivant, la musique sera interpr et ee en mode relatif, mais la recopie du code ne comportera pas lassertion du bloc relative : \relative c' { % begin verbatim c4 e2 g4 f2 e % end verbatim } donnera dans un bloc verbatim pr ec edant la partition : c4 e2 g4 f2 e Si daventure vous d esirez traduire les commentaires et noms de variable dans le rendu textuel plut ot que dans le chier source, vous devrez d enir la variable denvironnement LYDOC_LOCALEDIR qui pointera vers un r epertoire contenant larborescence des catalogues de messages chiers dextension .mo du domaine lilypond-doc. Cette option, eective uniquement avec Texinfo, permet dajouter une ligne \version @w{"@version{}"} au verbatim.

addversion

Chapitre 3: Association musique-texte avec lilypond-book

31

texidoc

Option disponible uniquement avec Texinfo. D` es lors quun chier toto.ly contient dans sa section \header un champ texidoc, lappel de lilypond avec loption --header=texidoc cr eera le chier toto.texidoc. Par ailleurs, cest le contenu de ce toto.texidoc qui sera ensuite recopi e par lilypond-book en pr eambule de lextrait de partition soit avant lenvironnement example cr e e par un quote. Prenons par exemple le chier toto.ly dont le contenu est \header { texidoc = "This file demonstrates a single note." } { c'4 } et quelque part dans notre document Texinfo test.texinfo @lilypondfile[texidoc]{toto.ly} La ligne de commande suivante produira le r esultat escompt e. lilypond-book --pdf --process="lilypond \ -dbackend=eps --header=texidoc" test.texinfo La plupart des chiers de test contenus dans le r epertoire input de la distribution est constitu ee de la sorte. Cette option est fort utile dans le cadre de ladaptation en langue etrang` ere. En eet, sil est sp eci e dans le document Texinfo une clause @documentlanguage LANGUE, la pr esence dune variable texidocLANGUE dans lent ete du chier toto.ly entra nera la reproduction par lappel lilypond --header=texidocLANGUE du contenu de toto.texidocLANGUE en lieu et place de celui de toto.texidoc. Option disponible uniquement avec Texinfo. Cette option fonctionne selon le m eme principe que loption texidoc : lorsquun chier toto.ly contient dans son \header une variable doctitle et que lilypond est appel e avec loption doctitle, le contenu de cette variable une simple ligne de texte sera recopi e dans un chier toto.doctitle puis ins er e dans le document Texinfo sous la forme @lydoctitle texte. @lydoctitle doit faire lobjet dune macro, d enie dans le document Texinfo. Il en va de loption doctitle comme de loption texidoc en mati` ere dadaptation en langue etrang` ere. Option disponible uniquement pour Texinfo. Commentaires et noms de variable ne seront pas traduits dans la recopie textuelle du code.

doctitle

nogettext

printfilename Lorsquun chier source LilyPond est inclus ` a laide de \lilypondfile, le nom du chier sera reproduit juste au dessus de lextrait. Si le r esultat est un chier HTML, il sagira alors dun lien. Seul le nom du chier est imprim e ; autrement dit, le chemin dacc` es au chier est tronqu e.

3.4 Utilisation de lilypond-book


lilypond-book produit un chier qui aura, selon le format de sortie sp eci e, lextension .tex, .texi, .html ou .xml. Les chiers .tex, .texi et .xml n ecessitent un traitement compl ementaire.

Instructions sp eciques ` a certains formats

Chapitre 3: Association musique-texte avec lilypond-book

32

A L TEX
A Un document L TEX destin e` a limpression ou ` a la publication peut se traiter de deux mani` eres A di erentes : g en erer directement un PDF ` a laide de PDFL TEX, ou bien g en erer un chier A avec L TEX qui sera ensuite pass e` a un traducteur DVI-PostScript comme dvips. La premi` ere 1 fa con est de loin la plus simple et cest celle que nous vous recommandons ; quelque soit votre pr ef erence, sachez que vous pouvez aller du PostScript au PDF avec des outils tels que ps2pdf et pdf2ps tous deux inclus dans la distribution de Ghostscript. A La production dun PDF avec PDFL TEX se fait en lan cant les commandes

lilypond-book --pdf monfichier.lytex pdflatex monfichier.tex


A La s equence L TEX/dvips/ps2pdf suivante permet de produire un PDF :

lilypond-book monfichier.lytex latex monfichier.tex dvips -Ppdf monfichier.dvi ps2pdf monfichier.ps Le chier .dvi g en er e lors de ce traitement ne contient aucune t ete de note, ce qui est tout ` a fait normal ; elles seront incluses lors de la g en eration du .ps puis dans le .pdf. La commande dvips peut d eclencher certains messages concernant des fontes, que vous pouvez ignorer sans scrupule. Si vous utilisez latex en mode colonnage, noubliez pas dajouter -t landscape aux options de dvips.

Probl` emes connus et avertissements


La commande \pageBreak est inop erante dans un environnement \begin{lilypond} ... \end{lilypond}. Il en va de m eme pour un certain nombre de variables appartenant au bloc \paper. Utilisez, entre autres, un \newcommand avec la macrocommande \betweenLilyPondSystem dans le pr eambule. \newcommand{\betweenLilyPondSystem}[1]{\vspace{36mm}\linebreak}

Texinfo
La g en eration dun document Texinfo quel que soit le format nal sobtient gr ace aux commandes Texinfo habituelles, cest a ` dire texi2pdf, texi2dvi ou makeinfo selon le r esultat que vous d esirez obtenir. Pour plus de d etails, consultez la documentation de Texinfo.

Options en ligne de commande


lilypond-book accepte les options suivantes : -f format --format=format Sp ecie le type de document ` a traiter : html, latex, texi (valeur par d efaut) ou docbook. Lorsque cette option nest pas mentionn ee, lilypond-book tente de d eterminer automatiquement le format voir Section 3.5 [Extensions de nom de ` lheure actuelle, texi est chier], page 34. A equivalant ` a texi-html.
1

ATEX et L ATEX pour compiler un document L ATEX, nous Sachant que vous ne disposez pas forc ement de PDFL vous pr esentons les deux m ethodes.

Chapitre 3: Association musique-texte avec lilypond-book

33

-F filtre --filter=filtre Passe les extrait au travers de ltre avant de traiter le chier. Cette option permet de, par exemple, appliquer les mises ` a jour de LilyPond aux extraits avant de traiter le chier : lilypond-book --filter='convert-ly --from=2.0.0 -' mon-book.tely -h --help

Ache un bref r esum e des options.

-I dir --include=r epertoire Ajoute r epertoire au chemin des inclusions. Si des extraits ont d ej` a et e compil es dans lun des r epertoires inclus, lilypond-book ne les r e ecrira pas dans le r epertoire de sortie ; il sera donc n ecessaire, dans la suite du traitement par makeinfo ou latex, de penser ` a utiliser cette m eme option -I r epertoire. -l loglevel --loglevel=loglevel D etermine le degr e de verbosit e ` a loglevel. Les di erentes valeurs admises sont NONE, ERROR, WARNING, PROGRESS (par d efaut) et DEBUG. Lorsque cette option nest pas activ ee, cest le niveau d etermin e par la variable denvironnement LILYPOND_BOOK_LOGLEVEL qui sera utilis e. -o dir --output=r epertoire Regroupe les chiers g en er es dans r epertoire. lilypond-book cr ee un certain nombre de chiers ` a lusage de LilyPond. An d eviter de polluer votre r epertoire source, nous vous conseillons dutiliser loption --output, puis de vous rendre dans ce r epertoire pour y lancer les commandes latex ou makeinfo. lilypond-book --output=out monfichier.lytex cd out ... --skip-lily-check D esactive la mise en echec en labsence de sortie de lilypond. Option utilis ee pour la documentation au format Info sans images. --skip-png-check D esactive la mise en echec en labsence dimages PNG correspondant aux chiers EPS. Option utilis ee pour la documentation au format Info sans images. --lily-output-dir=r ep Ecrit les chiers lily-XXX dans r ep et cr ee un lien vers le r epertoire sp eci e par --output. Cette option permet d economiser du temps lors de la g en eration de documents qui se trouvent dans di erents r epertoires et partagent un certain nombre dextraits identiques. --lily-loglevel=loglevel D etermine le degr e de verbosit e lors des appels ` a lilypond. Les valeurs autoris ee de loglevel sont : NONE, ERROR, WARNING, BASIC_PROGRESS, PROGRESS, INFO (par d efaut)

Chapitre 3: Association musique-texte avec lilypond-book

34

et DEBUG. Lorsque cette option nest pas activ ee, cest le niveau d etermin e par la variable denvironnement LILYPOND_LOGLEVEL qui sera utilis e. --info-images-dir=r epertoire Formate la sortie Texinfo de telle sorte que Info cherche les images de musique dans r epertoire. --latex-program=programme Utilise lex ecutable programme en lieu et place de latex. Cest loption que vous utiliserez si vous pr ef erez xelatex par exemple. --left-padding=distance D ecale les gures EPS de distance exprim ee en millim` etres (3 par d efaut). Cette option est utile lorsque les lignes de musique d ebordent sur la marge droite. Rappelez-vous que la largeur dun syst` eme d epend des el ement contenus dans sa marge gauche, tels que num ero de mesure et nom dinstrument. Cette option permet de  raccourcir  les lignes et de les d ecaler vers la droite, de la distance donn ee en argument. -P commande --process=commande Traite les extraits LilyPond avec commande. Par d efaut, il sagit de lilypond. Rappelez-vous que lilypond-book ne peut en m eme temps traiter loption --filter et loption --process. --pdf
A Cr ee des chiers PDF pour les retraiter avec PDFL TEX.

--redirect-lilypond-output Le r esultat des commandes est habituellement ach e dans le terminal. Cette option permet de rediriger tout le verbiage dans un journal situ e dans le m eme r epertoire que le chier source. --use-source-file-names Cette option permet daecter aux chiers correspondant aux extraits de musique le m eme nom que leur source. Elle nest fonctionnelle que dans le cas o` u la partition est incluse ` a laide de lilypondfile, et que les r epertoires mentionn es par les options --output-dir et --lily-output-dir di` erent. -V --verbose lilypond-book sait --loglevel=DEBUG. -v --version Ache le num ero de version. etre volubile ! Cette option est equivalente a `

Probl` emes connus et avertissements


lilypond-book ne sait pas interpr eter la commande Texinfo @pagesize. Dans le m eme ordre A did ee, des commandes L TEX modiant les marges et longueur de ligne mentionn ees apr` es le pr eambule seront ignor ees. Lorsquune section LilyPond contient plusieurs \score, seul le premier sera trait e.

3.5 Extensions de nom de chier


Vous pouvez aecter ` a votre chier source nimporte quelle extension. Nous vous recommandons cependant un certain nombre dextensions selon le format de sortie d esir e voir Section 3.4

Chapitre 3: Association musique-texte avec lilypond-book

35

[Utilisation de lilypond-book], page 31. Une extension hors du commun vous obligera ` a sp ecier le format de sortie, alors que lilpond-book est en mesure de d eterminer le format de sortie en fonction de lextension du chier source. extension .html .htmly .itely .latex .lytex .lyxml .tely .tex .texi .texinfo .xml format r esultant HTML HTML Texinfo A L TEX A L TEX DocBook Texinfo A L TEX Texinfo Texinfo HTML

Lorsque le chier source a la m eme extension que celle que lilypond-book aectera au chier r esultant et que vous lancez lilypond-book ` a partir du r epertoire le contenant, vous verrez assur ement un message du type  La sortie va ecraser le chier dentr ee . Aussi ne saurions-nous trop vous conseiller dutiliser loption --output.

3.6 Mod` eles pour lilypond-book


Voici quelques canevas d edi es ` a lilypond-book. Si vous ne savez pas de quoi il retourne, lisez le chapitre Chapitre 3 [lilypond-book], page 20.
A 3.6.1 L TEX

Vous pouvez inclure des partitions LilyPond dans un document LaTeX. \documentclass[]{article} \begin{document} Des bananes alit ees sur du LaTeX. \begin{lilypond} \relative c'' { a4 b c d } \end{lilypond} Encore des banalit es LaTeX, puis quelques options entre crochets. \begin{lilypond}[fragment,relative=2,quote,staffsize=26,verbatim] d4 c b a \end{lilypond} \end{document}

3.6.2 Texinfo
Un document Texinfo est tout ` a fait capable de comporter des fragments de partition LilyPond. Si vous ne le savez pas encore, sachez que lint egralit e de ce manuel est r edig ee en Texinfo. \input texinfo @node Top @top

Chapitre 3: Association musique-texte avec lilypond-book

36

Du verbiage ` a la mode Texinfo @lilypond \relative c' { a4 b c d } @end lilypond Toujours plus de texte Texinfo, puis des options entre crochets. @lilypond[verbatim,fragment,ragged-right] d4 c b a @end lilypond @bye

3.6.3 html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!-- header_tag --> <HTML> <body> <p> Un document pour lilypond-book peut absolument m elanger musique et texte. Par exemple, <lilypond> \relative c'' { a4 b c d } </lilypond> </p> <p> Pourquoi pas un peu plus de lilypond, avec des options pour changer : <lilypond fragment quote staffsize=26 verbatim> a4 b c d </lilypond> </p> </body> </html>

3.6.4 xelatex
\documentclass{article} \usepackage{ifxetex} \ifxetex %pour ce qui est de xetex

Chapitre 3: Association musique-texte avec lilypond-book

37

\usepackage{xunicode,fontspec,xltxtra} \setmainfont[Numbers=OldStyle]{Times New Roman} \setsansfont{Arial} \else %inutile en l'absence de pdftex \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{mathptmx}%Times \usepackage{helvet}%Helvetica \fi %ici les paquetages que pdftex sait interpr eter \usepackage[ngerman,finnish,english]{babel} \usepackage{graphicx} \begin{document} \title{Un petit document avec LilyPond et xelatex} \maketitle Les commandes habituelles de \textbf{fontes} sont fonctionnelles y compris au fil du texte, etant donn e qu'\textsf{elles sont prises en charge par \LaTeX{} and XeteX.} Lorsque vous avez besoin de commandes particuli` eres du style \verb+\XeTeX+, pensez ` a les inclure dans un environnement \verb+\ifxetex+. Vous pourrez ainsi utiliser la \ifxetex commande \XeTeX{} \else commande XeTeX \fi qui, elle, n'est pas reconnue par le \LaTeX traditionnel. Vous pouvez inclure des commandes LilyPond directement dans votre texte, comme ici~: \begin{lilypond} {a2 b c'8 c' c' c'} \end{lilypond} \noindent puis reprendre le fil de votre discours. Les fontes utilis ees dans les extraits LilyPond devront ^ etre d efinies au sein de l'extrait. Lisez le manuel d'utilisation si vous ne ma^ trisez pas lilypond-book. \selectlanguage{ngerman} Auch Umlaute funktionieren ohne die \LaTeX -Befehle, wie auch alle anderen seltsamen Zeichen: , , l, ~ a, c , wenn sie von der Schriftart unterst utzt werden. \end{document}

3.7 Gestion de la table des mati` eres


Les fonctions ici mentionn ees sont incluses dans le paquetage OrchestralLily, disponible sur http://repo.or.cz/w/orchestrallily.git

Chapitre 3: Association musique-texte avec lilypond-book

38

Certains utilisateurs privil egient la exibilit e dans la gestion du texte ; ils g en` erent la table A des mati` eres ` a partir de LilyPond et la r ecup` erent dans L TEX.

Export de la table ` a partir de LilyPond


Nous partons du principe que LilyPond a g en er e un seul chier comportant tous les mouvement de la partition.
#(define (oly:create-toc-file layout pages) (let* ((label-table (ly:output-def-lookup layout 'label-page-table))) (if (not (null? label-table)) (let* ((format-line (lambda (toc-item) (let* ((label (car toc-item)) (text (caddr toc-item)) (label-page (and (list? label-table) (assoc label label-table))) (page (and label-page (cdr label-page)))) (format #f "~a, section, 1, {~a}, ~a" page text label)))) (formatted-toc-items (map format-line (toc-items))) (whole-string (string-join formatted-toc-items ",\n")) (output-name (ly:parser-output-name parser)) (outfilename (format "~a.toc" output-name)) (outfile (open-output-file outfilename))) (if (output-port? outfile) (display whole-string outfile) (ly:warning (_ "Impossible d'ouvrir le fichier ~a contenant les informations de TdM") outfilename)) (close-output-port outfile))))) \paper { #(define (page-post-process layout pages) (oly:create-toc-file layout pages)) } A Import de la table dans L TEX
A Lent ete de votre chier L TEX doit comporter les lignes

\usepackage{pdfpages} \includescore{nomdelapartition}

o` u \includescore est d eni ainsi :


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \includescore{PossibleExtension} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Read in the TOC entries for a PDF file from the corresponding .toc file. % This requires some heave latex tweaking, since reading in things from a file % and inserting it into the arguments of a macro is not (easily) possible % Solution by Patrick Fimml on #latex on April 18, 2009: % \readfile{filename}{\variable} % reads in the contents of the file into \variable (undefined if file % doesn't exist) \newread\readfile@f \def\readfile@line#1{% {\catcode`\^^M=10\global\read\readfile@f to \readfile@tmp}% \edef\do{\noexpand\g@addto@macro{\noexpand#1}{\readfile@tmp}}\do% \ifeof\readfile@f\else% \readfile@line{#1}% \fi% } \def\readfile#1#2{% \openin\readfile@f=#1 % \ifeof\readfile@f% \typeout{No TOC file #1 available!}% \else% \gdef#2{}%

Chapitre 3: Association musique-texte avec lilypond-book

39

\readfile@line{#2}% \fi \closein\readfile@f% }%

\newcommand{\includescore}[1]{ \def\oly@fname{\oly@basename\@ifmtarg{#1}{}{_#1}} \let\oly@addtotoc\undefined \readfile{\oly@xxxxxxxxx}{\oly@addtotoc} \ifx\oly@addtotoc\undefined \includepdf[pages=-]{\oly@fname} \else \edef\includeit{\noexpand\includepdf[pages=-,addtotoc={\oly@addtotoc}] {\oly@fname}}\includeit \fi }

3.8 Autres m ethodes dassociation texte-musique


Dautres moyens de m elanger musique et texte sans recourir ` a lilypond-book sont abord es au chapitre Section 4.4 [Inclusion de partition LilyPond dans dautres programmes], page 46.

Chapitre 4: Programmes externes

40

4 Programmes externes
LilyPond peut interagir avec dautres programmes, selon di erentes mani` eres.

4.1 Pointer-cliquer
Le pointer-cliquer ajoute des liens au sein des documents PDF, pour certains ev enements musicaux.

Activation du pointer-cliquer
Le pointer-cliquer (point and click ) permet de se retrouver directement dans le chier source, a la note que lon pointe dans le visionneur de PDF. Ceci facilite grandement le rep ` erage des erreurs ` a partir du chier imprimable. Lorsque cette fonctionnalit e est active, LilyPond ajoute des hyperliens au chier PDF. Ces liens sont transmis au navigateur internet qui se charge douvrir un editeur de texte ` a lendroit m eme o` u le curseur pointe. An que cette cha ne de traitement soit pleinement op erationnelle, il faut congurer votre visionneur de PDF de fa con ` a ce quil suive les liens gr ace au script lilypond-invoke-editor fourni avec LilyPond. Pour Xpdf, sous UNIX, vous devrez ins erer la ligne suivante dans le chier xpdfrc soit /etc/xpdfrc, soit dans votre r epertoire personnel .xpdfrc. urlCommand "lilypond-invoke-editor %s" lilypond-invoke-editor est un petit programme assistant. Il se charge dappeler un editeur pour les identiants de ressource (URI ) de type textedit, et un navigateur pour les autres. Il teste en outre la variable denvironnement EDITOR pour les cas suivant : emacs gvim nedit sera alors lanc ee la commande emacsclient --no-wait +line:column file sera alors lanc ee la commande gvim --remote +:line:normcolumn file sera alors lanc ee la commande nc -noask +line file'

La variable denvironnement LYEDITOR permet danticiper cette aectation, puisquelle contient la commande qui permet de lancer l editeur en tenant compte des valeurs respectives de %(file)s, %(column)s et%(line)s. Par exemple, emacsclient --no-wait +%(line)s:%(column)s %(file)s en variable denvironnement LYEDITOR revient au lancement dun client emacs standard. Loption pointer-cliquer accro t la taille des chiers de mani` ere signicative. An de r eduire la taille des chiers PDF et PS, il est toujours possible de d esactiver le pointer-cliquer en ajoutant \pointAndClickOff dans le chier .ly. Il peut alors etre activ e de mani` ere explicite gr ace ` a \pointAndClickOn Le pointer-cliquer peut aussi etre d esactiv e au moment de la compilation en ligne de commande : lilypond -dno-point-and-click file.ly

Note : Lorsquun chier LilyPond est destin e` a etre redistribu e, pensez ` a d esactiver le pointercliquer, de telle sorte que les chemins dacc` es et autres informations propres ` a votre syst` eme ne se retrouvent pas inclus dans le chier .pdf.

Chapitre 4: Programmes externes

41

Pointer-cliquer s electif
Pour certaines applications interactives, il est parfois pr ef erable de limiter la fonctionnalit e du pointer-cliquer ` a quelques el ements seulement. Par exemple, si vous avez lintention de cr eer une application lan cant laudio et la vid eo ` a partir dune note en particulier, il serait mal venu quun clic sur la note vous am` ene ` a lalt eration ou une liaison qui laecterait. Les ev enements g en erateurs de lien peuvent se g erer : En dur dans votre chier .ly : \pointAndClickTypes #'note-event \relative c' { c2\f( f) } ou #(ly:set-option 'point-and-click 'note-event) \relative c' { c2\f( f) } En ligne de commande : lilypond -dpoint-and-click=note-event exemple.ly Plusieurs types d ev enement peuvent etre mentionn es : En dur dans votre chier .ly : \pointAndClickTypes #'(note-event dynamic-event) \relative c' { c2\f( f) } ou #(ly:set-option 'point-and-click '(note-event dynamic-event)) \relative c' { c2\f( f) } En ligne de commande :
lilypond \ -e"(ly:set-option 'point-and-click '(note-event dynamic-event))" \ exemple.ly

4.2 LilyPond et les editeurs de texte


Certains editeurs de texte prennent en charge LilyPond.

Mode Emacs
Emacs dispose dun lilypond-mode qui fournit lautocompl etion des mots-cl es, lindentation, les appariements sp eciques ` a LilyPond, la coloration syntaxique, ainsi que des raccourcis pour compiler et consulter les manuels de LilyPond en mode info. Si le lilypond-mode n etait pas install e sur votre syst` eme, proc edez comme ci-dessous. Le r epertoire elisp inclus dans les sources contient aussi un mode pour saisir la musique et lancer LilyPond. Faites make install pour linstaller dans votre elispdir. Le chier lilypond-init.el devrait trouver sa place dans load-path/site-start.d/ ou bien ajout e a votre ~/.emacs ou ~/.emacs.el. ` En tant que simple utilisateur, vous pouvez toujours ajouter votre propre r epertoire (par exemple ~/site-lisp/) ` a votre load-path en ajoutant la ligne suivante modi ee en cons equence ` a votre ~/.emacs :

Chapitre 4: Programmes externes

42

(setq load-path (append (list (expand-file-name "~/site-lisp")) load-path))

Mode Vim
En ce qui concerne Vim, LilyPond fournit tout le n ecessaire pour g erer la coloration syntaxique et lindentation. Le mode sp ecique a ` Vim doit etre indiqu e dans le chier $HOME/.vimrc. Localisez ce chier, ou cr eez-le, et ajoutez-y les trois lignes suivantes : filetype off set runtimepath+=/usr/local/share/lilypond/current/vim/ filetype on Si LilyPond est install e dans un autre r epertoire que /usr/local/, modiez ce chemin en cons equence. Pour de plus amples d etails, consultez Section Autres sources de documentation dans Manuel dinitiation.

Autres editeurs
LilyPond est pris en charge par dautres editeurs, aussi bien en mode texte quavec une interface graphique. Dans la mesure o` u leurs chiers de conguration ne sont pas fournis avec LilyPond, nous vous invitons ` a consulter leur documentation pour plus dinformation. Certains de ces editeurs sont mentionn es ` a la page Section Facilit es d edition dans Informations g en erales .

4.3 Conversion ` a partir dautres formats


La musique peut aussi etre r ecup er ee par importation dun autre format. Ce chapitre passe en revue les di erents outils pr evus ` a cet eet et inclus dans la distribution. Il existe dautres outils qui permettent de g en erer du code LilyPond, comme par exemple des s equenceurs en mode graphique ou des convertisseurs XML. Pour plus de d etails, rendez-vous sur le site. Il sagit de programmes distincts de lilypond qui se lancent en ligne de commande. Pour plus de pr ecisions, reportez-vous au chapitre Section 1.2 [Utilisation en ligne de commande], page 1. Si vous utilisez MacOS 10.3 ou 10.4 et rencontrez quelque probl` eme avec lun de ces scripts, en erales . comme convert-ly, reportez-vous ` a la page Section MacOS X dans Informations g

Probl` emes connus et avertissements


Les d eveloppeurs ne sont malheureusement pas susamment nombreux et disponibles pour maintenir ` a jour ces programmes, consid erez-les donc en l etat. Nous acceptons les patches avec plaisir, mais il y a peu de chance pour que nous soyons en mesure de r esoudre les bogues de ces programmes.

4.3.1 Utilisation de midi2ly


midi2ly traduit un chier MIDI de Type 1 en un chier source LilyPond. MIDI (Music Instrument Digital Interface) constitue un standard pour les instruments. Il sp ecie le c ablage, un protocole s erie et un format de chier. Le format de chier MIDI est de ce fait un format standard pour exporter de la musique ` a partir dautres programmes, et cette facult e prend tout son int er et lorsquun programme dispose dun convertisseur capable dimporter directement un chier. midi2ly convertit les pistes en contextes de port ee (Section Sta dans R ef erence des propri et es internes ) et les canaux en contextes de voix (Section Voice dans R ef erence des propri et es internes ). Les hauteurs sont rendues en mode relatif, et les dur ees sp eci ees lorsque n ecessaire. Vous pouvez enregistrer un chier MIDI gr ace ` a un clavier electronique et ensuite le convertir en chier .ly. N eanmoins le rythme humain na pas une pr ecision susante pour quune conversion MIDI ` a ly ne se fasse sans surprise. En le couplant ` a une quantisation (options -s et

Chapitre 4: Programmes externes

43

-d), midi2ly tente de compenser dans la mesure du possible ces probl` emes de temporisation. Cest la raison pour laquelle le recours ` a midi2ly nest pas recommand e pour des chiers midi g en er es manuellement. Pour le lancer en ligne de commande, proc edez ainsi : midi2ly [option]... fichier-midi Notez bien que, par  ligne de commande , nous parlons de la ligne de commande du syst` eme. Pour plus de pr ecisions, reportez-vous ` a Section 4.3 [Conversion ` a partir dautres formats], page 42. midi2ly accepte les options suivantes : -a, --absolute-pitches Rendu en hauteurs absolues. -d, --duration-quant=DUR Quantiser les dur ees ` a partir de DUR. -e, --explicit-durations Rendu explicite des dur ees. -h,--help Acher un r esum e des utilisations. -k, --key=acc[:minor] D eterminer la tonalit e par d efaut. acc > 0 xe le nombre de di` eses, acc < 0 le nombre de b emols. Une tonalit e mineure est sp eci ee par lemploi de :1. -o, --output=file G en erer le r esultat dans le chier le. -s, --start-quant=DUR Quantiser le d ebut des notes sur DUR. -t, --allow-tuplet=DUR*NUM/DEN Accepter des n-olets de valeur DUR*NUM /DEN. -v, --verbose Mode verbeux. -V, --version Acher le num ero de version. -w, --warranty Acher les mentions de garantie et de copyright. -x, --text-lyrics Interpr eter le texte comme des paroles.

Probl` emes connus et avertissements


Le tuilage en arp` ege ne sera pas rendu correctement. La premi` ere note sera lue et les suivantes ignor ees. Aectez-leur une dur ee unique et ajoutez une indication de phras e ou de p edale.

4.3.2 Utilisation de musicxml2ly


MusicXML est un dialecte XML pour repr esenter la notation musicale. musicxml2ly extrait, a ` partir dun chier MusicXML, les notes, articulations, structure de la partition, paroles, etc. et les ecrit dans un chier .ly. Il se lance en ligne de commande. Pour le lancer en ligne de commande, proc edez ainsi :

Chapitre 4: Programmes externes

44

musicxml2ly [option]... fichier-xml Notez bien que, par  ligne de commande , nous parlons de la ligne de commande du syst` eme. Pour plus de pr ecisions, reportez-vous ` a Section 4.3 [Conversion ` a partir dautres formats], page 42. Si le nom du chier est -, musicxml2ly lira directement ` a partir de la ligne de commande. musicxml2ly accepte les options suivantes : -a, --absolute Rendu en hauteurs absolues. -h,--help Acher un r esum e des utilisations. -l, --language=LANG Utiliser une autre d enition linguistique (LANG), comme par exemple deutsch pour des noms de notes en allemand. --loglevel=loglevel D etermine le degr e de verbosit e` a loglevel. Les valeurs autoris ees sont NONE, ERROR, WARNING, PROGRESS (par d efaut) et DEBUG. --lxml -m, --midi Ajouter un bloc \midi. --nd --no-articulation-directions Ne pas convertir la direction (^, _ ou -) des articulations, nuances, etc. --no-beaming Ne pas convertir les informations de ligature ; laisser LilyPond g erer les ligatures automatiquement. -o,--output=file G en erer le r esultat dans le chier chier. Sil nest pas d etermin e, ce sera chierxml .ly ; - produira le r esultat sur la sortie standard (stdout). -r,--relative Rendu en hauteurs relatives (mode par d efaut). -v,--verbose Mode verbeux. --version Acher le num ero de version. -z,--compressed Le chier dentr ee est un chier MusicXML zipp e. Utiliser le paquetage Python lxml.etree, moins gourmand en m emoire et temps de calcul, pour eectuer lanalyse XML.

4.3.3 Utilisation de abc2ly


Note : Ce programme ne b en ecie daucune maintenance. Il est susceptible d etre supprim e des versions futures de LilyPond.

ABC est un format relativement simple bas e sur lASCII. Sa description est disponible sur le site dABC. abc2ly traduit du format ABC au format LilyPond. Pour le lancer en ligne de commande, proc edez ainsi :

Chapitre 4: Programmes externes

45

abc2ly [option]... fichier-abc abc2ly accepte les options suivantes : -b,--beams=None Pr eserver la notion de lien de croches propre ` a ABC. -h,--help Acher un r esum e des utilisations. -o,--output=file G en erer le r esultat dans le chier le. -s,--strict Etre strict sur la r eussite. --version Acher le num ero de version. Il est possible dajouter des bribes de code LilyPond dans un chier source ABC. Ainsi, lassertion %%LY voices \set autoBeaming = ##f aura pour cons equence dins erer le texte qui suit le mot-cl e  voices  dans la voix correspondante du chier LilyPond. De la m eme mani` ere, %%LY slyrics more words placera le texte suivant le mot-cl e  slyrics  dans une ligne de paroles.

Probl` emes connus et avertissements


Le standard ABC nest pas si  standard  que cela. Pour des fonctionnalit es etendues, comme la polyphonie, existent di erentes conventions. Un chier comportant plusieurs morceaux ne peut etre converti. ABC synchronise paroles et musique en d ebut de ligne ; abc2ly ne le fait pas. abc2ly ignore les ligatures ABC.

4.3.4 Utilisation de etf2ly


Note : Ce programme ne b en ecie daucune maintenance. Il est susceptible d etre supprim e des versions futures de LilyPond.

ETF (Enigma Transport Format) est lun des formats utilis es par le logiciel Finale, edit e par Coda Music Technology. etf2ly convertit partiellement les chiers ETF en chiers source LilyPond. Pour le lancer en ligne de commande, proc edez ainsi : etf2ly [option]... fichier-etf Notez bien que, par  ligne de commande , nous parlons de la ligne de commande du syst` eme. Pour plus de pr ecisions, reportez-vous ` a Section 4.3 [Conversion ` a partir dautres formats], page 42. etf2ly accepte les options suivantes : -h,--help Acher cette aide.

Chapitre 4: Programmes externes

46

-o, --output=file G en erer le r esultat dans le chier le. --version Acher le num ero de version.

Probl` emes connus et avertissements


La liste des scripts darticulation est incompl` ete. Les mesures vides perturbent etf2ly. Les s equences de notes dornement ne se terminent pas de mani` ere satisfaisante.

4.3.5 Autres formats


LilyPond ne prend pas en charge dautre format. Cependant, certains outils ind ependants permettent de g en erer des chiers LilyPond, comme indiqu e` a la page Section Facilit es d edition dans Informations g en erales .

4.4 Inclusion de partition LilyPond dans dautres programmes


Nous allons nous int eresser ici ` a di erents moyens dassocier texte et musique, en laissant de c ot e lautomatisation gr ace ` a lilypond-book.

Extraction de plusieurs fragments dune grande partition


Si daventure vous deviez recopier un certain nombre dextraits dune m eme partition, vous pouvez recourir ` a  lemporte pi` ece  la fonction clip systems comme indiqu e au chapitre Section Extraction de fragments musicaux dans Manuel de notation.

Insertion du r esultat de LilyPond dans OpenOce.org


OOoLilyPond permet dins erer directement des partitions LilyPond dans OpenOce.org.

Insertion du r esultat de LilyPond dans dautres programmes


Dans le cas o` u vous cherchez ` a ins erer le r esultat de LilyPond dans dautres programmes, utilisez lilypond plut ot que lilypond-book. Chaque extrait devra etre g en er e s epar ement avant d etre ins er e dans votre document. De tr` es nombreux programmes sont capables de contenir le r esultat de LilyPond, que ce soit au format PNG, EPS ou PDF. Les options suivantes vous permettront de r eduire notablement les contours de limage LilyPond : \paper{ indent=0\mm line-width=120\mm oddFooterMarkup=##f oddHeaderMarkup=##f bookTitleMarkup = ##f scoreTitleMarkup = ##f } { c1 } En proc edant comme ci-apr` es, vous obtiendrez des chiers images : EPS lilypond -dbackend=eps -dno-gs-load-fonts -dinclude-eps-fonts monfichier.ly PNG

Chapitre 4: Programmes externes

47

lilypond -dbackend=eps -dno-gs-load-fonts -dinclude-eps-fonts --png monfichier.ly PNG avec transparence lilypond -dbackend=eps -dno-gs-load-fonts -dinclude-eps-fonts \ -dpixmap-format=pngalpha --png monfichier.ly

4.5 Inclusion du travail des autres


Certains ont ecrit des lignes et des lignes de code souvent bien utiles qui peuvent servir ` a di erents projets. En attendant le jour o` u elles pourraient faire partie int egrante de LilyPond, vous pouvez toujours les t el echarger et les utiliser avec la commande \include.

4.5.1 MIDI et articulations


LilyPond sait produire des chiers MIDI, principalement dans le but de  contr ole qualit e heureux d etenteurs dune oreille absolue de ce qui a et e saisi. Ne seront toutefois reproduits, en plus des notes et dur ees, que les nuances et tempos explicites. Le projet articulate (site en anglais) sest donn e pour objectif de reproduire plus dinformations dans le MIDI. Les notes qui ne sont pas li ees sont ainsi raccourcies dans le but  darticuler . Ce raccourcissement d epend de larticulation appliqu ee ` a la note : un staccato raccourcira la note de moiti e, un tenuto lui gardera sa dur ee enti` ere. . . Ce script r ealise aussi les trilles et grupettos et compte bien traiter dautres ornements tels que les mordants. http://www.nicta.com.au/people/chubbp/articulate

Probl` emes connus et avertissements


Ce projet ne peut traiter que ce quil conna t : tout ce qui peut ressembler ` a un markup et donc pas ` a la propri et e dune note sera ignor e.

Chapitre 5: Suggestions pour la saisie de chiers LilyPond

48

5 Suggestions pour la saisie de chiers LilyPond


Maintenant vous etes pr et ` a travailler sur de plus gros chiers LilyPond des pi` eces enti` eres, et plus seulement les petits exemples du tutoriel. Mais comment devriez-vous vous y prendre ? Tant que LilyPond parvient ` a comprendre vos chiers et produit le r esultat que vous souhaitez, peu importe la mani` ere dont le code est organis e. N eanmoins, quelques crit` eres doivent etre pris en compte lorsque lon ecrit un chier LilyPond. Si vous faites une erreur, la structure m eme du chier LilyPond peut permettre de la localiser plus ou moins facilement. Et si vous souhaitez partager vos chiers avec quelquun dautre, ou si vous souhaitez modier vos propres chiers dans quelques ann ees ? Si certains chiers LilyPond sont compr ehensibles au premier coup dil, dautres vous feront vous arracher les cheveux pendant une heure. Et si vous souhaitez mettre ` a jour votre chier pour lutiliser avec une version plus r ecente de LilyPond ? La syntaxe du langage dentr ee change parfois lorsque LilyPond sam eliore. La plupart des changements peuvent etre appliqu es automatiquement avec convert-ly, mais quelques-uns peuvent requ erir une intervention manuelle. Vos chiers LilyPond peuvent etre structur es de mani` ere ` a faciliter leur mise ` a jour.

5.1 Suggestions g en erales


Voici quelques conseils qui peuvent vous eviter certains probl` emes ou en r esoudre dautres. Ajoutez le num ero de version dans chaque chier. Notez que chaque chier mod` ele contient une ligne \version "2.16.2". Nous vous conseillons fortement dinclure cette ligne, m eme pour de petits chiers. Par exp erience, il est tr` es dicile de se rappeler quelle version de LilyPond on utilisait quelques ann ees auparavant. Lutilitaire convert-ly demande que vous sp eciiez la version de LilyPond vous utilisiez alors. Ajoutez des contr oles Section doctaviation dans Manuel de notation et Section de limite ou num ero de mesure dans Manuel de notation. Si vous avez ajout e des contr oles de loin en loin, et que vous faites une erreur, vous pourrez la retrouver plus rapidement.  De loin en loin , quest-ce ` a dire ? Cela d epend de la complexit e de la musique. Pour de la musique tr` es simple, peut- etre une ou deux fois. Pour de la musique tr` es complexe, peut- etre ` a chaque mesure. Une mesure par ligne de texte. Si la musique en elle-m eme ou le r esultat que vous d esirez contient quelque chose de compliqu e, il est souvent bon de n ecrire quune seule mesure par ligne. Economiser de la place en tassant huit mesures par ligne, c a ne vaut pas vraiment le coup si lon doit corriger vos chiers. Ajoutez des commentaires. Utilisez soit des num eros de mesure (assez souvent), soit des r ef erences au contenu musical  second th` eme des violons ,  quatri` eme variation , etc. Vous pouvez ne pas avoir besoin des commentaires lorsque vous ecrivez une pi` ece pour la premi` ere fois, mais si vous souhaitez y revenir deux ou trois ans plus tard pour changer quelque chose, ou si vous donnez le chier source ` a un ami, ce sera beaucoup plus dicile de d eterminer vos intentions ou la mani` ere dont votre chier est structur e si vous ny avez pas adjoint de commentaires. Indentez les accolades. Beaucoup de probl` emes viennent dun d efaut de parit e entre { et }. Mentionnez les dur ees au d ebut de chaque section ou variable. Si vous saisissez c4 d e au d ebut dune phrase, vous vous epargnerez des probl` emes si, plus tard, vous modiez votre musique. S eparez les anages de mise en forme de la musique elle-m eme. Voyez Section Economie de saisie gr ace aux identicateurs et fonctions dans Manuel dinitiation et Section Feuilles de style dans Manuel dinitiation.

Chapitre 5: Suggestions pour la saisie de chiers LilyPond

49

5.2 Gravure de musique existante


Si vous saisissez de la musique ` a partir dune partition existante, cest-` a-dire de la musique d ej` a ecrite, nentrez quun seul syst` eme de la partition originale ` a la fois avec toujours une seule mesure par ligne de texte , et v eriez chaque syst` eme lorsquil est termin e. Vous pouvez utiliser les commandes showLastLength et showFirstLength pour acc el erer la compilation voir Section Ignorer des passages de la partition dans Manuel de notation ; d enissez mBreak = { \break } et ins erez \mBreak dans le chier dentr ee pour obtenir des sauts de ligne identiques ` a la partition originale. Cela facilite la comparaison entre la partition originale et la partition de LilyPond. Lorsque vous avez ni de relire votre musique, vous pouvez d enir mBreak = { } pour enlever tous ces sauts de ligne, et laisser LilyPond placer les sauts de ligne selon son propre algorithme ; encadrez les notes dune partie pour instrument transpositeur dans un \transpose c tonalit e-naturelle {...} (o` u tonalit e-naturelle correspond ` a celle de linstrument en question) de telle sorte que la musique comprise dans cette variable se retrouve en ut. Vous pourrez toujours transposer a linverse si besoin lorsque vous ferez appel ` ` a cette variable. Des erreurs de transposition seront moins susceptibles de se produire si la musique de toutes les variables est dans la m eme et unique tonalit e. De la m eme mani` ere, prenez toujours le do comme note de d epart ou darriv ee. Ceci aura pour simple cons equence que les autres tonalit es que vous utiliserez seront celles propres ` a chacun des instruments sib pour une trompette en si b emol, ou lab pour une clarinette en la b emol.

5.3 Projets denvergure


Lorsque lon travaille sur un gros projet, il devient vital de structurer clairement ses chiers LilyPond. Utilisez un identicateur pour chaque voix, avec un minimum de structure dans la d enition. La structure de la section \score est la plus susceptible de changer, notamment dans une nouvelle version de LilyPond, alors que la d enition du violon lest beaucoup moins. violon = \relative c'' { g4 c'8. e16 } ... \score { \new GrandStaff { \new Staff { \violon } } } S eparez les retouches des d enitions de musique. Nous vous avons d ej` a invit e` a adopter une telle pratique, qui par ailleurs devient vitale pour des projets dimportance. Nous pouvons avoir besoin de changer la d enition de fpuisp, mais dans ce cas nous naurons besoin de le faire quune seule fois, et nous pourrons encore eviter de modier quoi que ce soit ` a lint erieur de la d enition du violon. fpuisp = _\markup{ \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p } violon = \relative c'' {

Chapitre 5: Suggestions pour la saisie de chiers LilyPond

50

g4\fpuisp c'8. e16 }

5.4 R esolution de probl` emes


T ot ou tard, vous ecrirez un chier que LilyPond ne peut pas compiler. Les messages que LilyPond ache peuvent vous aider ` a trouver lerreur, mais dans beaucoup de cas vous aurez besoin de faire quelques recherches pour d eterminer la source du probl` eme. Pour ce faire, les outils les plus puissants sont le commentaire de n de ligne, indiqu e par %, et le commentaire multilignes (ou bloc de commentaire), indiqu e par %{ ... %}. Si vous ne pouvez localiser le probl` eme, commencez par mettre en commentaire de grandes parties de votre chier source. Apr` es avoir mis en commentaire une section, essayez de compiler ` a nouveau. Si cela fonctionne, cest que le probl` eme se situe dans cette partie du chier. Si cela ne fonctionne pas, continuez ` a mettre en commentaire dautres sections, jusqu` a ce que vous ayez quelque chose qui compile. Dans un cas extr eme, vous pourriez en arriver ` a \score { << % \melodie % \harmonie % \basse >> \layout{} } cest-` a-dire un chier sans aucune musique. Si cela se produit, ne vous d ecouragez pas. D ecommentez un peu, la partie de basse par exemple, et voyez si ca fonctionne. Si ce nest pas le cas, placez en commentaire toute la partie de basse, mais laissez \basse d ecomment e dans le bloc \score. basse = \relative c' { %{ c4 c c c d d d d %} } Maintenant commencez ` a d ecommenter petit ` a petit le partie de basse jusqu` a ce que vous localisiez la ligne qui pose probl` eme. Une autre technique de d ebogage tr` es utile est la construction dun Section exemple minimaliste dans Informations g en erales .

5.5 De la commande make et des chiers Makele


La plupart des plates-formes sur lesquelles tourne LilyPond disposent dun logiciel appel e make. Ce logiciel va lire un chier sp ecial, nomm e Makefile, qui contient tout ce quil faut les d ependances entre certains chiers, les instructions successives ` a traiter par le syst` eme pour aboutir au chier que vous d esirez obtenir. Il pourrait par exemple contenir tout ce quil faut pour produire ballade.pdf et ballade.midi ` a partir de ballade.ly en lan cant LilyPond. La cr eation dun Makefile peut se r ev eler pertinente pour certains projets, que ce soit par simple go ut personnel ou bien par respect de ceux qui pourront acc eder ` a vos sources. Cette mani` ere de proc eder est particuli` erement indiqu ee lorsque vous travaillez sur un projet de grande envergure impliquant de nombreuses inclusions de chiers et di erentes editions par exemple

Chapitre 5: Suggestions pour la saisie de chiers LilyPond

51

un conducteur et un mat eriel dorchestre complet avec la partition pour le chef et une partition s epar ee pour chacun des pupitres ou bien si votre projet requiert certaines commandes particuli` eres comme lilypond-book. Les Makeles varient tant en complexit e quen exibilit e selon les besoin et les aptitudes de celui qui les cr ee. Le programme GNU Make est install e par d efaut sur les distributions GNU/Linux et sur MacOS X, et il en existe une version pour les environnements Windows. Consultez le GNU Make Manual pour plus de d etails sur ce dont make est capable vous pourrez m eme en trouver des versions fran caises ` a laide des moteurs de recherche , dans la mesure o` u ce qui suit ne donne quun bref aper cu de ses possibilit es. Les commandes permettant de d enir les r` egles di` erent selon la plate-forme : si les di erents GNU/Linux et MacOS X utilisent bash, Windows utilise cmd. Dans le cas de MacOS X, vous devrez toutefois congurer votre syst` eme de telle sorte quil utilise linterpr eteur en ligne de commande. Voici quelques exemples de chier Makele, avec une version pour GNU/Linux ou MacOS et une pour Windows. Pour commencer, une pi` ece ` a quatre mouvements pour orchestre et dont les chiers sont r epartis selon larborescence suivante : 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/ | |-- symphonie-alto.ly | |-- symphonie-cello.ly | |-- symphonie-cor.ly | |-- symphonie-hautbois.ly | |-- symphonie-violonUn.ly | `-- symphonie-violonDeux.ly `-- symphonieDefs.ily Les chiers .ly des r epertoires Partitions et Pupitres r ecup ereront la notation des chiers .ily contenus dans le r epertoire Notes : %%% d ebut du fichier "symphonie-cello.ly" \include ../symphonieDefs.ily \include ../Notes/cello.ily Le Makele r epertorie des cibles correspondant ` a score (lint egrale au format conducteur), mouvements (chacun des mouvements au format conducteur) et pupitres (une partition par

Chapitre 5: Suggestions pour la saisie de chiers LilyPond

52

pupitre). Il contient aussi une cible archive charg ee de g en erer une archive des chiers source qui pourra etre dius ee sur la toile ou transmise par courriel. Voici ce que contiendrait ce Makele pour GNU/Linux ou MacOS X. Ce chier doit etre enregistr e sous le nom de Makefile ` a la racine du projet ici Symphonie.

Note : Lorsque vous d enissez une cible ou une r` egle sur plusieurs lignes, les lignes ` a partir de la deuxi` eme doivent d ebuter par une tabulation, non pas par des espaces.

# Le pr efixe au nom des fichiers r esultants piece = symphonie # D etermination du nombre de processeurs CPU_CORES=`cat /proc/cpuinfo | grep -m1 "cpu cores" | sed s/".*: "//` # La commande d'appel ` a lilypond LILY_CMD = lilypond -ddelete-intermediate-files \ -dno-point-and-click -djob-count=$(CPU_CORES) # Les suffixes utilis es dans ce Makefile .SUFFIXES: .ly .ily .pdf .midi # Les fichiers sources et r esultants sont recherch es dans les r epertoires # list es dans la variable VPATH. Ceux-ci sont tous des sous-r epertoires # du r epertoire courant (fourni par la variable de GNU make `CURDIR'). VPATH = \ $(CURDIR)/Partitions \ $(CURDIR)/PDF \ $(CURDIR)/Pupitres \ $(CURDIR)/Notes # La r` egle type pour cr eer un PDF et un MIDI ` a partir d'un fichier # source LY. # Les .pdf r esultants iront dans le sous-r epertoire "PDF" et les fichiers # .midi dans le sous-r epertoire "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 ependances selon le mouvement. $(piece)I.pdf: $(piece)I.ly $(notes) $(piece)II.pdf: $(piece)II.ly $(notes)

Chapitre 5: Suggestions pour la saisie de chiers LilyPond

53

$(piece)III.pdf: $(piece)III.ly $(notes) $(piece)IV.pdf: $(piece)IV.ly $(notes) # Les d ependances pour la partition int egrale. $(piece).pdf: $(piece).ly $(notes) # Les d ependances 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 en erer l'int egrale 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 en erer un fichier s epar e 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/*

Les choses se compliquent sous Windows. Une fois GNU Make pour Windows t el echarg e et install e, il vous faudra correctement d enir le chemin dacc` es au programme Make dans les variables denvironnement du syst` eme an que linterpr eteur de commandes DOS puisse le localiser. Pour cela, faites un clic droite sur  Poste de travail , choisissez Propri et es puis Avanc ees. Cliquez sur Variables d'environnement puis, dans longlet Variables syst` eme,

Chapitre 5: Suggestions pour la saisie de chiers LilyPond

54

mettez path en surbrillance et cliquez sur Modifier. Ajoutez alors le chemin dacc` es complet ` a lex ecutable de GNU Make, qui devrait ressembler ` a: C:\Program Files\GnuWin32\bin Il va egalement falloir adapter le makele aux particularit es de linterpr eteur de commandes et ` a la pr esence despaces dans le nom de certains r epertoire de ce syst` eme. La cible archive est tout bonnement supprim ee, puisque Windows ne dispose pas de la commande tar. Enn, les chiers MIDI ont une extension par d efaut propre ` a Windows. ## 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 ebut if exist "$*.mid" move /Y "$*.mid" MIDI/ # tabulation au d ebut 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

Chapitre 5: Suggestions pour la saisie de chiers LilyPond

55

$(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
A Le Makele suivant convient pour un document lilypond-book r ealis e avec L TEX. Ce projet contiendra un index, ce qui n ecessitera de lancer une deuxi` eme fois latex pour mettre ` a jour les liens. Les chiers r esultants iront dans le r epertoire out pour ce qui est des pdf et dans le r epertoire htmlout pour ce qui est du html.

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) $(PDF) $(INDEX) $(PDF) $(PREVIEW) web: $(LILYBOOK_HTML) # tabulation en d ebut de ligne $(HTML) # tabulation en d ebut de ligne # # # # # tabulation tabulation tabulation tabulation tabulation en en en en en d ebut d ebut d ebut d ebut d ebut de de de de de ligne ligne ligne ligne ligne

Chapitre 5: Suggestions pour la saisie de chiers LilyPond

56

cp -R $(WEBDIR)/$(FILE)/ ./ # tabulation en d ebut de ligne $(BROWSER) $(FILE)/$(FILE).html & # tabulation en d ebut de ligne keep: pdf cp $(OUTDIR)/$(FILE).pdf $(FILE).pdf clean: rm -rf $(OUTDIR) # tabulation en d ebut de ligne web-clean: rm -rf $(WEBDIR) # tabulation en d ebut de ligne archive: tar -cvvf monprojet.tar \ # tabulation en d ebut de ligne --exclude=out/* \ --exclude=htmlout/* \ --exclude=monprojet/* \ --exclude=*midi \ --exclude=*pdf \ --exclude=*~ \ ../MonProjet/* AVENIR: faire que c a marche sous Windows Ce makele nest malheureusement pas op erationnel sous Windows. La seule alternative qui sore aux utilisateurs de Windows consiste ` a cr eer un chier de traitement par lot (.bat) qui contienne les di erentes commandes successives. Bien que cette mani` ere de proc eder ne tienne aucun compte des d ependances entre chiers, elle permet de r eduire le nombre de processus a lancer dans une seule commande. Vous devrez enregistrer les lignes suivantes dans un chier ` construire.bat ou construire.cmd. Ce chier pourra etre ex ecut e soit en ligne de commande, soit par un double clic sur son ic one. lilypond-book --output=out --pdf monprojet.lytex cd out pdflatex monprojet makeindex monprojet pdflatex monprojet cd .. copy out\monprojet.pdf MonProjet.pdf

# tabulation en d ebut de ligne

Voir aussi
Manuel dutilisation : Section 1.2 [Utilisation en ligne de commande], page 1, Chapitre 3 [lilypond-book], page 20

Annexe A: GNU Free Documentation License

57

Annexe A GNU Free Documentation License


Version 1.3, 3 November 2008 Copyright c 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. http://fsf.org/ Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. 0. PREAMBLE The purpose of this License is to make a manual, textbook, or other functional and useful document free in the sense of freedom: to assure everyone the eective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modications made by others. This License is a kind of copyleft, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. 1. APPLICABILITY AND DEFINITIONS This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The Document, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as you. You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law. A Modied Version of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modications and/or translated into another language. A Secondary Section is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Documents overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The Invariant Sections are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not t the above denition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none. The Cover Texts are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.

Annexe A: GNU Free Documentation License

58

A Transparent copy of the Document means a machine-readable copy, represented in a format whose specication is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent le format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modication by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not Transparent is called Opaque. Examples of suitable formats for Transparent copies include plain ascii without markup, Texinfo input format, LaTEX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modication. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only. The Title Page means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, Title Page means the text near the most prominent appearance of the works title, preceding the beginning of the body of the text. The publisher means any person or entity that distributes copies of the Document to the public. A section Entitled XYZ means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specic section name mentioned below, such as Acknowledgements, Dedications, Endorsements, or History.) To Preserve the Title of such a section when you modify the Document means that it remains a section Entitled XYZ according to this denition. The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no eect on the meaning of this License. 2. VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. 3. COPYING IN QUANTITY If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Documents license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both

Annexe A: GNU Free Documentation License

59

covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to t legibly, you should put the rst ones listed (as many as t reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. 4. MODIFICATIONS You may copy and distribute a Modied Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modied Version under precisely this License, with the Modied Version lling the role of the Document, thus licensing distribution and modication of the Modied Version to whoever possesses a copy of it. In addition, you must do these things in the Modied Version: A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modications in the Modied Version, together with at least ve of the principal authors of the Document (all of its principal authors, if it has fewer than ve), unless they release you from this requirement. C. State on the Title page the name of the publisher of the Modied Version, as the publisher. D. Preserve all the copyright notices of the Document. E. Add an appropriate copyright notice for your modications adjacent to the other copyright notices. F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modied Version under the terms of this License, in the form shown in the Addendum below. G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Documents license notice. H. Include an unaltered copy of this License. I. Preserve the section Entitled History, Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modied Version as given on the Title Page. If there is no section Entitled History in the Document, create one stating the title, year, authors, and publisher of the Document as given on its

Annexe A: GNU Free Documentation License

60

Title Page, then add an item describing the Modied Version as stated in the previous sentence. J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the History section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. K. For any section Entitled Acknowledgements or Dedications, Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. M. Delete any section Entitled Endorsements. Such a section may not be included in the Modied Version. N. Do not retitle any existing section to be Entitled Endorsements or to conict in title with any Invariant Section. O. Preserve any Warranty Disclaimers. If the Modied Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modied Versions license notice. These titles must be distinct from any other section titles. You may add a section Entitled Endorsements, provided it contains nothing but endorsements of your Modied Version by various partiesfor example, statements of peer review or that the text has been approved by an organization as the authoritative denition of a standard. You may add a passage of up to ve words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modied Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modied Version. 5. COMBINING DOCUMENTS You may combine the Document with other documents released under this License, under the terms dened in section 4 above for modied versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodied, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but dierent contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.

Annexe A: GNU Free Documentation License

61

6.

7.

8.

9.

In the combination, you must combine any sections Entitled History in the various original documents, forming one section Entitled History; likewise combine any sections Entitled Acknowledgements, and any sections Entitled Dedications. You must delete all sections Entitled Endorsements. COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an aggregate if the copyright resulting from the compilation is not used to limit the legal rights of the compilations users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Documents Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate. TRANSLATION Translation is considered a kind of modication, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail. If a section in the Document is Entitled Acknowledgements, Dedications, or History, the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title. TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, or distribute it is void, and will automatically terminate your rights under this License. However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and nally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder noties you of the violation by some reasonable means, this is the rst time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.

Annexe A: GNU Free Documentation License

62

Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, receipt of a copy of some or all of the same material does not give you any rights to use it. 10. FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may dier in detail to address new problems or concerns. See http:// www.gnu.org/copyleft/. Each version of the License is given a distinguishing version number. If the Document species that a particular numbered version of this License or any later version applies to it, you have the option of following the terms and conditions either of that specied version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. If the Document species that a proxy can decide which future versions of this License can be used, that proxys public statement of acceptance of a version permanently authorizes you to choose that version for the Document. 11. RELICENSING Massive Multiauthor Collaboration Site (or MMC Site) means any World Wide Web server that publishes copyrightable works and also provides prominent facilities for anybody to edit those works. A public wiki that anybody can edit is an example of such a server. A Massive Multiauthor Collaboration (or MMC) contained in the site means any set of copyrightable works thus published on the MMC site. CC-BY-SA means the Creative Commons Attribution-Share Alike 3.0 license published by Creative Commons Corporation, a not-for-prot corporation with a principal place of business in San Francisco, California, as well as future copyleft versions of that license published by that same organization. Incorporate means to publish or republish a Document, in whole or in part, as part of another Document. An MMC is eligible for relicensing if it is licensed under this License, and if all works that were rst published under this License somewhere other than this MMC, and subsequently incorporated in whole or in part into the MMC, (1) had no cover texts or invariant sections, and (2) were thus incorporated prior to November 1, 2008. The operator of an MMC Site may republish an MMC contained in the site under CC-BYSA on the same site at any time before August 1, 2009, provided the MMC is eligible for relicensing.

Annexe A: GNU Free Documentation License

63

ADDENDUM: How to use this License for your documents


To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
Copyright (C) year your name. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''.

If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the with. . . Texts. line with this:
with the Invariant Sections being list their titles, with the Front-Cover Texts being list, and with the Back-Cover Texts being list.

If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.

Annexe B: Index de LilyPond

64

Annexe B Index de LilyPond


\
ATEX . . . . . . . . . . . . . . . . . . . . . . 25 \header et document L

LILYPOND DATADIR . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 loglevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

A
ABC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Aborted (core dumped) . . . . . . . . . . . . . . . . . . . . . . . . . . 12 avertissement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

M
make . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 makeles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Manuels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 MIDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 mise a ` jour danciens chiers . . . . . . . . . . . . . . . . . . . . . 16 mise a ` jour de chiers LilyPond . . . . . . . . . . . . . . . . . . 16 modes, editeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 musicologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 MusicXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

C
call trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 chemin de recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 chroot jail, fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . 2 Coda Technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 coloration syntaxique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 commutateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 convert-ly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

O
OpenOce.org . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 options, ligne de commande . . . . . . . . . . . . . . . . . . . . . . . 2

D
docbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DocBook, musique et . . . . . . . . . . . . . . . . . . . . . . . . . . . . . documents, ajout de musique . . . . . . . . . . . . . . . . . . . . . dvips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 20 20 32

P
paper-size, ligne de commande . . . . . . . . . . . . . . . . . . . . . 7 PDF (Portable Document Format), output . . . . . . . . 4 PNG (Portable Network Graphics), output . . . . . . . . 4 point and click . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 point and click, ligne de commande . . . . . . . . . . . . . . . . 4 pointer-cliquer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 pointer-cliquer, ligne de commande . . . . . . . . . . . . . . . . 4 Portable Document Format (PDF), output . . . . . . . . 4 Portable Network Graphics (PNG), output . . . . . . . . 4 PostScript, output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 preview, ligne de commande . . . . . . . . . . . . . . . . . . . . . . . 7 pr evisualisation dimage . . . . . . . . . . . . . . . . . . . . . . . . . . 28 programmes externes g en erant des chiers LilyPond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Programming error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 PS (PostScript), output . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

E
editeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 emacs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 enigma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Erreur de programmation . . . . . . . . . . . . . . . . . . . . . . . . 12 erreur, messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 errors, message format . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 ETF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 expression Scheme, evaluation . . . . . . . . . . . . . . . . . . . . . 2

F
fatal error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 cher de sortie, taille . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 chier de destination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Finale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 format de sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 format de sortie, d enition . . . . . . . . . . . . . . . . . . . . . . . . 7

R
recherche de chier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 redirection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 r epertoire de destination . . . . . . . . . . . . . . . . . . . . . . . . . . 4

S
Scheme error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Scheme, evaluation dexpression . . . . . . . . . . . . . . . . . . . 2 sortie, format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 syntaxe, coloration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

H
HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 HTML, musique et . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

L
lancement de lilypond . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 LANG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 LaTex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 LaTeX, musique et . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 ligne de commande, options pour lilypond . . . . . . . . 2

T
taille du cher de sortie . . . . . . . . . . . . . . . . . . . . . . . . . . texi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . texinfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Texinfo, musique et . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . thumbnail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 20 20 20 28

Annexe B: Index de LilyPond

65

titrage et HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . titrage et lilypond-book . . . . . . . . . . . . . . . . . . . . . . . . . . trace, Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . type1, polices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28 25 12 32

V
verbosit e, d enir le degr e de . . . . . . . . . . . . . . . . . . . . . . . 3 vim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

U
utilisation de dvips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

W
warning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11