On Mon, May 17, 2010 at 3:58 PM, Neil Puttock
<address@hidden> wrote:
Try this instead:
\override MultiMeasureRestText #'springs-and-rods =
#ly:multi-measure-rest::set-text-rods
> Using a multi-measure rest
> also seems to make the fermata appear off-center to the left of the rest, in
> many cases.
This shouldn't happen if you're using a MultiMeasureTextEvent to
create the fermata. You just need to add both the text and fermata as
'articulations instead of 'elements.
Thanks; with these suggestions I was able to get the MultiMeasureTextEvent to work right (viz. displaying the text, with the text taking its full width and the fermata centered over the rest). It seems to help in some instances, but in others the issue of the rehearsal mark getting pushed up still occurs.
So we're all on the same page, my code currently looks like:
narration =
#(define-music-function (parser location rest text1 text2)
(ly:music? string? string?)
(let (
(text-event
(make-music
'MultiMeasureTextEvent
'direction 1
'tweaks (list
'(baseline-skip . 2)) ; Fix line spacing for text
'text (markup
#:column (
#:teeny #:center-align text1
#:teeny #:center-align text2
#:normalsize #:center-align #:musicglyph "scripts.ufermata" ))))
(result (ly:music-deep-copy rest)))
(set! (ly:music-property result 'articulations)
(cons text-event (ly:music-property rest 'articulations)))
#{
\once\override MultiMeasureRestText #'springs-and-rods = #ly:multi-measure-rest::set-text-rods
$result
#} ))
and I'm now calling it with R1 for 'rest' instead of r1.
Thanks,
Nathan Reed