Hi all,

I'm trying to create a variable to handle a certain type of markup text. For instance, I'd like percussion strikings to be in small caps above the staff, and what I really want is to define some sort of macro that replaces all instances of "\striking { theText }" with "^\markup\smallCaps { theText }".

The following clearly doesn't work (much as I would like it to):

striking = ^\markup\smallCaps

From searching around, it seems like I need to define a function using scheme. I tried this:

striking = #(define-music-function (parser location text)
         (string?)
         #{
           ^\markup\smallCaps { #text }
         #})

... and while the single line "\striking mallet" seems to render the word mallet as a smallCaps markup above a dummy staff, when I try to incorporate it into a series of notes, e.g.:

{c'4 \striking mallet d'4 e'4 f'4 }

I get an "error: unexpected post-event". What exactly does that mean?

I did notice something close to what I want here:

http://lilypond.org/doc/v2.19/Documentation/extending/new-markup-command-definition.en.html

But it still would require me to put something like \markup\striking, as opposed to \striking.

I'm pretty new to lilypond, so apologies if I've said something that betrays a lack of understanding. I guess I'd just mostly like to know what that "unexpected post-event" error means.

Thanks in advance!

Marc


--
Marc Evans
PhD Candidate in Music Composition at UCSB
Stanford BA '10, Music; MA '11, Music, Science and Technology
www.marcevansmusic.com

---

"I'm a random guy. I shake a hand and make a friend. I don't do egotistical 
things."
– Vanilla Ice


_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to