5.3.5 \set frente a \override

Tanto la instrucción \set como \override manipulan propiedades asociadas a contextos. En ambos casos las propiedades siguen unajerarquía de contextos: las propiedades que no se establecen dentro del contexto aún presentan los valores del contexto de su padre respectivo.

El valor y la duración en el tiempo de una propiedad de contexto son dinámicos y están disponibles solamente cuando la música se está interpretando o ‘iterando’. En el momento de la creación del contexto, se inicializan las propiedades a partir de las definiciones correspondientes (así como otras posibles modificaciones) de dicho contexto. Cualquier cambio posterior se obtiene a través de instrucciones de establecimiento de propiedades dentro de la propia música.

Las definiciones de grob (objetos gráficos) son una clase especial de propiedades de contexto, pues su estructura y uso son distintos de las propiedades de contexto ordinarias. A diferencia de las propiedades de los contextos normales, las definiciones de grob se subdividen en propiedades de grob.

Además, en contraste con las propiedades de contexto normales, las definiciones de grob tienen su propio conjunto de ‘utilidades de mantenimiento’ de las propiedades individuales y, en su caso, sub-propiedades. Esto supone que es posible definir las distintas partes dentro de diferentes contextos y aún tener la definición completa del grob en el momento de su creación, montada a partir de todas las piezas proporcionadas por el contexto actual y su ancestro o ancestros, conjuntamente.

Un grob u objeto gráfico se crea normalmente por parte de un grabador en el momento de la interpretación de una expresión musical y recibe sus propiedades iniciales de la definición de grob en curso del contexto del grabador. El grabador (u otras partes del ‘backend’ de LilyPond) pueden después modificar (o añadirse a) las propiedades iniciales del grob; sin embargo, ello no afecta a la definición de grob del contexto.

Lo que LilyPond conoce como ‘propiedades de grob’ en el contexto del trucaje a nivel de usuario son en realidad las propiedades de la definición de grob de un contexto.

Se accede a las definiciones de grob con un conjunto de instrucciones diferente. Se manipulan usando \override y \revert y tienen un nombre que empieza con una letra mayúscula (como ‘NoteHead’) mientras que las propiedades de contexto ordinarias se manipulan utilizando \set y \unset y se nombran empezando en letra minúscula.

Las instrucciones \tweak y \overrideProperty cambian las propiedades de grob pasando por encima de las propiedades de contexto completamente. En su lugar, atrapan a los grobs tan pronto se crean, y establecen propiedades sobre ellos directamente con \tweak cuando se originan a partir de un evento musical o, en el caso de \overrideProperty, para una sobreescritura específica.


Referencia de la notación de GNU LilyPond v2.25.21 (rama de desarrollo).