X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Ftie-performer.cc;h=51d1375d849d376995eea6dd56a834c9b8a12d56;hb=c52973e438ce3490d688860bb71849a7b3c26fef;hp=0d7d5a0257dbe76a66dfbb0ba9383b357c1c196e;hpb=0ac652bb955a79fcb1655a5fade88bc6e1e551c3;p=lilypond.git diff --git a/lily/tie-performer.cc b/lily/tie-performer.cc index 0d7d5a0257..51d1375d84 100644 --- a/lily/tie-performer.cc +++ b/lily/tie-performer.cc @@ -1,9 +1,9 @@ /* - tie-performer.cc -- implement + tie-performer.cc -- implement Tie_performer source file of the GNU LilyPond music typesetter - (c) 1999 Jan Nieuwenhuizen + (c) 1999--2000 Jan Nieuwenhuizen */ @@ -23,10 +23,13 @@ Tie_performer::Tie_performer() bool Tie_performer::do_try_music (Music *m) { - if (Tie_req * c = dynamic_cast (m)) + if (!req_l_) { - req_l_ = c; - return true; + if (Tie_req * c = dynamic_cast (m)) + { + req_l_ = c; + return true; + } } return false; } @@ -44,7 +47,7 @@ Tie_performer::acknowledge_element (Audio_element_info i) } void -Tie_performer::do_process_requests () +Tie_performer::do_process_music () { if (req_l_) { @@ -121,14 +124,8 @@ Tie_performer::do_pre_move_processing () for (int i=0; i< tie_p_arr_.size (); i++) { //play_element (tie_p_arr_[i]); - /* - urg. - doesn't work for c ~ c ~ c - */ - tie_p_arr_[i]->note_l_drul_[LEFT]->length_mom_ += - tie_p_arr_[i]->note_l_drul_[RIGHT]->length_mom_; - tie_p_arr_[i]->note_l_drul_[RIGHT]->length_mom_ = 0; - } + tie_p_arr_[i]->note_l_drul_[RIGHT]->tie_to (tie_p_arr_[i]->note_l_drul_[LEFT]); + } tie_p_arr_.clear (); }