]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/translator-dispatch-list.cc
Doc-es: update Notation/Rhythms.
[lilypond.git] / lily / translator-dispatch-list.cc
index 1c5c94d667a74f27fa4d9554227de033f95d9944..10bf06407598f452fffffd5b034caa42f7a2f7dc 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 2005--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  Copyright (C) 2005--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
   LilyPond is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -20,7 +20,6 @@
 #include "translator-dispatch-list.hh"
 #include "engraver.hh"
 
-#include "ly-smobs.icc"
 
 void
 Engraver_dispatch_list::apply (Grob_info gi)
@@ -32,7 +31,7 @@ Engraver_dispatch_list::apply (Grob_info gi)
       if (e.engraver_ == origin)
         continue;
 
-      (*e.function_) (e.engraver_, gi);
+      (e.engraver_->*e.function_) (gi);
     }
 }
 
@@ -41,14 +40,14 @@ Engraver_dispatch_list::create (SCM trans_list,
                                 SCM iface_list, Direction start_end)
 {
   SCM retval = Engraver_dispatch_list ().smobbed_copy ();
-  Engraver_dispatch_list *list = Engraver_dispatch_list::unsmob (retval);
+  Engraver_dispatch_list *list = unsmob<Engraver_dispatch_list> (retval);
 
   Engraver_dispatch_entry entry;
   bool found = false;
   for (SCM s = trans_list; scm_is_pair (s); s = scm_cdr (s))
     {
       Engraver *eng
-        = dynamic_cast<Engraver *> (unsmob_translator (scm_car (s)));
+        = unsmob<Engraver> (scm_car (s));
 
       if (!eng)
         continue;
@@ -56,7 +55,7 @@ Engraver_dispatch_list::create (SCM trans_list,
       entry.engraver_ = eng;
       for (SCM i = iface_list; scm_is_pair (i); i = scm_cdr (i))
         {
-          Engraver_void_function_engraver_grob_info ptr
+          Translator::Grob_info_callback ptr
             = (start_end == START)
               ? eng->get_acknowledger (scm_car (i))
               : eng->get_end_acknowledger (scm_car (i));
@@ -72,21 +71,3 @@ Engraver_dispatch_list::create (SCM trans_list,
 
   return found ? retval : SCM_EOL;
 }
-
-SCM
-Engraver_dispatch_list::mark_smob (SCM)
-{
-  return SCM_BOOL_F;
-}
-
-int
-Engraver_dispatch_list::print_smob (SCM /* x */,
-                                    SCM p,
-                                    scm_print_state *)
-{
-  scm_puts ("#<Engraver_dispatch_list>", p);
-  return 1;
-}
-
-IMPLEMENT_SIMPLE_SMOBS (Engraver_dispatch_list);
-IMPLEMENT_DEFAULT_EQUAL_P (Engraver_dispatch_list);