]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/grace-engraver-group.cc
release: 1.3.107
[lilypond.git] / lily / grace-engraver-group.cc
index 6c7547362d3492df7c2e715b5a78bbcff110a7c0..db566fe4bbfa70b0315eb7a493f6f52496f5060c 100644 (file)
@@ -3,12 +3,12 @@
   
   source file of the GNU LilyPond music typesetter
   
-  (c) 1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c) 1999--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
   
  */
+
 #include "grace-engraver-group.hh"
 #include "lily-guile.hh"
-#include "ly-symbols.hh"
 #include "score-element.hh"
 #include "musical-request.hh"
 
@@ -23,7 +23,7 @@ void
 Grace_engraver_group::finish ()
 {
   calling_self_b_ = true;
-  removal_processing ();       // ugr. We'd want to have this done by our parents.g
+  removal_processing ();       // ugr. We'd want to have this done by our parents.
   for (int i=0; i < announce_to_top_.size (); i++)
     {
       Engraver::announce_element (announce_to_top_[i]);
@@ -50,7 +50,7 @@ Grace_engraver_group::announce_element (Score_element_info inf)
   // do not propagate to top
   announce_to_top_.push (inf);
 
-  inf.elem_l_->set_elt_property (grace_scm_sym, SCM_BOOL_T);
+  inf.elem_l_->set_elt_property ("grace", SCM_BOOL_T);
 }
 
 void
@@ -69,7 +69,7 @@ void
 Grace_engraver_group::process ()
 {
   calling_self_b_  = true;
-  process_requests ();
+  process_music ();
   do_announces();
   pre_move_processing();
   check_removal();
@@ -85,12 +85,6 @@ Grace_engraver_group::each (Method_pointer method)
 }
 
 
-void
-Grace_engraver_group::each (Const_method_pointer method) const
-{
- if (calling_self_b_)
-    Engraver_group_engraver::each (method);
-}
 ADD_THIS_TRANSLATOR(Grace_engraver_group);
 
 
@@ -115,9 +109,11 @@ Grace_engraver_group::pass_to_top_b (Music *m) const
 {
   if (Span_req * sp = dynamic_cast<Span_req*> (m))
     {
-      if (sp->span_type_str_ == "slur")
+      if (scm_equal_p (sp->get_mus_property ("span-type"), ly_str02scm ("slur"))
+         == SCM_BOOL_T)
        //      return true;
        return false;
     }
   return false;
 }
+