X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Ftie-configuration.cc;h=19a2c68f724ec7c9a40da26540085b30b976c232;hb=97a0169312a260933246ab224e4f8b0969871dd5;hp=2491f7e3effaa6c52fbcc73975e82c660eb8d916;hpb=e832bb9391d6053f7328250ff1035376cf4b9d4b;p=lilypond.git diff --git a/lily/tie-configuration.cc b/lily/tie-configuration.cc index 2491f7e3ef..19a2c68f72 100644 --- a/lily/tie-configuration.cc +++ b/lily/tie-configuration.cc @@ -1,10 +1,21 @@ /* - tie-configuration.cc -- implement Tie_configuration + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 2005--2015 Han-Wen Nienhuys - (c) 2005--2007 Han-Wen Nienhuys + LilyPond is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + LilyPond is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . */ #include "tie-configuration.hh" @@ -15,13 +26,12 @@ int Tie_configuration::compare (Tie_configuration const &a, - Tie_configuration const &b) + Tie_configuration const &b) { if (a.position_ - b.position_) return sign (a.position_ - b.position_); return sign (a.dir_ - b.dir_); } - Tie_configuration::Tie_configuration () { @@ -33,19 +43,17 @@ Tie_configuration::Tie_configuration () column_ranks_ = Drul_array (0, 0); } - void Tie_configuration::center_tie_vertically (Tie_details const &details) { Bezier b = get_untransformed_bezier (details); Offset middle = b.curve_point (0.5); Offset edge = b.curve_point (0.0); - Real center = (edge[Y_AXIS] + middle[Y_AXIS])/2.0; + Real center = (edge[Y_AXIS] + middle[Y_AXIS]) / 2.0; delta_y_ = - dir_ * center; } - Bezier Tie_configuration::get_transformed_bezier (Tie_details const &details) const { @@ -53,7 +61,7 @@ Tie_configuration::get_transformed_bezier (Tie_details const &details) const b.scale (1, dir_); b.translate (Offset (attachment_x_[LEFT], - delta_y_ + details.staff_space_ * 0.5 * position_)); + delta_y_ + details.staff_space_ * 0.5 * position_)); return b; } @@ -64,15 +72,15 @@ Tie_configuration::get_transformed_bezier (Tie_details const &details) const Bezier Tie_configuration::get_untransformed_bezier (Tie_details const &details) const { - Real l = attachment_x_.length(); + Real l = attachment_x_.length (); if (isinf (l) || isnan (l)) { programming_error ("Inf or NaN encountered"); l = 1.0; } return slur_shape (l, - details.height_limit_, - details.ratio_); + details.height_limit_, + details.ratio_); } int @@ -83,7 +91,7 @@ Tie_configuration::column_span_length () const Real Tie_configuration::distance (Tie_configuration const &a, - Tie_configuration const &b) + Tie_configuration const &b) { Real d = 3 * (a.position_ - b.position_); @@ -93,9 +101,8 @@ Tie_configuration::distance (Tie_configuration const &a, return d + (2 + (a.dir_ - b.dir_)); } - void -Tie_configuration::add_score (Real s, string desc) +Tie_configuration::add_score (Real s, const string &desc) { assert (!scored_); score_ += s; @@ -106,14 +113,14 @@ Tie_configuration::add_score (Real s, string desc) Real Tie_configuration::height (Tie_details const &details) const { - Real l = attachment_x_.length(); + Real l = attachment_x_.length (); return slur_shape (l, - details.height_limit_, - details.ratio_).curve_point (0.5)[Y_AXIS]; + details.height_limit_, + details.ratio_).curve_point (0.5)[Y_AXIS]; } -Ties_configuration::Ties_configuration() +Ties_configuration::Ties_configuration () { score_ = 0.0; scored_ = false; @@ -129,21 +136,21 @@ Ties_configuration::reset_score () } void -Ties_configuration::add_tie_score (Real s, int i, string desc) +Ties_configuration::add_tie_score (Real s, int i, const string &desc) { assert (!scored_); score_ += s; if (s) { while (tie_score_cards_.size () < size ()) - tie_score_cards_.push_back (""); + tie_score_cards_.push_back (""); tie_score_cards_[i] += to_string ("%s=%.2f ", desc.c_str (), s); } } void -Ties_configuration::add_score (Real s, string desc) +Ties_configuration::add_score (Real s, const string &desc) { assert (!scored_); score_ += s; @@ -157,15 +164,14 @@ 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)[i].dir_ == UP ? 'u' : 'd')) + + (*this)[i].card () + tie_card (i); + /* this is a little awkward, but we must decide where to put aggregrates. @@ -175,7 +181,7 @@ Ties_configuration::complete_tie_card (vsize i) const if (i + 1 == size ()) s += to_string ("TOTAL=%.2f", score ()); - + return s; } @@ -183,8 +189,8 @@ Ties_configuration::complete_tie_card (vsize i) const string Ties_configuration::complete_score_card () const { - string s; - for (vsize i = 0; i < size(); i++) + string s; + for (vsize i = 0; i < size (); i++) { s += complete_tie_card (i); } @@ -192,8 +198,6 @@ Ties_configuration::complete_score_card () const return s; } - - string Ties_configuration::card () const {