Organiser ses pièces avec des identificateurs - GNU LilyPond
Description: GNU LilyPond

Suivant : Après le tutoriel, Précédent : Noms de note absolus, Haut : Dernières précisions

#### 2.5.4 Organiser ses pièces avec des identificateurs

Lorsque l'on combine tous les éléments étudiés plus haut pour produire des fichiers plus volumineux, les blocs `\score` deviennent beaucoup plus gros parce que les expressions musicales sont plus longues et, dans le cas des pièces polyphoniques, profondément imbriquées. De telles expressions imposantes finissent par devenir peu maniables. Cet inconvénient peut être résolu par l'utilisation d'identificateurs.

En utilisant ces identificateurs, que l'on pourrait aussi appeler variables ou macros, il est possible de découper des expressions musicales complexes. Un identificateur 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`, juste comme n'importe quelle commande LilyPond. Tous les identificateurs doivent être définis avant l'expression musicale principale.

>          violin = \new Staff { \relative c'' {
>            a4 b c b
>          }}
>          cello = \new Staff { \relative c {
>            \clef bass
>            e2 d
>          }}
>          {
>            <<
>              \violin
>              \cello
>            >>
>          }

Le nom d'un identificateur ne doit comporter que des caractères alphabétiques non accentués, aucun nombre ni tiret.

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 la variable ci-dessus :

    \paper {
      \aFivePaper
      line-width = \width
    }
    { c4^\name }

Suivant : Après le tutoriel, Précédent : Noms de note absolus, Haut : Dernières précisions

This page is for LilyPond-2.10.33 (stable-branch).

Other languages: English.