On 6/18/10 10:07 PM, "Kieren MacMillan" <kieren_macmil...@sympatico.ca>
wrote:
>
> In the short term, I'm considering creating a Tempo context, which only prints
> out tempo indications (akin to the TimeSig context of yore). This context
> could then be placed in the \score wherever one needs it, solving (1), (2),
> and (4); since the context would be independent of any other contexts, (3) is
> automagically solved. But I want this to be easy to implement, so I either
> want the Tempo context to automagically ignore everything except MetronomeMark
> grobs, or I need to build a function/macro to strip out everything except
> MetronomeMark grobs.
>
> Q#1: Which of those two options is programatically superior?
The first option is best, in my opinion. But there is one subtle
difference. Contexts don't *handle* grobs, they *create* grobs (actually,
they contain engravers which create grobs). So your Tempo context will
contain the Metronome_mark_engraver, and will automatically ignore
everything except the events that the Metronome_mark_engraver listens to.
The down side to this approach is that you will need to have a separate
music expression to pass to the Tempo context. I suppose that this
expression can be the "master" expression (i.e. the expression that contains
just skips and Tempo indications). But it seems like a bit of a pain.
>
> Q#2: In the long term, would the short term solution still be the best, or
> should Lilypond Do The Right ThingĀ in some other way that doesn't require a
> separate context?
I can't think of another way to do it, but it would be nice if the
Staff_grouping_engraver could DTRT, i.e. put the metronome mark above the
first printed staff below some indicated staff.
Thanks,
Carl
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel