On Tue, Jul 8, 2014 at 9:48 AM, David Kastrup <d...@gnu.org> wrote:
Simon Albrecht <simon.albre...@mail.de> writes:
Hello everybody,
I just wrote a music function to mark grobs as editorial addition by
colouring them grey. See the code and an example:
\version "2.19.8"
ed = #(let
((string-or-list?
(lambda (grob)
(or (string? grob)
(list? grob)))))
(define-music-function
(parser location grob mus)
(string-or-list? ly:music?)
#{ \override $grob . color = #(x11-color 'grey40)
$mus
\revert $grob . color #}
)
)
"See the code" is a euphemism. Try telling your mail client not to
reformat stuff.
\relative { \ed NoteHead c' \ed #'(Staff Accidental) { cis dis } es
}
The 2.18 changes document says that #'(Staff Accidental) and
Staff.Accidental were now interchangeable, however if I replace it
in
the second function call, I get errors (unexpected "." etc.). Is
there
a way to avoid this in the coding of the function or should it be
considered a bug?
Your predicate string-or-list? accepts a string, so LilyPond does not
look for . or anything else. That's a really bad predicate to use
here.
Try symbol-list-or-symbol? instead. That should be pretty close to
what
one would expect from override-similar syntax. Probably symbol-list?
alone is fine as well, but it will, of course, not accept #'Accidental
(which is not a symbol list), even though it _will_ accept Accidental
without any quotes.
--
David Kastrup
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user
Simon,
Disregard my response. After re-reading your initial post and seeing
Janek's and David's responses, I realized that I misunderstood your
question.
Regards,
Abraham
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user