]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/arpeggio.cc
Merge branch 'master' into nested-bookparts
[lilypond.git] / lily / arpeggio.cc
index 22351d3b13f3d56a8d640dc730737d2b39d58b31..80858426bc6eb43bc7f12e2f77a83aec4351d8b3 100644 (file)
@@ -97,16 +97,6 @@ Arpeggio::print (SCM smob)
   Font_metric *fm = Font_interface::get_default_font (me);
   Stencil squiggle = fm->find_by_name ("scripts.arpeggio");
 
-  /*
-    Compensate for rounding error which may occur when a chord
-    reaches the center line, resulting in an extra squiggle
-    being added to the arpeggio stencil.  This value is appreciably
-    larger than the rounding error, which is in the region of 1e-16
-    for a global-staff-size of 20, but small enough that it does not
-    interfere with smaller staff sizes.
-  */
-  const Real epsilon = 1e-3;
-
   Stencil arrow;
   if (dir)
     {
@@ -114,10 +104,9 @@ Arpeggio::print (SCM smob)
       heads[dir] -= dir * arrow.extent (Y_AXIS).length ();
     }
 
-  while (mol.extent (Y_AXIS).length () + epsilon < heads.length ())
-    {
-      mol.add_at_edge (Y_AXIS, UP, squiggle, 0.0);
-    }
+  for (Real y = heads[LEFT]; y < heads[RIGHT];
+       y += squiggle.extent (Y_AXIS).length ())
+    mol.add_at_edge (Y_AXIS, UP, squiggle, 0.0);
 
   mol.translate_axis (heads[LEFT], Y_AXIS);
   if (dir)