2.4.1 Organitzar les peces mitjançant variables

Quan els elements que hem discutit anteriorment es combinen per produir fitxers més grans, les expressions musicals es fan enormes. A la música polifònica amb molts pentagrames, els fitxers d’entrada poden tornar-se molt propensos a la confusió, Podem reduir aquesta confusió utilitzant les variables.

Amb les variables (també conegudes com identificadors o macros), podem trossejar les expressions musicals complexes. Una variable s’assigna de la manera següent:

musicaAmbNom = { … }

El contingut de l’expressió musical musicaAmbNom es pot usar posteriorment col·locant una barra invertida davant del nom (\musicaAmbNom, igual que una ordre normal del LilyPond).

violin = \new Staff {
  \relative {
    a'4 b c b
  }
}

cello = \new Staff {
  \relative {
    \clef "bass"
    e2 d
  }
}

{
  <<
    \violin
    \cello
  >>
}

[image of music]

El nom d’una variable ha de consistir enterament de caràcters alfabètics, és a dir sense números, guions, ni guions baixos.

Les variables s’han de definir abans de l’expressió musical principal, però es poden usar tantes vegades com es vulgui, en qualsevol lloc, un cop que han estat definides. Fins i tot es poden usar dins de la definició d’una altra variable, proporcionant una via per escurçar el codi si una secció musical es repeteix moltes vegades.

tresilloA = \tuplet 3/2 { c,8 e g }
compasA = { \tresilloA \tresilloA \tresilloA \tresilloA }

\relative c'' {
 \compasA \compasA
}

[image of music]

Les variables es poden usar per a molts altres tipus d’objectes dins del codi d’entrada. Per exemple,

ancho = 4.5\cm
nombre = "Wendy"
papelAcinco = \paper { paperheight = 21.0 \cm }

Depenent del seu contingut, la variable es pot usar en diferents llocs. El següent exemple utilitza les variables anteriors:

\paper {
  \papelAcinc
  line-width = \ample
}

{
  c4^\nom
}

LilyPond — Manual d’aprenentatge v2.23.4 (branca de desenvolupament).