lilypond-devel
[Top][All Lists]
Advanced

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

Re: Carry multi-measure rests across voices in \partcombine (issue 26541


From: dak
Subject: Re: Carry multi-measure rests across voices in \partcombine (issue 265410043 by address@hidden)
Date: Sat, 10 Oct 2015 07:35:58 +0000

On 2015/10/10 01:50:28, Dan Eble wrote:
On 2015/10/09 06:23:09, dak wrote:

>

https://codereview.appspot.com/265410043/diff/60001/lily/part-combine-iterator.cc#newcode144
> lily/part-combine-iterator.cc:144: // What is the relationship
between
> "duration" and "length"?  Why does
> Length is a Moment, duration is a Duration.  get_event_length
converts a
> Duration into a Moment and caches the result.  Moments are what the
general
> timing works with.
>
> So there is really nothing to be seen here.

By what process should get_event_length() convert a duration to a
moment?  All I
see in get_event_length() is a call to get the "length" property.

Right.  It gets there by "precompute-music-length" during scorification
where the real job is done by Music::get_length.  So obviously if we are
creating a Stream_event from scratch, this mechanism can no longer be
used since the respective callbacks don't work with a Stream_event.
Still, omitting duration altogether is asking for trouble since the
Stream_event is also seen by other engravers.

And it's not like Duration (mom.main_part_, true) (who wrote _that_?
It's scary) or Duration ().compressed (mom.main_part_) is that hard to
write.

When I change my start_mmrest() to set "duration" instead of "length",
the bug
in part-combine-solo-end.ly reappears.  I am using
Duration().compressed(length.main_part_).smobbed_copy() as the
duration.

Well, here I see SCM_EOL.

https://codereview.appspot.com/265410043/



reply via email to

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