[ << Interfaces for programmers ] | [Top][Contents][Index][ ? ] | [ Literature list >> ] | ||
[ < Context evaluation ] | [ Up : Contexts for programmers ] | [ Scheme procedures as properties > ] |
6.5.2 Running a function on all layout objects
The most versatile way of tuning an object is \applyOutput
. Its
syntax is
\applyOutput context proc
where proc is a Scheme function, taking three arguments.
When interpreted, the function proc is called for every layout object found in the context context, with the following arguments:
- the layout object itself,
- the context where the layout object was created, and
- the context where
\applyOutput
is processed.
In addition, the cause of the layout object, i.e., the music
expression or object that was responsible for creating it, is in the
object property cause
. For example, for a note head, this is a
NoteHead event, and for a
Stem object,
this is a
NoteHead object.
Here is a function to use for \applyOutput
; it blanks
note-heads on the center-line:
(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)))
[ << Interfaces for programmers ] | [Top][Contents][Index][ ? ] | [ Literature list >> ] | ||
[ < Context evaluation ] | [ Up : Contexts for programmers ] | [ Scheme procedures as properties > ] |
Andere Sprachen: español.