]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/grace-position-engraver.cc
release: 1.3.18
[lilypond.git] / lily / grace-position-engraver.cc
index d8dcb08257de0e6c2983bb23e5a744ccc5aed22d..1b9fe9534fcab36da5bafc0d16f62f6d35bddba3 100644 (file)
@@ -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 <Note_head*> (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<Local_key_item*>(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<Axis_group_element*> (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);
+