Move \partial handling to Timing_translator
Add a partial-event
following the example of time-signature-event
.
This adjusts measurePosition
just once in Timing_translator
instead
of once per iterated \partial
.
This uses assign_event_once()
to catch simultaneous \partial
commands with conflicting durations.
This corrects a problem where the skipBars
code mispredicted the end
of the current measure when \partial
was about to change it. This
is tested explicitly in the new test partial-add-moment.ly and it also
causes a spacing difference in time-signature-midmeasure.ly, where a
g2.
had previously been engraved as if it were << g2. s8 >>
because
the skipBars
code added a timestep where none was called for.
This is what 2.24.1 does with the new test. I didn't think that it was worth creating a ticket for this, since it's just a matter of handling questionable input more fastidiously.