B.6.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, que funciona insertando un evento dentro del contexto especificado ( ApplyOutputEvent). 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 en el tiempo actual, con los siguientes argumentos:

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 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 y junto a ella:

#(define (blanker grob grob-origin context)
   (if (and (memq 'note-head-interface (ly:grob-interfaces grob))
            (< (abs (ly:grob-property grob 'staff-position)) 2))
       (set! (ly:grob-property grob 'transparent) #t)))

\relative c' {
  a'4 e8 <<\applyOutput #'Voice #blanker a c d>> b2
}

[image of music]

Para que función se interprete en los niveles de Score o de Staff utilice estas formas:

\applyOutput #'Score #función
\applyOutput #'Staff #función

Otros idiomas: English, deutsch, français.
Acerca de la selección automática del idioma.

LilyPond — Extender v2.17.97 (rama de desarrollo).