X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Ftie-configuration.cc;h=2491f7e3effaa6c52fbcc73975e82c660eb8d916;hb=f9214bac21e9926dc3248416f58190c98c4167a9;hp=c8f9da20de0e84cd5d2b809d78bb83ab9749a441;hpb=849ed54c1a272dac222d975e3c8d3e532aaa8f27;p=lilypond.git diff --git a/lily/tie-configuration.cc b/lily/tie-configuration.cc index c8f9da20de..2491f7e3ef 100644 --- a/lily/tie-configuration.cc +++ b/lily/tie-configuration.cc @@ -3,11 +3,12 @@ source file of the GNU LilyPond music typesetter - (c) 2005--2006 Han-Wen Nienhuys + (c) 2005--2007 Han-Wen Nienhuys */ #include "tie-configuration.hh" + #include "warn.hh" #include "tie-formatting-problem.hh" #include "bezier.hh" @@ -29,6 +30,7 @@ Tie_configuration::Tie_configuration () delta_y_ = 0.0; score_ = 0.0; scored_ = false; + column_ranks_ = Drul_array (0, 0); } @@ -73,6 +75,12 @@ Tie_configuration::get_untransformed_bezier (Tie_details const &details) const details.ratio_); } +int +Tie_configuration::column_span_length () const +{ + return column_ranks_[RIGHT] - column_ranks_[LEFT]; +} + Real Tie_configuration::distance (Tie_configuration const &a, Tie_configuration const &b) @@ -149,8 +157,46 @@ Ties_configuration::score () const return score_; } + +string +Ties_configuration::complete_tie_card (vsize i) const +{ + string s; + s += to_string ("%d (%.2f) %c: ", (*this)[i].position_, (*this)[i].delta_y_, + ((*this)[i].dir_ == UP ? 'u' : 'd')) + + (*this)[i].card () + (*this).tie_card (i); + + /* + this is a little awkward, but we must decide where to put + aggregrates. + */ + if (i == 0) + s += card (); + + if (i + 1 == size ()) + s += to_string ("TOTAL=%.2f", score ()); + + return s; +} + +/* for use inside GDB */ +string +Ties_configuration::complete_score_card () const +{ + string s; + for (vsize i = 0; i < size(); i++) + { + s += complete_tie_card (i); + } + + return s; +} + + + string Ties_configuration::card () const { return score_card_; } +