5.1.4 Modificació dels connectors (plug-ins) de context
Els contextos de notació (como Score
i Staff
) no
sols emmagatzemen propietats, també contenen «plug-ins» o
connectors anomenats ‘gravadors’ que creen elements de notació.
Per exemple, el context Voice
conté un gravador
Note_heads_engraver
que crea els caps de nota i el context
Staff
conté un gravador Key_engraver
que crea la
armadura.
Per veure una descripció completa de tots i cadascú dels connectors, consulteu Engravers and Performers. Cada context que es descriu a Contexts fa una relació dels gravadors que s’usen per a aquest context.
Pot ser d’utilitat jugar una mica amb aquests connectors. Es fa
iniciant un context nou amb \new
o \context
i modificant-lo:
\new contexto \with { \consists … \consists … \remove … \remove … etc. } { …música… }
on els … han de ser el nom d’un gravador. Aquí tenim un
exemple senzill que suprimeix els gravadors
Time_signature_engraver
i Clef_engraver
d’un
context Staff
:
<< \new Staff \relative { f'2 g } \new Staff \with { \remove Time_signature_engraver \remove Clef_engraver } \relative { f'2 g2 } >>
En el segon pentagrama no hi ha indicació de compàs ni clau. Aquest és un mètode força rudimentari de fer que desapareguin els objectes perquè afecta a tot el pentagrama. Aquest mètode també afecta l’espaiat, cosa que pot ser desitjable o no ser-ho. Es mostren mètodes més sofisticats per treure objectes a Visibilitat i color dels objectes.
L’exemple següent mostra una aplicació pràctica. Normalment les
línies divisòries i les indicacions de compàs estan sincronitzades
al llarg de tota la partitura. Ho fan els gravadors
Timing_translator
i Default_bar_line_engraver
.
Aquests complements mantenen al dia l’administració de les
indicacions de compàs, posició dins del compàs, etc. Movent
aquests gravadors des del context de Score
al de
Staff
, podem aconseguir una partitura en la qual cada
pentagrama té el seu propi compàs independent.
\score { << \new Staff \with { \consists Timing_translator } \relative { \time 3/4 c''4 c c c c c } \new Staff \with { \consists Timing_translator } \relative { \time 2/4 c''4 c c c c c } >> \layout { \context { \Score \remove Timing_translator } } }
Advertiments i problemes coneguts
L’ordre en el qual els gravadors s’especifiquen és l’ordre en el qual es criden per realitzar la seva tasca de processament. Normalment, l’ordre en el qual s’especifiquen els gravadors no té importància, però en alguns casos especials sí la té, per exemple on un gravador escriu una propietat i un altre la llegeix, o on un gravador crea un grob i un altre l’ha de processar.
Les ordenacions següents són importants:
-
el gravador de compassos
Bar_engraver
ha d’anar normalment en primer lloc, -
el gravador de digitacions
New_fingering_engraver
ha d’anar abans del gravadorScript_column_engraver
de columnes d’inscripcions. -
el
Timing_translator
ha d’anar abans del gravador de números de compàsBar_number_engraver
.
Vegeu també
Fitxers instal·lats: ‘ly/engraver-init.ly’.