X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fslur.cc;h=28eed394739e50217a3b1b74f4fcd8c7f459f8d2;hb=1f8f8075de6d90783386aea28af67755ed57da16;hp=604221e3f2d2087ce86186b17ea074172e5cedc6;hpb=fa4cd867ea93884cc094814dda7c04b94e71ccf4;p=lilypond.git diff --git a/lily/slur.cc b/lily/slur.cc index 604221e3f2..28eed39473 100644 --- a/lily/slur.cc +++ b/lily/slur.cc @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 1996--2007 Han-Wen Nienhuys + (c) 1996--2009 Han-Wen Nienhuys Jan Nieuwenhuizen */ @@ -119,15 +119,11 @@ Slur::print (SCM smob) Bezier one = get_curve (me); Stencil a; - SCM p = me->get_property ("dash-period"); - SCM f = me->get_property ("dash-fraction"); - if (scm_is_number (p) && scm_is_number (f)) - a = Lookup::dashed_slur (one, line_thick, robust_scm2double (p, 1.0), - robust_scm2double (f, 0)); - else - a = Lookup::slur (one, - get_grob_direction (me) * base_thick, - line_thick); + SCM dash_definition = me->get_property ("dash-definition"); + a = Lookup::slur (one, + get_grob_direction (me) * base_thick, + line_thick, + dash_definition); #if DEBUG_SLUR_SCORING SCM annotation = me->get_property ("annotation"); @@ -160,7 +156,7 @@ Slur::print (SCM smob) /* it would be better to do this at engraver level, but that is - fragile, as the breakabl items are generated on staff level, at + fragile, as the breakable items are generated on staff level, at which point slur starts and ends have to be tracked */ void @@ -279,9 +275,9 @@ Slur::outside_slur_callback (SCM grob, SCM offset_scm) 0.0); yext.widen (slur_padding); - Real EPS = 1e-3; + const Real EPS = 1e-3; Interval bezext (curve.control_[0][X_AXIS], curve.control_[3][X_AXIS]); - bool consider[] = { false, false, false }; + bool consider[] = {false, false, false}; Real ys[] = {0, 0, 0}; bool do_shift = false; @@ -355,7 +351,7 @@ Slur::auxiliary_acknowledge_extra_object (Grob_info const &info, e->set_object ("slur", slur->self_scm ()); } } - else + else if (avoid != ly_symbol2scm ("ignore")) e->warning (_f ("Ignoring grob for slur: %s. avoid-slur not set?", e->name().c_str ())); } @@ -417,8 +413,7 @@ ADD_INTERFACE (Slur, "annotation " "avoid-slur " /* UGH. */ "control-points " - "dash-fraction " - "dash-period " + "dash-definition " "details " "direction " "eccentricity "