From: fred Date: Sun, 24 Mar 2002 19:48:36 +0000 (+0000) Subject: lilypond-0.0.76 X-Git-Tag: release/1.5.59~4424 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=ca9cd9e3cbb9302c893d2ca0b922100e1bbfc4a0;p=lilypond.git lilypond-0.0.76 --- diff --git a/BUGS b/BUGS index f246b3a96b..e4af66d3cb 100644 --- a/BUGS +++ b/BUGS @@ -1,10 +1,2 @@ -This file documents bugs which were "re-introduced" in various pl's -pl69 - * slurs.ly - -pl68: - * opening rests of wohltemperirt - - - * midi broken +[document reintroduced deficiencies.] diff --git a/lily/note-column-grav.cc b/lily/note-column-grav.cc index 6c0d668ad1..3cf96d2575 100644 --- a/lily/note-column-grav.cc +++ b/lily/note-column-grav.cc @@ -57,42 +57,51 @@ Note_column_engraver::acknowledge_element(Score_elem_info i) rest_col_l()->add(h_l); else note_col_l()->add(h_l); - } - else if (nC == Stem::static_name()){ + + } else if (nC == Stem::static_name()){ stem_l_ = (Stem*)i.elem_l_->item(); } + + if ( ncol_p_ || restcol_p_ ) { + if ( stem_l_ ) { + if (restcol_p_&& !restcol_p_->stem_l_) + restcol_p_->set (stem_l_ ); + if (ncol_p_ && !ncol_p_->stem_l_) + ncol_p_->set(stem_l_); + } + + + for (int i=0; i < script_l_arr_.size(); i++) { + if (restcol_p_) + restcol_p_->add(script_l_arr_[i]); + if ( ncol_p_ ) + ncol_p_->add(script_l_arr_[i]); + } + + script_l_arr_.set_size(0); + } + } void Note_column_engraver::do_pre_move_processing() { - Script_column *col_l = ( ncol_p_ ) ? ncol_p_ : restcol_p_; - if (!col_l) - return; - - for (int i=0; i < script_l_arr_.size(); i++) - col_l->add(script_l_arr_[i]); - - if (stem_l_) { - if (ncol_p_) - ncol_p_->add(stem_l_); - if (restcol_p_) - restcol_p_->add(stem_l_); - } - if (restcol_p_) { - if (! restcol_p_ -> dir_i_) - restcol_p_->dir_i_ = dir_i_; - typeset_element(restcol_p_); - restcol_p_ =0; - } if (ncol_p_) { - if (! ncol_p_->dir_i_ ) - ncol_p_->dir_i_ = dir_i_; if (! ncol_p_->h_shift_b_) ncol_p_->h_shift_b_ = h_shift_b_; + if (! ncol_p_->dir_i_ ) + ncol_p_->dir_i_ = dir_i_; + typeset_element(ncol_p_); ncol_p_ =0; } + if (restcol_p_) { + if (! restcol_p_->dir_i_ ) + restcol_p_->dir_i_ = dir_i_; + + typeset_element(restcol_p_); + restcol_p_ =0; + } } void @@ -120,6 +129,7 @@ Note_column_engraver::Note_column_engraver() restcol_p_ =0; do_post_move_processing(); } + IMPLEMENT_STATIC_NAME(Note_column_engraver); IMPLEMENT_IS_TYPE_B1(Note_column_engraver,Engraver); ADD_THIS_ENGRAVER(Note_column_engraver);