[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Automatically avoiding multi-measure rest creation
From: |
David Kastrup |
Subject: |
Re: Automatically avoiding multi-measure rest creation |
Date: |
Thu, 10 Sep 2015 10:54:02 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) |
Dan Eble <address@hidden> writes:
> 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 }?
I don't really think so. It's probably easier to keep things as they
are but allow span-direction to be set in lieu of a duration.
> Would that be difficult to achieve? How could markup be handled?
Markup already sucks. I got a few half-finished branches trying to fix
that.
>>> 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.
Uh right.
> 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).
Possibly.
--
David Kastrup