lilypond-user
[Top][All Lists]
Advanced

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

Re: MetronomeMark placement questions


From: Carl Sorensen
Subject: Re: MetronomeMark placement questions
Date: Sat, 19 Jun 2010 07:17:38 -0600



On 6/18/10 10:07 PM, "Kieren MacMillan" <address@hidden>
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




reply via email to

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