Urs Liska <u...@openlilylib.org> writes: > Am 30.11.2015 um 09:27 schrieb Urs Liska: > > Maybe, not for having someone else do the work for me but as an > incentive to learn: > > I assume I could also rewrite the following code in a similar fashion? > > % Produce the code for coloring one grob in a (make-music) expression > #(define (color-element grob color) > (make-music > 'ContextSpeccedMusic > 'context-type > 'Bottom > 'element > (make-music > 'OverrideProperty > 'once > #t > 'pop-first > #t > 'grob-value > color > 'grob-property-path > (list (quote color)) > 'symbol > grob))) > > What would that be in the newer, LilyPond-ish syntax?
Oh, #{ ... #} is not new. It's been there since basically forever at least for straightforward music expressions (rather than layout definitions, markups, and other stuff). It became more versatile around 2.14 and started to work nicely with lexical closures at a similar point of time. The above would roughly be #(define (color-element grob color) #{ \once \override #grob . color = #color #}) Note that the default context for overrides is Bottom anyway, so you don't need to write \override Bottom . #grob . color here. -- David Kastrup _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user