http://codereview.appspot.com/4536068/diff/30001/lily/multi-measure-rest.cc#newcode130
lily/multi-measure-rest.cc:130: double duration_log = -log2 (ml.Rational::to_double ()); log2 is a floating point operation not guaranteed to be exact. One
usually uses
a loop for figuring out a proper integer value. It is also not clear
to me that
this will pick out the right kind of rest always.
For example, what to do about 3/2? We either get 2/1 rests, or 1/1
rests, and
it is not clear to me that this rounding choice is necessarily the
same as that
for 3/4.
I think it might be saner to just have an overrideable lookup list for
exact
meters (and 4/4 is not necessarily the same as 2/2 here), and revert
to a
separately configurable default otherwise, likely a whole rest.
This sounds complex... I agree with you, but I don't know if others will since it adds a heavy autobeaming-like system. I need another day (or couple of days) to implement this feature. Anyway, I made all the other changes. Feel free to critisize, I still need to learn much about C/Scheme/LilyPond. Bertrand http://codereview.appspot.com/4536068/ _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel