Suivant : Numéro de version, Haut : Dernières précisions
Lorsque l'on combine tous les éléments étudiés précédemment pour écrire des partitions plus longues, les expressions musicales prennent de l'ampleur et, dans le cas des pièces polyphoniques, deviennent profondément imbriquées, jusqu'au point où il devient difficile de se repérer dans le fichier source. Cet inconvénient peut être résolu par l'utilisation de variables.
En utilisant des variables, parfois appelées identificateurs ou macros, on peut scinder des expressions musicales complexes en des expressions plus simples. Une variable se définit comme suit :
musiqueToto = { ... }
Le contenu de l'expression musicale musiqueToto
pourra être
utilisé plus loin en faisant précéder son nom d'un anti-slash,
c'est-à-dire \musiqueToto
, tout comme n'importe quelle commande
LilyPond. Toute variable doit être définie avant son
utilisation dans une autre expression musicale.
violon = \new Staff { \relative c'' { a4 b c b } } cello = \new Staff { \relative c { \clef bass e2 d } } { << \violon \cello >> }
Le nom d'une variable ne doit comporter que des caractères alphabétiques non accentués, aucun nombre ni tiret ne sont autorisés.
On peut utiliser une variable déjà définie autant de fois que l'on veut, y compris dans la définition d'une nouvelle variable ; par exemple, cela peut servir à saisir un motif qu'une seule fois, même s'il se répète un grand nombre de fois dans la pièce.
trioletA = \times 2/3 { c,8 e g } mesureA = { \trioletA \trioletA \trioletA \trioletA } \relative c'' { \mesureA \mesureA }
Il est possible d'utiliser des variables de types variés. Par exemple,
width = 4.5\cm name = "Wendy" aFivePaper = \paper { paperheight = 21.0 \cm }
En fonction de son contenu, un identificateur peut être utilisé à différents endroits. L'exemple suivant utilise les variable définies ci-dessus.
\paper { \aFivePaper line-width = \width } { c4^\name }
Cette page documente LilyPond-2.11.58 (branche de développement).
Rapportez toute anomalie en français à lilypond-user-fr@gnu.org ou en anglais à http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs
Vos suggestions à propos de la documentation sont les bienvenues.