----- Original Message -----
From: "Graham Percival" <gra...@percival-music.ca>
To: <lilypond-devel@gnu.org>
Sent: Monday, February 27, 2012 1:48 PM
Subject: simultaneous rehersal marks, tempo indication, and text marks
At the moment, we can't have text and rehearsal marks at the same
place, i.e.
\relative c' {
c1
\mark \default
\mark "play violently"
d
}
This can be faked by using a \tempo mark:
\relative c' {
c1
\mark \default
\tempo "play violently"
d
}
But if you want to display an actual tempo marking at the same
place, you need to resort to silly hacks like grace notes,
invisible notes, or defining a text mark involving both the
rehearsal letter and the actual text you want to show.
What would be involved in making a clean solution for this? I
imagine that a separate TextMark engraver (just like the
RehearsalMark engraver and MetronomeMark engravers) would do the
trick, but that's a bunch of icky C++ code. Is there any way to
use scheme to create a new engraver that behaves like an existing
engraver (i.e. TextMark), but has its own data (so it doesn't
merge the rehearsal mark event with the "text mark" event?)
- Graham
How about this: (slight variation on a snippet from the LSR:
\score {
\relative c'
<<
\new Staff {
<<
\new Voice \with {
\consists Mark_engraver
\consists "Staff_collecting_engraver"
}
{ c4 d e f
\mark \default
c4 d e f
}
\new Voice \with {
\consists Mark_engraver
\consists "Staff_collecting_engraver"
}
{ s4 s s s
\mark \markup { "Play violently" }
s4 s s s
}
>>
}
>>
\layout {
\context {
\Score
\remove "Mark_engraver"
\remove "Staff_collecting_engraver"
}
}
}
--
Phil Holmes
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel