]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/tuplet-engraver.cc
*** empty log message ***
[lilypond.git] / lily / tuplet-engraver.cc
index bf82dc093103b9b581e718d837dc7c98d527d5d5..57e819c2c8eab822c8e0dcbb7141871c186c4544 100644 (file)
@@ -12,6 +12,8 @@
 #include "engraver.hh"
 #include "spanner.hh"
 
+#include "translator.icc"
+
 struct Tuplet_description
 {
   Music *music_;
@@ -33,10 +35,10 @@ public:
 protected:
   Array<Tuplet_description> tuplets_;
 
-  virtual void acknowledge_grob (Grob_info);
+  DECLARE_ACKNOWLEDGER(note_column);
   virtual bool try_music (Music *r);
-  virtual void start_translation_timestep ();
-  virtual void process_music ();
+  PRECOMPUTED_VIRTUAL void start_translation_timestep ();
+  PRECOMPUTED_VIRTUAL void process_music ();
 };
 
 bool
@@ -76,7 +78,7 @@ Tuplet_engraver::process_music ()
       tuplets_[i].spanner_ = spanner;
 
       SCM proc = get_property ("tupletNumberFormatFunction");
-      if (ly_c_procedure_p (proc))
+      if (ly_is_procedure (proc))
        {
          SCM t = scm_apply_0 (proc, scm_list_1 (tuplets_[i].music_->self_scm ()));
          spanner->set_property ("text", t);
@@ -85,15 +87,12 @@ Tuplet_engraver::process_music ()
 }
 
 void
-Tuplet_engraver::acknowledge_grob (Grob_info i)
+Tuplet_engraver::acknowledge_note_column (Grob_info i)
 {
-  if (Note_column::has_interface (i.grob ()))
-    {
-      for (int j = 0; j < tuplets_.size (); j++)
-       if (tuplets_[j].spanner_)
-         Tuplet_bracket::add_column (tuplets_[j].spanner_,
-                                     dynamic_cast<Item *> (i.grob ()));
-    }
+  for (int j = 0; j < tuplets_.size (); j++)
+    if (tuplets_[j].spanner_)
+      Tuplet_bracket::add_column (tuplets_[j].spanner_,
+                                 dynamic_cast<Item *> (i.grob ()));
 }
 
 void
@@ -132,11 +131,11 @@ Tuplet_engraver::start_translation_timestep ()
 Tuplet_engraver::Tuplet_engraver ()
 {
 }
-
+ADD_ACKNOWLEDGER(Tuplet_engraver,note_column);
 ADD_TRANSLATOR (Tuplet_engraver,
                /* descr */ "Catch Time_scaled_music and generate appropriate bracket  ",
                /* creats*/ "TupletBracket",
                /* accepts */ "time-scaled-music",
-               /* acks  */ "note-column-interface",
+               /* acks  */ "",
                /* reads */ "tupletNumberFormatFunction tupletSpannerDuration",
                /* write */ "");