[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Basic function question
From: |
address@hidden |
Subject: |
Re: Basic function question |
Date: |
Tue, 26 Jul 2011 10:27:55 +0200 |
On Jul 26, 2011, at 10:14 AM, Urs Liska wrote:
> Hello list members,
>
> after fiddling around too long and getting lost with the basics, I decided to
> ask my question here.
> I know it's basic, and I wonder why I get stuck this way, but obviously I'm
> confused and unable to find the right place in the docs.
>
> I want to write a function "instr" to produce formatted markup that I can use
> like
>
> { c d e f^\instr "Vl." }
>
> which should be translated to (e.g.)
>
> { c d e f^\markup \bold \italic \huge { "Vl." } }
>
> Unfortunately I seem absolutely unable to find out how to define the function
> so I can attach it to the note like in the example.
>
> Hopefully someone can either give me a working example or point me to the
> exact location in the docs where I can fully understand this issue.
>
> Thanks in advance
> Urs
To do this, you need to use a music function.
instr = #(define-music-function (parser location m s) (ly:music? string?)
(make-music 'EventChord 'elements (append (ly:music-property m 'elements)
(list (make-music 'TextScriptEvent
'direction 1
'text (markup #:huge #:bold #:italic s))))))
\instr a4 "foo"
Cheers,
MS
Re: Basic function question, David Kastrup, 2011/07/26