[ << Interfícies per a programadors ] | [Top][Contents][Index] | [ Interfícies de l’Scheme del LilyPond >> ] |
[ < Avaluació de contextos ] | [ Up: Contextos per a programadors ] | [ Funcions de callback > ] |
B.6.2 Execució d’una funció sobre tots els objectes de la presentació
La manera més versàtil de realitzar l’ajust fi d’un objecte és
\applyOutput
, que funciona inserint un esdeveniment del
context especificat (ApplyOutputEvent). La seva
sintaxi és o bé
\applyOutput Contexto proc
o bé
\applyOutput Context.Grob proc
donde proc
és una funció de l’Scheme que agafa tres
arguments.
En interpretar-se, la funció proc
es crida per a cada
objecte de presentació (amb el nom de grob Grob si
s’especifica) que est troba al context Context
al
temps actual, amb els següents arguments:
- el propi objecte de presentació,
- el context en el qual es va crear l’objecte de presentació, i
- el context en el qual es processa
\applyOutput
.
A més, la causa de l’objecte de presentació, és a dir l’objecte o
expressió musical que és responsable d’haver-ho creat, està a la
propietat cause
de l’objecte. Per exemple, per al cap
d’una nota, aquest és un esdeveniment NoteHead, y per
a un objecte plica, aquest és un objecte Stem.
Vet aquí una funció a usar per a \applyOutput
; esborra els
caps de les notes que estan sobre la línia central i junt a ella:
#(define (blanker grob grob-origin context) (if (< (abs (ly:grob-property grob 'staff-position)) 2) (set! (ly:grob-property grob 'transparent) #t))) \relative { a'4 e8 <<\applyOutput Voice.NoteHead #blanker a c d>> b2 }![]()
Perquè funció s’interpreti en els nivells de
Score
o de Staff
utilitzeu aquestes formes:
\applyOutput Score… \applyOutput Staff…
[ << Interfícies per a programadors ] | [Top][Contents][Index] | [ Interfícies de l’Scheme del LilyPond >> ] |
[ < Avaluació de contextos ] | [ Up: Contextos per a programadors ] | [ Funcions de callback > ] |