lilypond-user
[Top][All Lists]
Advanced

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

TimeSignature Event


From: Jan-Peter Voigt
Subject: TimeSignature Event
Date: Sat, 13 Aug 2011 11:27:42 +0200

Hello List,

I was trying to create a time-signature-engraver, wich displays the meter above 
the system. You can see this for example in Orff's Carmina.
Well, I can use 
\new Dynamics \with { \consists "Time_signature_engraver" } { \meta }
where meta contains the timing information of the piece like this: 
meta = { \time 3/4 \tempo 4=80 "Don't hurry" s1*3 \time 4/4 s1 ... }

But a few days ago I followed a question/conversation about scheme engravers 
and now I am searching the time-signature-change-event or something alike, to 
build a scheme-engraver that produces textscripts with markup from a time 
signature. For now I use this extract, to display tempo texts in between a 
piano staff:

--snip--
\version "2.14.1"

#(define-public dme (lambda (context)
          `((listeners
             (tempo-change-event
               . ,(lambda (engraver event)
                       (let ((text (ly:engraver-make-grob engraver 'TextScript 
event)))
                            (ly:grob-set-property! text 'text (markup 
#:normal-text (ly:event-property event 'text)))
                            (ly:grob-set-property! text 'direction UP)
             )))
))))

meta = { \tempo "flüssig" 4=80 s1 s2 \tempo "rit." }

\new PianoStaff <<
\new Staff = "oben" << \meta \relative c'' { a4 b c d c b a2 } >>
\new Dynamics \with { \consists \dme } << \meta { s2\p\< s2\> s1\! } >>
\new Staff = "unten" << \meta \relative c { \clef "bass" a4 b c d e f g2 } >>
>>
--snip--

So my question is: How do I catch the right event and get the time sig probs to 
display?

Cheers,
Jan-Peter




reply via email to

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