]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/mark-engraver.cc
*** empty log message ***
[lilypond.git] / lily / mark-engraver.cc
index 026e817645e77aac736e8c4a2416a854025fa8f9..0213ff3440cce0e09e0e91957845e1698e490da8 100644 (file)
@@ -3,15 +3,14 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 1998--2004 Jan Nieuwenhuizen <janneke@gnu.org>
+  (c) 1998--2005 Jan Nieuwenhuizen <janneke@gnu.org>
 */
 
-#include <ctype.h>
+#include <cctype>
 
 #include "bar-line.hh"
 #include "context.hh"
 #include "engraver-group-engraver.hh"
-#include "engraver.hh"
 #include "item.hh"
 #include "warn.hh"
 #include "text-item.hh"
@@ -43,7 +42,7 @@ private:
 
 Mark_engraver::Mark_engraver ()
 {
-  text_ =0;
+  text_ = 0;
   mark_ev_ = 0;
 }
 
@@ -69,8 +68,7 @@ Mark_engraver::stop_translation_timestep ()
     {
       SCM lst = get_property ("stavesFound");
       text_->set_property ("side-support-elements" , lst);
-      typeset_grob (text_);
-      text_ =0;
+      text_ = 0;
     }
   mark_ev_ = 0;
 }
@@ -82,8 +80,7 @@ Mark_engraver::create_items (Music *ev)
   if (text_)
     return;
 
-  text_ = make_item ("RehearsalMark");
-  announce_grob (text_, ev->self_scm ());
+  text_ = make_item ("RehearsalMark", ev->self_scm ());
 }
 
 
@@ -112,35 +109,35 @@ Mark_engraver::process_music ()
       
       SCM m = mark_ev_->get_property ("label");
       SCM proc = get_property ("markFormatter");
-      if (!Text_item::markup_p (m) &&
-         gh_procedure_p (proc))
+      if (!Text_interface::markup_p (m) &&
+         ly_c_procedure_p (proc))
        {
-         if (!gh_number_p (m)) 
+         if (!scm_is_number (m)) 
            m =  get_property ("rehearsalMark");
 
          if (scm_integer_p (m) == SCM_BOOL_T
              && scm_exact_p (m) == SCM_BOOL_T)
            {
-             int mark_count = gh_scm2int (m);
+             int mark_count = scm_to_int (m);
              mark_count ++;
-             daddy_context_->set_property ("rehearsalMark",
-                                           gh_int2scm (mark_count));
+             context ()->set_property ("rehearsalMark",
+                                           scm_int2num (mark_count));
            }
 
-         if (gh_number_p (m))
-           m = scm_call_2 (proc, m, daddy_context_->self_scm ());
+         if (scm_is_number (m))
+           m = scm_call_2 (proc, m, context ()->self_scm ());
          else
            warning ("rehearsalMark does not have integer value.");
        }
 
-      if (Text_item::markup_p (m))
+      if (Text_interface::markup_p (m))
        text_->set_property ("text", m);
       else
        warning ("Mark label should be markup object.");
     }
 }
 
-ENTER_DESCRIPTION (Mark_engraver,
+ADD_TRANSLATOR (Mark_engraver,
 /* descr */       "This engraver will create RehearsalMark objects. "
                   "It puts them on top of all staves (which is taken from "
                   "the property @code{stavesFound}). If moving this engraver "