Modificación de propiedades para objetos gráficos individuales
La instrucción \applyOutput hace posible el ajuste fino de
cualquier objeto de presentación, en cualquier contexto. Requiere
una función de Scheme contres argumentos.
En el ejemplo de abajo, la función mc-squared se ejecuta
para todos los objetos gráficos NoteHead (dentro del
contexto Voice actual) en el punto temporal en curso; la
función modifica el stencil o sello del objeto gráfico,
usando la propiedad staff-position para sustituir ciertas
alturas con elementos de marcado.
Consulte el ‘Manual de extensión del programa’ para más información.
#(define (mc-squared grob grob-origin context) (let ((sp (ly:grob-property grob 'staff-position))) (ly:grob-set-property! grob 'stencil (grob-interpret-markup grob #{ \markup \lower #0.5 #(case sp ((-5) "m") ((-3) "c ") ((-2) #{ \markup \teeny \bold 2 #}) (else "bla")) #})))) \relative c' { <d f g b>2 \applyOutput Voice.NoteHead #mc-squared <d f g b>2 }