lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Extended mensuration signs in markup via Scheme


From: Graham King
Subject: Re: Extended mensuration signs in markup via Scheme
Date: Tue, 10 Sep 2013 02:44:53 +0100

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
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user

reply via email to

[Prev in Thread] Current Thread [Next in Thread]