| [ << Ajustament de la sortida ] | [Part superior][Continguts][Índex][ ? ] | [ Plantilles >> ] | ||
| [ < Convencions de noms d'objectes i propietats ] | [ Amunt : Elements de l'ajustament ] | [ L'ordre override > ] | ||
4.1.4 Mètodes d’ajustament
L’ordre \override
L’ordre \override | ||
L’ordre \revert | ||
El prefix \once | ||
L’ordre \overrideProperty | ||
L’ordre \tweak |
| [ << Ajustament de la sortida ] | [Part superior][Continguts][Índex][ ? ] | [ Plantilles >> ] | ||
| [ < Mètodes d'ajustament ] | [ Amunt : Mètodes d'ajustament ] | [ L'ordre revert > ] | ||
L’ordre \override
Ja hem vist les ordres \set i \with, que
s’usen per canviar les propietats dels contextos i per
treure o posar gravadors, a
Modificar les propietats dels contextos i
Afegir i eliminar gravadors. Ara hem d’examinar algunes
altres ordres importants.
L’ordre que canvia les propietats dels objectes de
presentació és \override. Atès que aquesta ordre ha
de modificar propietats internes que es troben a un lloc profund
dins del LilyPond, la seva sintaxi no és tan simple com la de la
resta de les ordres que hem usat fins ara. Heu de saber
exactament quina propietat, de quin objecte i en quin context s’ha
de modificar, i quin ha de ser el seu nou valor. Vegem com es fa.
La sintaxi genèrica d’aquesta ordre és:
\override Context.ObjecteDePresentació.propietat-de-presentació = #valor
Això establirà la propietat de nom propietat-de-presentació de l’objecte de presentació amb el nom ObjecteDePresentació, que és membre del context Context, al valor valor.
El context es pot ometre (i normalment així es fa) quan el
context requerit es troba implicat sense ambigüitat i és un dels
contextos del nivell més baix, és a dir: Voice,
ChordNames o Lyrics, i l’ometrem a molts dels
exemples següents. Veurem més endavant quan s’ha d’especificar.
Les últimes seccions tracten de forma exhaustiva les propietats i els seus valors, vegeu Tipus de propietats. Però en aquesta secció usarem sols unes quantes propietats i valors senzills que siguin fàcils d’entendre, per il·lustrar el format i la utilització d’aquestes ordres.
Les expressions principals del LilyPond són elements musicals com ara notes, duracions i elements d’etiquetatge. Les expressions més bàsiques com ara números, cadenes de caràcters i llistes es processen en el ‘mode del Scheme’, que s’invoca mitjançant el prefix ‘#’ escrit abans del valor. Tot i que els valors poden tenir a vegades una representació vàlida en el mode de música del LilyPond, aquest manual utilitza sempre ‘#’ per a l’escriptura, per coherència. Per veure més informació sobre el mode del Scheme, consulteu Sintaxi de l’Scheme del LilyPond.
\override és l’ordre d’ús més comú dins dels
ajustaments, i durant la major part de la resta d’aquest capítol
mostrarem presentarem exemples de com es fa servir. A continuació
hi ha un exemple senzill per canviar el color d’un cap:
\relative {
c'4 d
\override NoteHead.color = #red
e4 f |
\override NoteHead.color = #green
g4 a b c |
}
| [ << Ajustament de la sortida ] | [Part superior][Continguts][Índex][ ? ] | [ Plantilles >> ] | ||
| [ < L'ordre override ] | [ Amunt : Mètodes d'ajustament ] | [ El prefix once > ] | ||
L’ordre \revert
Un cop sobreescrita, la propietat reté el seu nou valor fins que
es sobreescriu de nou o es troba una ordre
\revert. L’ordre \revert té la sintaxi
següent i fa que el valor de la propietat es retorni al seu valor
predeterminat original; observeu que no serà el seu valor previ si
s’han utilitzat diverses ordres \override.
\revert Context.ObjecteDePresentació.propietat-de-presentació
Un cop més, igual que Context dins de l’ordre
\override, amb freqüència no cal especificar el
Context. S’ometrà en molts dels exemples següents.
Aquí retornem el color del cap al valor predeterminat per a les
dues últimes notes:
\relative {
c'4 d
\override NoteHead.color = #red
e4 f |
\override NoteHead.color = #green
g4 a
\revert NoteHead.color
b4 c |
}
| [ << Ajustament de la sortida ] | [Part superior][Continguts][Índex][ ? ] | [ Plantilles >> ] | ||
| [ < L'ordre revert ] | [ Amunt : Mètodes d'ajustament ] | [ L'ordre overrideProperty > ] | ||
El prefix \once
Tant l’ordre \override com \set es poden
precedir per \once. Això fa que la següent ordre
\override o \set sigui efectiva sols durant el temps
musical en curs i abans que la propietat torni a tenir un altre
cop el seu valor anterior (que pot ser diferent del seu valor
predeterminat si encara s’està aplicant una altra ordre
\override de sobreescriptura). Utilitzant el mateix
exemple, podem canviar el color d’una sola nota de la manera
següent:
\relative {
c'4 d
\override NoteHead.color = #red
e4 f |
\once \override NoteHead.color = #green
g4 a
\revert NoteHead.color
b c |
}
El prefix \once també es pot usar davant de moltes
ordres predefinides per limitar el seu efecte a un sol
element musical:
c4 d \once \stemDown e4 f | g4 a \once \hideNotes b c |
Tot i així, les ordres predefinides de la forma
\…Neutral,
\…Off i \un… utilitzen
internament \revert en comptes de \override,
per la qual cosa afegir \once com a prefix ací no té cap
efecte.
| [ << Ajustament de la sortida ] | [Part superior][Continguts][Índex][ ? ] | [ Plantilles >> ] | ||
| [ < El prefix once ] | [ Amunt : Mètodes d'ajustament ] | [ L'ordre tweak > ] | ||
L’ordre \overrideProperty
Hi ha una altra forma per a l’ordre de sobreescriptura,
\overrideProperty, que ocasionalment és necessària. La
mencionem ací amb un propòsit d’exhaustivitat, però per veure més
detalls consulteu
Ajustaments difícils.
| [ << Ajustament de la sortida ] | [Part superior][Continguts][Índex][ ? ] | [ Plantilles >> ] | ||
| [ < L'ordre overrideProperty ] | [ Amunt : Mètodes d'ajustament ] | [ Manual de referència de funcionament intern > ] | ||
L’ordre \tweak
La última ordre d’ajustament que està disponible és
\tweak. S’ha d’utilitzar quan diversos objectes tenen lloc
al mateix moment musical però sols volem canviar les propietats
d’alguns d’ells, com una sola nota dins d’un acord. L’ús de
\override per a la sobreescriptura afectaria a totes les
notes de l’acord, mentre que \tweak afecta sols al següent
element del flux d’entrada.
Vet aquí un exemple. Suposeu que volem canviar la mida del cap
de la nota intermèdia (el Mi) a un acord de Do major. En primer
lloc, vegem el que faria \once \override:
\relative {
<c' e g>4
\once \override NoteHead.font-size = #-3
<c e g>4
<c e g>4
}
Veiem que la sobreescriptura amb override afecta a tots els
caps de les notes de l’acord. Això és així perquè totes les notes
d’un acord passen en el mateix moment musical, i l’acció de
\once és aplicar la sobreescriptura a tots els objectes de
presentació del tipus especificat que passen en el mateix moment
musical que la pròpia ordre de sobreescriptura \override.
L’ordre \tweak opera d’una manera diferent. Actua
sobre l’element immediatament següent dins del flux d’entrada. En
la seva forma més senzilla és efectiu sols sobre objectes que es
creen directament a partir de l’element següent, en essència els
caps i les articulacions.
Així doncs, tornant al nostre exemple, la mida de la nota intermèdia es canviaria de la forma següent:
\relative {
<c' e g>4
<c \tweak font-size #-3 e g>4
}
Observeu que la sintaxi de \tweak no és igual que la de
\override. El context no s’ha d’especificar; de fet, es
generaria un error si es fa. Tant el context com l’objecte de
presentació estan implícits pel següent element del flux
d’entrada. Observeu també que no ha d’haver un signe d’igual. En
conseqüència la sintaxi de l’ordre \tweak en la seva
forma senzilla és:
\tweak propietat-de-presentació #valor
Una ordre \tweak també es pot usar per modificar sols
una d’una sèrie d’articulacions, com es mostra aquí:
a'4^"Black" -\tweak color #red ^"Red" -\tweak color #green _"Green"
Observeu que l’ordre \tweak ha de venir precedida
d’una marca d’articulació perquè la pròpia expressió ajustada s’ha
d’aplicar com una articulació. En el cas de més d’una
sobreescriptura de direcció
(^ o _), guanya la sobreescriptura ubicada més a
l’esquerra perquè s’aplica en últim lloc.
Els objectes com ara pliques i alteracions accidentals es creen
més tard, i no directament a partir de l’esdeveniment que ve a
continuació. Per aquesta causa és possible utilitzar
\tweak sobre aquests objectes creats indirectament
mitjançant el nomenament explícit de l’objecte de presentació,
sempre i quan el LilyPond pugui rastrejar el seu origen fins
l’esdeveniment original:
<\tweak Accidental.color #red cis''4 \tweak Accidental.color #green es'' g''>
Aquesta forma extensa de l’ordre \tweak es pot
descriuure com
\tweak objecte-de-presentació.propietat-de-presentació valor
L’ordre \tweak també es pot usar per canviar
l’aparença d’un sol d’un conjunt de grups excedents niuats que
comencin en el mateix instant musical. Al següent exemple, el
claudàtor de treset llarg i el primer dels tres claudàtors curts
comencen al mateix moment musical, i per això qualsevol ordre
\override s’aplicaria als dos. A l’exemple s’usa
\tweak per distingir entre ells. La primera ordre
\tweak especifica que el claudàtor del treset llarg s’ha de
col·locar a dalt de les notes i el segon especifica que el número
del treset s’ha d’imprimir en vermell sobre el claudàtor del primer
treset curt.
\relative c'' {
\tweak direction #up
\tuplet 3/4 {
\tweak color #red
\tuplet 3/2 { c8[ c c] }
\tuplet 3/2 { c8[ c c] }
\tuplet 3/2 { c8[ c c] }
}
}
Si els grups niuats no comence al mateix moment, la seva aparença
es pot modificar de la forma usual mitjançant ordres
\override:
\relative {
\tuplet 3/2 { c'8[ c c] }
\once \override TupletNumber.text = #tuplet-number::calc-fraction-text
\tuplet 3/2 {
c8[ c]
c8[ c]
\once \override TupletNumber.transparent = ##t
\tuplet 3/2 { c8[ c c] }
\tuplet 3/2 { c8[ c c] }
}
}
Vegeu també
Referència de la notació: L’ordre tweak.
| [ << Ajustament de la sortida ] | [Part superior][Continguts][Índex][ ? ] | [ Plantilles >> ] | ||
| [ < L'ordre overrideProperty ] | [ Amunt : Mètodes d'ajustament ] | [ Manual de referència de funcionament intern > ] | ||
Altres idiomes: English, česky, deutsch, español, français, italiano, 日本語, nederlands.
Quant a selecció automàtica de l'idioma.