Referencia de la notación de GNU LilyPond: 5.1.4 Modificar los complementos (plug-ins) de contexto

### 5.1.4 Modificar los complementos (plug-ins) de contexto

Los contextos de notación (como `Score` y `Staff`) no sólo almacenan propiedades, también contienen «plug-ins» o complementos llamados ‘grabadores’ que crean elementos de notación. Por ejemplo, el contexto `Voice` contiene un grabador `Note_heads_engraver` que crea las cabezas de nota y el contexto `Staff` contiene un grabador `Key_engraver` que crea la armadura.

Para ver una descripción completa de todos y cada uno de los complementos, consulte Engravers and Performers. Cada contexto que se describe en Contexts relaciona los grabadores que se usan para ese contexto.

Puede ser de utilidad jugar un poco con estos complementos. Se hace iniciando un contexto nuevo con `\new` o `\context` y modificándolo:

>     \new contexto \with {
>       \consists …
>       \consists …
>       \remove …
>       \remove …
>       etc.
>     }
>     {
>       …música…
>     }

donde cada uno de los … deben ser el nombre de un grabador. Aquí tenemos un ejemplo sencillo que suprime los grabadores `Time_signature_engraver` y `Clef_engraver` de un contexto `Staff`:

>     <<
>       \new Staff \relative {
>         f'2 g
>       }
>       \new Staff \with {
>          \remove "Time_signature_engraver"
>          \remove "Clef_engraver"
>       } \relative {
>         f'2 g2
>       }
>     >>

En el segundo pentagrama no hay indicación de compás ni clave. Éste es un método bastante rudimentario de hacer que desaparezcan los objetos porque afecta a todo el pentagrama. Este método también afecta al espaciado, lo que puede ser deseable o no serlo. Se muestran métodos más sofisticados para quitar objetos en Visibilidad y color de los objetos.

El ejemplo siguiente muestra una aplicación práctica. Normalmente las líneas divisorias y las indicaciones de compás están sincronizadas a lo largo de toda la partitura. Lo hacen los grabadores `Timing_translator` y `Default_bar_line_engraver`. Estos complementos mantienen al día la administración de las indicaciones de compás, posición dentro del compás, etc. Moviendo estos grabadores desde el contexto de `Score` al de `Staff`, podemos conseguir una partitura en la que cada pentagrama tiene su propio compás independiente.

>     \score {
>       <<
>         \new Staff \with {
>           \consists "Timing_translator"
>           \consists "Default_bar_line_engraver"
>         }
>         \relative {
>             \time 3/4
>             c''4 c c c c c
>         }
>       \new Staff \with {
>         \consists "Timing_translator"
>         \consists "Default_bar_line_engraver"
>       }
>       \relative {
>           \time 2/4
>           c''4 c c c c c
>       }
>     >>
>     \layout {
>       \context {
>         \Score
>         \remove "Timing_translator"
>         \remove "Default_bar_line_engraver"
>         }
>       }
>     }

#### Advertencias y problemas conocidos

El orden en que los grabadores se especifican es el orden en que se llaman para realizar su tarea de procesamiento. Normalmente, el orden en que se especifican los grabadores no tiene importancia, pero en algunos casos especiales sí la tiene, por ejemplo donde un grabador escribe una propiedad y otro la lee, o donde un grabador crea un groby otro debe procesarlo.

Las siguientes ordenaciones son importantes:

- el grabador de compases `Bar_engraver` debe ir normalmente en primer lugar,
- el grabador de digitaciones `New_fingering_engraver` debe ir antes del grabador `Script_column_engraver` de columnas de inscripciones,
- el `Timing_translator` debe ir antes del grabador de números de compás `Bar_number_engraver`.

#### Véase también

Archivos instalados: ‘`ly/engraver-init.ly`’.

#### LilyPond — Referencia de la notación v2.22.2 (rama estable).