X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Frhythmic-column-engraver.cc;h=81e0cb65bf43783f32d84fdf05eb366b8bd3ad6b;hb=refs%2Ftags%2Frelease%2F1.2.8;hp=ec90bcfdb41463571e42675227991db733793e95;hpb=74e65211d6cda3818a6d4891f1f1c31f457e94cd;p=lilypond.git diff --git a/lily/rhythmic-column-engraver.cc b/lily/rhythmic-column-engraver.cc index ec90bcfdb4..81e0cb65bf 100644 --- a/lily/rhythmic-column-engraver.cc +++ b/lily/rhythmic-column-engraver.cc @@ -6,11 +6,12 @@ (c) 1997--1999 Han-Wen Nienhuys */ +#include "dimension-cache.hh" +#include "slur.hh" #include "rhythmic-column-engraver.hh" #include "note-head.hh" #include "stem.hh" #include "note-column.hh" -#include "script.hh" #include "dot-column.hh" #include "musical-request.hh" @@ -35,7 +36,8 @@ Rhythmic_column_engraver::process_acknowledged () for (int i=0; i < rhead_l_arr_.size (); i++) { - ncol_p_->add_head (rhead_l_arr_[i]); + if (!rhead_l_arr_[i]->parent_l(X_AXIS)) + ncol_p_->add_head (rhead_l_arr_[i]); } rhead_l_arr_.set_size (0); } @@ -43,52 +45,59 @@ Rhythmic_column_engraver::process_acknowledged () if (ncol_p_) { - if (dotcol_l_) + if (dotcol_l_ + && !dotcol_l_->parent_l(X_AXIS)) { ncol_p_->set_dotcol (dotcol_l_); } - if (stem_l_) + if (stem_l_ + && !stem_l_->parent_l(X_AXIS)) { ncol_p_->set_stem (stem_l_); stem_l_ = 0; } - - for (int i=0; i < script_l_arr_.size(); i++) - { - if (ncol_p_) - ncol_p_->add_script (script_l_arr_[i]); - } - - script_l_arr_.clear(); + + + bool wegrace = get_property ("weAreGraceContext",0).to_bool (); + + if (!wegrace) + for (int i=0; i < grace_slur_endings_.size(); i++) + grace_slur_endings_[i]->add_column (ncol_p_); + grace_slur_endings_.clear (); } } void Rhythmic_column_engraver::acknowledge_element (Score_element_info i) { + if ((get_property ("weAreGraceContext",0).to_bool () != + (i.elem_l_->get_elt_property (grace_scm_sym) != SCM_BOOL_F)) + && !dynamic_cast (i.elem_l_)) + return ; + Item * item = dynamic_cast (i.elem_l_); - if (!item) - return; - if (Script *s=dynamic_cast