From: Han-Wen Nienhuys Date: Sun, 13 Nov 2005 01:04:24 +0000 (+0000) Subject: (get_configuration): only shift tie by a whole staff X-Git-Tag: release/2.7.17~23 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=5326fc95f453fca8f75b1540459b066e039f61eb;p=lilypond.git (get_configuration): only shift tie by a whole staff space inside the staff. --- diff --git a/lily/tie.cc b/lily/tie.cc index c22cb49c19..7588cc33ed 100644 --- a/lily/tie.cc +++ b/lily/tie.cc @@ -357,14 +357,23 @@ Tie::get_configuration (Grob *me_grob, Grob *common, if (!in_between && in_space && abs (conf->position_ - conf->head_position_) <= 1) - conf->position_ += 2*conf->dir_; - + { + int amount = conf->dir_; + if (sign (conf->position_) != conf->dir_ + || conf->position_ < Staff_symbol_referencer::staff_radius (me) * 2) + amount *= 2; + + conf->position_ += amount; + } if (in_space) { - if ((abs (conf->position_ - conf->head_position_) <= 1 - && fabs (dy) < 0.45 * staff_space) - || fabs (dy) < 0.6 * staff_space) + if ((sign (conf->position_) != conf->dir_ + || conf->position_ < Staff_symbol_referencer::staff_radius (me) * 2) + && + ((abs (conf->position_ - conf->head_position_) <= 1 + && fabs (dy) < 0.45 * staff_space) + || fabs (dy) < 0.6 * staff_space)) { /* vertically center in space.