lilypond-user
[Top][All Lists]
Advanced

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

music function


From: jakob lund
Subject: music function
Date: Wed, 17 Nov 2010 10:22:32 +0100

Hi


I have two questions that I hope someone here can answer.
I have something like this

\repeat volta 4 { ... music ... }

There are no alternative endings, so the number 4 doesn't show up in the output.
I would like the text "×4" to appear below the closing repeat mark
(dotted bar line). Is there already a way
to do that? (there ought to be but I can't seem to find it...)

Using \mark is no good, because I already have a mark on that bar
line. Thus far I came up with:

repeatTimes = #(define-music-function (parser location r) (integer?)
    #{
        \bar ""
        \once \override Score.TimeSignature #'stencil = ##f
        \time 1/32
        s32-\markup{\concat{ $(markup (number->string r)) "×" } }
        \once \override Score.TimeSignature #'stencil = ##f
        \time 4/4
    #})

(the technique is adapted from the snippet titled "Creating
simultaneous rehearsal marks"
from the lilypond documentation.) So now I write

\repeat volta 4 { ... music ... \repeatTimes #4 }

which gives sort of the desired result. My second question is: Can I,
perhaps using the 'parser' argument, access
    (a) the `current time signature' (so I can get rid of the
hard-coded 4/4 at the end) and
    (b) the argument to `\repeat volta' (so I won't have to supply the
argument #4, which is redundant 'cause I already put `volta 4') ?


Regards
Jakob Lund.



reply via email to

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