* Fix arpeggio overshoot for chords which reach centre line.

From:

hanwenn

Subject:

* Fix arpeggio overshoot for chords which reach centre line.

Date:

Tue, 30 Sep 2008 17:56:42 -0700

Reviewers: Neil Puttock,
http://codereview.appspot.com/6453/diff/1/3
File lily/arpeggio.cc (right):
http://codereview.appspot.com/6453/diff/1/3#newcode108
Line 108: y += rint (squiggle.extent (Y_AXIS).length ()))
while the original is obviously wrong for the .ly you show, the fix
looks fishy to me as you would be accumulating roundoff errors. The loop
should be
while (mol.extent(Y_AXIS) < heads[RIGHT])
{ add_at_edge }
perhaps to prevent the problem, there could be something like
while (mol.extent(Y_AXIS) + 1.0 < heads[RIGHT])
{ add_at_edge }
(where 1.0 is intelligently chosen.)
Description:
* Fix arpeggio overshoot for chords which reach centre line.
This patch fixes a rounding error in Arpeggio::print () that occurs when
a
chord reaches the centre line, resulting in an extra squiggle being
added.
Please review this at http://codereview.appspot.com/6453
Affected files:
A input/regression/arpeggio-no-overshoot.ly
M lily/arpeggio.cc
Index: input/regression/arpeggio-no-overshoot.ly