From: Han-Wen Nienhuys <hanwen@xs4all.nl> Date: Thu, 9 Nov 2006 13:36:14 +0000 (+0100) Subject: use Spanner::broken_neighbor() in slur and line spanner. X-Git-Tag: release/2.10.0-2~23 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=d201be6ab14fff72c9cdadd2fff7af5a38b92d6d;p=lilypond.git use Spanner::broken_neighbor() in slur and line spanner. --- diff --git a/lily/line-spanner.cc b/lily/line-spanner.cc index 688cf8db2e..0b6a9fae7f 100644 --- a/lily/line-spanner.cc +++ b/lily/line-spanner.cc @@ -222,9 +222,7 @@ Line_spanner::print (SCM smob) anymore. We have to find the piano-staff object. */ - int k = broken_spanner_index (me); - Spanner *parent_sp = dynamic_cast<Spanner *> (me->original ()); - Spanner *next_sp = parent_sp->broken_intos_ [k + 1]; + Spanner *next_sp = me->broken_neighbor (RIGHT); Item *next_bound = next_sp->get_bound (RIGHT); if (next_bound->break_status_dir ()) diff --git a/lily/slur-scoring.cc b/lily/slur-scoring.cc index 618786867e..ba8f5c80cc 100644 --- a/lily/slur-scoring.cc +++ b/lily/slur-scoring.cc @@ -74,12 +74,11 @@ broken_trend_y (Slur_score_state const &state, Direction hdir) Real by = 0.0; if (Spanner *mother = dynamic_cast<Spanner *> (state.slur_->original ())) { - vsize k = broken_spanner_index (state.slur_); - int j = int (k) + hdir; - if (j < 0 || vsize (j) >= mother->broken_intos_.size ()) + Grob *neighbor = mother->broken_neighbor (hdir); + if (!neighbor) return by; - Grob *neighbor = mother->broken_intos_[j]; + Spanner *common_mother = dynamic_cast<Spanner *> (state.common_[Y_AXIS]->original ()); int common_k @@ -108,13 +107,8 @@ Slur_score_state::set_next_direction () if (extremes_[RIGHT].note_column_) return; - if (Spanner *mother = dynamic_cast<Spanner *> (slur_->original ())) + if (Grob *neighbor = slur_->broken_neighbor (RIGHT)) { - vsize j = 1 + broken_spanner_index (slur_); - if (j >= mother->broken_intos_.size ()) - return; - - Grob *neighbor = mother->broken_intos_[j]; set_grob_direction (neighbor, dir_); } }