Am 19.07.2015 um 11:03 schrieb David Kastrup:
David Kastrup <d...@gnu.org> writes:
Marc Hohl <m...@hohlart.de> writes:
Thanks a lot! Just to check that I have understood the underlying
mechanism, I rewrote that according to
overrideColorForAll =
#(define-music-function (color) (color?)
#{ #@(map (lambda (dsc)
(propertyOverride (list 'Score (car dsc) 'color) color))
all-grob-descriptions)
#})
which seems to do the trick as well without switching between Scheme
and LilyPond whithin overrideColorForAll.
If you want to avoid switching to LilyPond, you can of course replace
#{ #@... #} with (make-simultaneous-music ...).
make-sequential-music of course. Doesn't usually make a difference, but
look at
{
<<
\override NoteHead.color = #red
\override Stem.color = #red
>>
c'2 2
}
for a case where it _does_ make a difference.
Huh, wow.
So I rewrote the function, and just for the record, it is
overrideGrobColor =
#(define-music-function (color) (color?)
(make-sequential-music
(map (lambda (dsc)
(propertyOverride (list 'Score (car dsc) 'color) color))
all-grob-descriptions)))
\relative c' {
\overrideGrobColor #(x11-color 'blue)
c4\pp\< d e f
\break f1 \stopStaff
\overrideGrobColor #(x11-color 'red)
\startStaff
\grace { g16[( a g fis]) } g1\ff\!
}
Thanks a lot for your help and the detailed explanations!
Marc
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user