lilypond-devel
[Top][All Lists]
Advanced

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

Re: Automatically avoiding multi-measure rest creation


From: Dan Eble
Subject: Re: Automatically avoiding multi-measure rest creation
Date: Wed, 9 Sep 2015 21:56:13 -0400

On Sep 9, 2015, at 03:32 , David Kastrup <address@hidden> wrote:
> 
> If you basically have some "multi-measure rest whenever there is no
> music" functionality, it would seem to make sense to give the end
> spanner a proper event as well so that you don't have to write
> << \music #(multi-measure-rest-of-length music) >>
> when you actually mean
> \startMultiMeasure \music \stopMultiMeasure
> 
> At some point of time pretending the MMR to be anything but a spanner
> for at least some use cases is not going to be worth the trouble.

Thanks for taking the time to respond.  Maybe it isn’t worth getting into a 
very deep discussion until the expected trouble materializes, but...

Would it make sense to redefine R1*4 as a shorthand for { 
\startMultiMeasureRest s1*4 \stopMultiMeasureRest }?  Would that be difficult 
to achieve?  How could markup be handled?

>> In Multi_measure_rest_engraver,
>> * register for note and (sub-measure) rest events
>> * track the maximum end moment of received note and rest events
> 
> That's what the Grob_pq_engraver is for.

Grob_pq_engraver appears to acknowledge grobs rather than listening for events.

1. Multi_measure_rest_engraver::process_music() is called and decides whether 
or not to create a grob.
2. Grob_pq_engraver::process_acknowledged() is called after all grobs are 
acknowledged and sets the busyGrobs property.

Do I have the sequence wrong?  It seems that (1) would need to use the 
information produced by (2).

Regards,
— 
Dan




reply via email to

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