X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fgrace-position-engraver.cc;h=1b9fe9534fcab36da5bafc0d16f62f6d35bddba3;hb=48f2b9351f93d0161c675cfb60e95bf919041df2;hp=d8dcb08257de0e6c2983bb23e5a744ccc5aed22d;hpb=339ea28cd7e4f8a1c1ca7c1d4dfe803a3f4c03e6;p=lilypond.git diff --git a/lily/grace-position-engraver.cc b/lily/grace-position-engraver.cc index d8dcb08257..1b9fe9534f 100644 --- a/lily/grace-position-engraver.cc +++ b/lily/grace-position-engraver.cc @@ -12,6 +12,7 @@ #include "note-head.hh" #include "local-key-item.hh" #include "paper-column.hh" +#include "dimension-cache.hh" class Grace_position_engraver:public Engraver { @@ -44,12 +45,12 @@ Grace_position_engraver::acknowledge_element (Score_element_info i) } else if (Note_head * n = dynamic_cast (i.elem_l_)) { - if (n->get_elt_property (grace_scm_sym) == SCM_BOOL_F) + if (!to_boolean (n->get_elt_property ("grace"))) support_.push (n); } else if (Local_key_item*it = dynamic_cast(i.elem_l_)) { - if (it->get_elt_property (grace_scm_sym) == SCM_BOOL_F) + if (!to_boolean (it->get_elt_property ("grace"))) support_.push (it); else if (align_l_) it->add_dependency (align_l_); @@ -81,18 +82,20 @@ Grace_position_engraver::do_pre_move_processing () */ if (align_l_ && !align_l_->supported_b ()) { - Graphical_element * elt = align_l_->parent_l (X_AXIS); + Score_element * elt = align_l_->parent_l (X_AXIS); if (elt) return; - warning (_("Unattached grace notes. Attaching to last musical column.")); - Axis_group_element * ae = dynamic_cast (elt); - if (ae) + warning (_("Unattached grace notes. Attaching to last musical column.")); + /* if (ae) ae->remove_element (align_l_); - else if (elt) - align_l_->dim_cache_[X_AXIS]->parent_l_ = 0; + else if (elt)*/ + + + align_l_->set_parent (0, X_AXIS); last_musical_col_l_->add_element (align_l_); } + last_musical_col_l_ = get_staff_info ().musical_pcol_l (); } @@ -104,3 +107,4 @@ Grace_position_engraver::do_post_move_processing () } ADD_THIS_TRANSLATOR(Grace_position_engraver); +