]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/global-gravs.cc
release: 0.1.12
[lilypond.git] / lily / global-gravs.cc
index 6dcc07b7913b925358e9363bf31e40eff2fcae92..784c1939391c468adb4f377af1b9132b6e1aac3e 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  global-gravs.cc -- implement 
+  global-gravs.cc -- implement Engraver,Performer ctors
 
   source file of the GNU LilyPond music typesetter
 
@@ -8,42 +8,86 @@
 
 #include "proto.hh"
 #include "plist.hh"
-#include "input-engraver.hh"
+#include "input-translator.hh"
 #include "debug.hh"
 #include "engraver.hh"
 
-struct Request_engraver_table_entry {
-    String name_str_;
-    Grav_ctor ctor_l_;
-    Request_engraver_table_entry(String s, Grav_ctor f) {
+struct Engraver_table_entry {
+  String name_str_;
+  Grav_ctor ctor_l_;
+  Engraver_table_entry (String s, Grav_ctor f) 
+    {
        name_str_ =s;
        ctor_l_ = f;
     }
-    Request_engraver_table_entry()
-    {
+  Engraver_table_entry()
+  {
        ctor_l_ =0;
     }
 };
 
-static Array<Request_engraver_table_entry> *grav_table=0;
+static Array<Engraver_table_entry> *grav_table=0;
 
 void
-add_request_engraver(String s, Grav_ctor f)
+add_engraver (String s, Grav_ctor f)
 {
-    if (!grav_table)
-       grav_table = new Array<Request_engraver_table_entry>;
-    
-    grav_table->push(Request_engraver_table_entry(s, f));
+  if (!grav_table)
+       grav_table = new Array<Engraver_table_entry>;
+  
+  grav_table->push (Engraver_table_entry (s, f));
 }
 
 
-Request_engraver*
-get_engraver_p(String s)
+Engraver*
+get_engraver_p (String s)
 {
-    for (int i=0; i < grav_table->size(); i++) {
+  for (int i=0; i < grav_table->size(); i++) 
+    {
        if ((*grav_table)[i].name_str_ == s)
            return (*(*grav_table)[i].ctor_l_)();
     }
-    error("Unknown engraver `" + s +"\'");
-    return 0;
+  error ("Unknown engraver `" + s +"\'");
+  return 0;
+}
+
+#if 0
+
+struct Performer_table_entry
+{
+  String name_str_;
+  Perf_ctor ctor_l_;
+  Performer_table_entry (String s, Perf_ctor f) 
+    {
+       name_str_ =s;
+       ctor_l_ = f;
+    }
+  Performer_table_entry()
+  {
+       ctor_l_ =0;
+    }
+}
+
+static Array<Performer_table_entry> *perf_table=0;
+
+void
+add_performer (String s, Perf_ctor f)
+{
+  if (!perf_table)
+       perf_table = new Array<Performer_table_entry>;
+  
+  perf_table->push (Performer_table_entry (s, f));
+}
+
+
+Performer*
+get_performer_p (String s)
+{
+  for (int i=0; i < perf_table->size(); i++) 
+    {
+       if ((*perf_table)[i].name_str_ == s)
+           return (*(*perf_table)[i].ctor_l_)();
+    }
+  error ("Unknown performer `" + s +"\'");
+  return 0;
 }
+#endif