I think I've reduced the problem to a mere syntactical issue.
This compiles, but doesn't quite do what I need:
\version "2.16.2"
% Adapted from snippet 725 "Combining a time signature glyph and
a default time signature"
music = \relative c' {
\time 3/4
c8 b c d e f g4
\mark \markup \concat { #(markup #:number
(#:line ((markup (#:musicglyph
"timesig.mensural64"))
(#:fontsize -4 #:column
("3" "2"))))) " X"}
g g g4 a8 g f e d2. \bar "|."
}
\score { \music }
But when I try to move all the complicated Scheme stuff into a function,
it gives an impenetrable thicket of errors:
\version "2.16.2"
mensSign = #(define-scheme-function (parser location name)
(string?)
(case name
(("C") (#(markup #:number
(#:line ((markup (#:musicglyph
"timesig.mensural64"))
(#:fontsize -4 #:column ("3"
"2")))))))
)
)
music = \relative c' {
\time 3/4
c8 b c d e f g4
\mark \markup { \mensSign #"C" }
g g g4 a8 g f e d2. \bar "|."
}
\score { \music }
On Mon, 2013-09-09 at 20:48 +0100, Graham King wrote:
> I'm a novice Scheme programmer writing a music-function for
> manipulating temporal proportion in music transcribed from white
> mensural notation. Amongst other things, the function includes the
> original mensural timesig in a \mark \markup, using the following
> code:
>
>
> #(define mensurationSign '(("C" . "timesig.neomensural44")
> ("cutC" . "timesig.neomensural22")
> %... and so on...
> ))
>
> mensuration = #(define-music-function (P L mensuralTimesig
> %.....)
> % ...
> #{ \mark \markup {
> \concat {
> \musicglyph #(cdr (assoc mensuralTimesig
> mensurationSign))
> % ... and so on...
>
>
> So far, so good - this all works fine. However, I would like to
> extend this to work with mensuration signs that don't appear as
> musicglyphs. For example: "C2" or "3". Please could one of you
> experts point me in a sensible direction to achieve this?
> (I could probably do this by splitting the mensuralTimesig argument
> into two separate arguments, but this would create an inelegant
> interface to the function.)
>
> Thanks in anticipation of your sage advice.
>
> _______________________________________________
> lilypond-user mailing list
> [email protected]
> https://lists.gnu.org/mailman/listinfo/lilypond-user
_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user