X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fslur-configuration.cc;h=ce368ab9eb2c62eca6aab62947128cc44848869b;hb=f01d48144dd62b47a76506e8a8bf1bb81d1d1130;hp=d846b9d6159a8a429daf9e838746d5455282e18e;hpb=6c6ae92410f087d0318a3c302eb6877cfc7fae45;p=lilypond.git diff --git a/lily/slur-configuration.cc b/lily/slur-configuration.cc index d846b9d615..ce368ab9eb 100644 --- a/lily/slur-configuration.cc +++ b/lily/slur-configuration.cc @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 2004--2006 Han-Wen Nienhuys + (c) 2004--2009 Han-Wen Nienhuys */ #include "slur-configuration.hh" @@ -166,6 +166,7 @@ Slur_configuration::generate_curve (Slur_score_state const &state, Slur_configuration::Slur_configuration () { + tags_ = 0x0; score_ = 0.0; index_ = -1; }; @@ -174,9 +175,17 @@ Slur_configuration::Slur_configuration () void Slur_configuration::add_score (Real s, string desc) { + if (s < 0) + { + programming_error ("Negative demerits found for slur. Ignoring"); + s = 0.0; + } + if (s) { - score_card_ += to_string ("%s=%.2f ", desc.c_str (), s); + if (score_card_.length () > 0) + score_card_ += ", "; + score_card_ += to_string ("%s=%.2f", desc.c_str (), s); score_ += s; } } @@ -399,7 +408,9 @@ Slur_configuration::score_edges (Slur_score_state const &state) demerit *= exp (state.dir_ * d * slope * state.parameters_.edge_slope_exponent_); - add_score (demerit, "edge"); + + string dir_str = d == LEFT ? "L" : "R"; + add_score (demerit, dir_str + " edge"); } while (flip (&d) != LEFT); }