6.5.2 Ejecutar una función sobre todos los objetos de la presentación
La manera más versátil de realizar el ajuste fino de un objeto es
\applyOutput
. Su sintaxis es
\applyOutput contexto proc
donde proc es una función de Scheme, que toma tres argumentos.
Al interpretarse, la función proc se llama para cada objeto de presentación que se encuentra en el contexto contexto, con los siguientes argumentos:
- el propio objeto de presentación,
- el contexto en que se creó el objeto de presentación, y
- el contexto en que se procesa
\applyOutput
.
Además, la causa del objeto de presentación, es decir el objeto o
expresión musical que es responsable de haberlo creado, está en la
propiedad cause
del objeto. Por ejemplo, para la cabeza de una
nota, éste es un evento
NoteHead, y para un objeto
Stem (plica), éste es un objeto
Stem.
He aquí una función que usar para \applyOutput
; borra las
cabezas de las notas que están sobre la línea central:
(define (blanker grob grob-origin context) (if (and (memq (ly:grob-property grob 'interfaces) note-head-interface) (eq? (ly:grob-property grob 'staff-position) 0)) (set! (ly:grob-property grob 'transparent) #t)))
Otros idiomas: English.