Bric <b...@flight.us> writes: > On 11/05/2013 03:08 PM, David Kastrup wrote: >> Paul Morris <p...@paulwmorris.com> writes: >> >>> But I think what you really want is a music function: >>> >>> \version "2.17.29" >>> >>> boo = >>> #(define-music-function >>> (parser location the-music) >>> (ly:music?) >>> #{ >>> \override NoteHead.color = #red >>> #the-music >>> \revert NoteHead.color >>> #}) >>> >>> \relative c' { c4 d e f \boo { g a b } c d e } >> For such fixed override/revert pairings you should write >> \temporary\override in the music function instead of just \override: >> otherwise any previous \override NoteHead.color = #blue will get >> overwritten and not get restored afterwards. > > You rock! This forum rocks! Lilypond rocks! > > That said: how do I parametrize \boo ? > > With the color as parameter, for example, for something like: > > c4 d e f \boo #'red { g a b } c d e f8 g \boo #'blue { b d a4 d } > dis e fis > > I realize I'm completely clueless about the syntax
boo = #(define-music-function (parser location color the-music) (color? ly:music?) #{ \temporary \override NoteHead.color = #color #the-music \revert NoteHead.color #}) But colors are not symbols but triplets. The default colors red/blue/black... are stored in variables of that name. So you'd have to write \boo #red { g a b } ... rather than \boo #'red ... -- David Kastrup _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user