5.1.2 Creació i referenciació dels contextos
El LilyPond crea automàticament contextos de nivell inferior si es
troba una expressió musical abans que existeixi un context
adequat, però normalment això sols funciona bé per a partitures
senzilles o fragments musicals com els que apareixen a la
documentació. Per a partitures més complexes, es recomana
especificar explícitament tots els contextos amb les ordres
\new
o \context
. La sintaxi d’aquestes dues ordres
es molt semblant:
[\new | \context] Context [ = nom] [expressió_musical]
on es pot especificar \new
o \context
.
Context és el tipus de context que es desitja crear,
nom és un nom opcional que es dóna al context concret que
s’està creant, i expressió_musical és una sola expressió
musical que serà interpretada pels complements gravadors i
reproductors dins d’aquest context.
El prefix \new
sense cap nom s’usa freqüentment per crear
partitures de molts pentagrames:
<< \new Staff \relative { % deixeu que el context Voice es creï implícitament c''4 c } \new Staff \relative { d''4 d } >>
i per introduir diverses veus dins d’un sol pentagrama:
\new Staff << \new Voice \relative { \voiceOne c''8 c c4 c c } \new Voice \relative { \voiceTwo g'4 g g g } >>
\new
s’hauria d’usar sempre per especificar contextos sense nom.
La diferència entre \new
i \context
es troba a
l’acció que es realitza:
-
\new
amb un nom o sense nom, sempre crea un context nou i diferent, fins i tot si ja existeix un context amb el mateix nom:\new Staff << \new Voice = "A" \relative { \voiceOne c''8 c c4 c c } \new Voice = "A" \relative { \voiceTwo g'4 g g g } >>
-
\context
amb un nom especificat, crea un context nou sols si no existeix ja un context del mateix tipus i amb el mateix nom, dins de la mateixa jerarquia de contextos. En cas contrari, s’agafa com a referència a aquest context creat prèviament, i la seva expressió musical es passa a aquest context per a la seva interpretació.Una aplicació dels contextos amb nom és la separació entre la disposició de la partitura i el contingut musical. Són valides qualssevol de les dues formes següents:
\score { << % score layout \new Staff << \new Voice = "one" { \voiceOne } \new Voice = "two" { \voiceTwo } >> % musical content \context Voice = "one" { \relative { c''4 c c c } } \context Voice = "two" { \relative { g'8 g g4 g g } } >> }
\score { << % score layout \new Staff << \context Voice = "one" { \voiceOne } \context Voice = "two" { \voiceTwo } >> % musical content \context Voice = "one" { \relative { c''4 c c c } } \context Voice = "two" { \relative { g'8 g g4 g g } } >> }
De manera alternativa, es poden utilitzar variables amb un efecte semblant. Vegeu Organitzar les peces mitjançant variables.
-
\context
sense cap nom correspondrà amb el primer context que es trobi entre els creats prèviament que siguin del mateix tipus dins de la mateixa jerarquia de contextos, fins i tot si té nom, i la seva expressió musical es passarà a aquest context per a la seva interpretació. Aquesta forma molt rarament és útil. Malgrat això,\context
sense nom i sense expressió musical s’usa per establir el context en qual s’executa un procediment de l’Scheme especificat amb\applyContext
:\new Staff \relative { c'1 \context Timing \applyContext #(lambda (ctx) (newline) (display (ly:context-current-moment ctx))) c1 }
Un context ha de tenir un nom si es farà referència a ell més tard, per exemple quan s’associa la lletra amb la música:
\new Voice = "tenor" música … \new Lyrics \lyricsto "tenor" letra
Per veure més detalls sobre l’associació de lletra i música, consulteu Duració automàtica de les síl·labes.
Les propietats de tots els contextos d’un tipus particular es
poden modificar dins d’un bloc \layout
(amb una sintaxi
diferent), vegeu
Canvi de tots els contextos del mateix tipus.
Aquesta construcció també ofereix una forma de mantenir les ordres
de disposició separades del contingut musical. Si es modificarà
un sols context, s’ha d’usar un bloc
\with
, vefeu
Canvi de sols un context determinat.
Vegeu també
Manual d’aprenentatge Organitzar les peces mitjançant variables.
Referència de la notació: Canvi de sols un context determinat, Duració automàtica de les síl·labes.