[Top][All Lists]
[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
- TimeSignature Event,
Jan-Peter Voigt <=