X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Funfolded-repeat-iterator.cc;h=347e929b4afacca896b04f6635ae203154981f6a;hb=3a0e9efb7f067e5b334ba0596b95e15d96d7cc49;hp=901d69f80b7ca90201f636c506acecba3cbd79aa;hpb=8002fa018c81f70585c25232247c6dcba7f5cba0;p=lilypond.git diff --git a/lily/unfolded-repeat-iterator.cc b/lily/unfolded-repeat-iterator.cc index 901d69f80b..347e929b4a 100644 --- a/lily/unfolded-repeat-iterator.cc +++ b/lily/unfolded-repeat-iterator.cc @@ -49,7 +49,7 @@ Unfolded_repeat_iterator::next_element () { done_mom_ += mus->repeat_body_p_->length_mom (); - if (full_unfold_b_) + if (!mus->volta_fold_b_) done_count_ ++; if (alternative_cons_l_) @@ -57,7 +57,7 @@ Unfolded_repeat_iterator::next_element () current_iter_p_ = get_iterator_p (alternative_cons_l_->car_); do_main_b_ = false; } - else if (done_count_ < mus->repeats_i_ && full_unfold_b_) + else if (done_count_ < mus->repeats_i_ && !mus->volta_fold_b_) { current_iter_p_ = get_iterator_p (mus->repeat_body_p_); do_main_b_ = true; @@ -73,20 +73,20 @@ Unfolded_repeat_iterator::next_element () { done_mom_ += alternative_cons_l_->car_->length_mom (); - if (!full_unfold_b_ || + if (mus->volta_fold_b_ || mus->repeats_i_ - done_count_ < alternative_count_i_) alternative_cons_l_ = alternative_cons_l_->next_; /* we've done the main body as well, but didn't go over the other increment. */ - if (full_unfold_b_) + if (mus->volta_fold_b_) done_count_ ++; } if (done_count_ < mus->repeats_i_ && alternative_cons_l_) { - if (!full_unfold_b_) + if (mus->volta_fold_b_) current_iter_p_ = get_iterator_p (alternative_cons_l_->car_); else { @@ -114,8 +114,6 @@ void Unfolded_repeat_iterator::construct_children () { Repeated_music const* mus =dynamic_cast (music_l_); - full_unfold_b_ = playback_b_ || (!mus->volta_fold_b_); - alternative_cons_l_ = (mus->alternatives_p_) ? mus->alternatives_p_->music_p_list_p_->head_ : 0; @@ -167,7 +165,7 @@ void Unfolded_repeat_iterator::do_print () const { #ifndef NPRINT - DEBUG_OUT << "count " << done_count_ << "done time " << done_mom_ << '\n'; + DEBUG_OUT << "count " << done_count_ << "done time " << Rational (done_mom_) << '\n'; DEBUG_OUT << "current: "; current_iter_p_->print(); #endif