3.3.1 Insertion de fichiers LilyPond
Lorsqu’un projet prend de l’importance en volume, il est judicieux de le scinder en plusieurs fichiers, auxquels vous ferez référence avec un simple
\include "autrefichier.ly"
Une ligne \include "autrefichier.ly"
dans un fichier revient à
recopier intégralement le contenu de ‘autrefichier.ly’ à l’endroit
même ou est placée l’instruction \include
. Vous pouvez par
exemple écrire un fichier individuel par instrument, puis les regrouper
pour former le fichier « conducteur ». Les différentes variables
définies dans les fichiers séparés seront normalement reprises et
utilisables dans le fichier formant le conducteur. Les sections
balisées dans les fichiers individuels peuvent être réutilisées en
différents endroit de la partition, comme expliqué à la rubrique
Différentes éditions à partir d’une même source.
Lorsque le fichier auquel il est fait référence se trouve dans le même
répertoire, donner seulement son nom en argument à la commande
\include
suffit. S’il se trouve ailleurs, vous devrez indiquer
le chemin d’accès, absolu ou relatif, en respectant toutefois la syntaxe
UNIX – autrement dit, le séparateur de répertoire est une oblique
normale /
et non l’oblique inverse \
de DOS ou Windows.
Par exemple, si le fichier ‘truc.ly’ se trouve dans le répertoire
supérieur au répertoire de travail, la ligne devra être
\include "../truc.ly"
ou bien, si les fichiers correspondant aux parties d’orchestre se trouvent dans le sous-répertoire ‘parties’ relativement au répertoire courant, vous devrez mentionner
\include "parties/VI.ly" \include "parties/VII.ly" etc.
Les fichiers à inclure peuvent eux-mêmes contenir des instructions
\include
. Ces instructions \include
de second niveau ne
pourront, par défaut, être interprétées qu’une fois intégrées dans le
fichier principal ; leur argument doit donc comporter le chemin
relativement au fichier principal et non par rapport au fichier dans
lequel cette inclusion est mentionnée. Vous pouvez toutefois influer
sur ce comportement de manière globale à l’aide de l’option
-drelative-includes
en ligne de commande ou en ajoutant une
clause #(ly:set-option 'relative-includes #t)
en tête du fichier
principal.
Lorsque relative-include
est valorisé à #t
, le chemin à
suivre pour chacune des commandes \include
sera pris relativement
au fichier qui la contient. Cette option est vouée à être activée par
défaut dans une future version de LilyPond.
Selon l’endroit où relative-includes
est valorisé à #t
ou
#f
, la commande \include
permettra d’incorporer des
fichiers contenus dans l’arborescence du répertoire principal et des
fichiers situés ailleurs. Si, par exemple, une biblothèque générale
libA a été créée pour utiliser des sous-fichiers à l’aide
d’inclusions dans un fichier catalogue, les clauses \include
devront être précédées d’un
#(ly:set-option #relative-includes #t)
de telle sorte
qu’elles soient interprétées correctement lorsque rapatriées dans
le fichier ‘.ly’ principal. Examinons cela dans les faits :
libA/ libA.ly A1.ly A2.ly …
puis le fichier catalogue, libA.ly
, qui contient
#(ly:set-option 'relative-includes #t) \include "A1.ly" \include "A2.ly" … % retour au réglage par défaut #(ly:set-option 'relative-includes #f)
Tout fichier .ly
peut désormais consulter l’intégralité de cette
bibliothèque grâce à un simple
\include "~/libA/libA.ly"
Un positionnement judicieux des commutateurs permet de gérer des structures de fichiers plus complexes.
Vous pouvez inclure des fichiers dont vous spécifierez le chemin d’accès sur la ligne de commande au moment de lancer la compilation. L’appel à ces fichiers ne mentionnera alors que leur nom. Par exemple, si vous voulez compiler avec cette méthode le fichier ‘principal.ly’ qui inclut des fichiers situés dans le sous-répertoire ‘parties’, placez vous dans le répertoire contenant ‘principal.ly’, puis tapez
lilypond --include=parties principal.ly
tout en ayant bien dans ‘principal.ly’
\include "VI.ly" \include "VII.ly" etc.
Lorsqu’un fichier est voué à être inclus dans nombre de partitions, vous
pouvez le placer dans le répertoire de LilyPond ‘../ly’.
Attention : ce répertoire varie selon votre installation, comme
indiqué au chapitre
Autres sources de documentation. Ce
fichier sera inclus dès lors que vous fournirez uniquement son nom en
argument à la fonction \include
. C’est par exemple le cas du
fichier de définition particulier ‘gregorian.ly’.
Au moment où vous lancez LilyPond, un certain nombre de fichiers se
retrouvent inclus par défaut ; il suffit d’activer le mode verbeux
en faisant lilypond --verbose
pour s’en rendre compte. Vous
verrez ainsi défiler, en plus de nombreuses informations, le nom d’un
certain nombre de fichiers et de chemins d’accès. Les fichiers les plus
important sont mentionnés au chapitre
Autres sources de documentation. Si vous venez à les
modifier, rappelez-vous qu’ils seront écrasés à l’installation d’une
nouvelle version de LilyPond.
Vous trouverez quelques exemples simples d’utilisation de la commande
\include
au chapitre
Conducteurs et parties.
Voir aussi
Manuel d’initiation : Autres sources de documentation, Conducteurs et parties.
Problèmes connus et avertissements
Lorsque vous incluez un fichier qui porte le même nom que l’un des fichiers d’initialisation de LilyPond, le fichier de la distribution de LilyPond aura préséance.
Autres langues : English, català, deutsch, español, italiano, 日本語.
About automatic language selection.