From d201be6ab14fff72c9cdadd2fff7af5a38b92d6d Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Thu, 9 Nov 2006 14:36:14 +0100 Subject: [PATCH] use Spanner::broken_neighbor() in slur and line spanner. --- lily/line-spanner.cc | 4 +--- lily/slur-scoring.cc | 14 ++++---------- 2 files changed, 5 insertions(+), 13 deletions(-) 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 (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 (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 (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 (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_); } } -- 2.39.5