3.4.1 Stukken organiseren met variabelen

Wanneer alle elementen die eerder zijn besproken worden gecombineerd om grotere bestanden te maken, worden de muziekuitdrukkingen een stuk groter. In polyfone muziek met veel notenbalken, kunnen invoerbestanden heel verwarrend worden. Deze verwarring kunnen we verminderen door het gebruik van variabelen.

Met variabelen (ook bekend als identifiers of macro’s), kunnen we ingewikkelde muziekuitdrukkingen in stukken breken. Een waarde aan een variabele toekennen gaat as volgt:

benoemdeMuziek = { … }

De inhoud van de muziekuitdrukking benoemdeMuziek kan later worden gebruikt door een backslash voor de naam te zetten (\benoemdeMuziek, precies als een gewoon LilyPond-commando).

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

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

[image of music]

De naam van een variabele mag alleen letters bevatten, geen cijfers, underscores, or of streepjes.

Variabelen moeten gedefiniëerd worden voor de eigenlijke muziekuitdrukking, daarna kunnen ze zo vaak als nodig worden hergebruikt. Ze kunnen zelfs worden gebruikt om de inhoud van een nieuwe variabele te construeren, wat een manier is om een stuk muziek met veel herhalingen compacter in te voeren.

trioolA = \tuplet 3/2 { c,8 e g }
maatA = { \trioolA \trioolA \trioolA \trioolA }

\relative c'' {
  \maatA \maatA
}

[image of music]

Variabelen kunnen worden gebruikt voor allerlei andere typen objecten in de invoer. Bijvoorbeeld

breedte = 4.5\cm
naam = "Janneke"
aVijfPapier = \paper { paperheight = 21.0 \cm }

Afhankelijk van de inhoud kan de variabele gebruikt wonden op verschillende plaatsen. Onderstaand voorbeeld maakt gebruik van de bovenstaande variabelen:

\paper {
  \aVijfPapier
  line-width = \breedte
}

{
  c4^\naam
}

LilyPond – Beginnershandleiding v2.23.82 (ontwikkelingstak).