]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/music-constructor.cc
(try_music): add moments for
[lilypond.git] / lily / music-constructor.cc
index bd14326605244fe83fa218f1a771b58e4c709605..e86672d7c7db6b6eccafc1a5b2979443485c56a6 100644 (file)
@@ -3,21 +3,25 @@
   
   source file of the GNU LilyPond music typesetter
   
-  (c) 2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c) 2001--2004  Han-Wen Nienhuys <hanwen@cs.uu.nl>
   
  */
 
 #include <map>                 // UGH.
+#include <assert.h>
+
+#include "warn.hh"
 #include "music-constructor.hh"
+
 typedef Music* (*Music_ctor) ();
 
-static map<String,Music_ctor> *ctors_map_;
+static std::map<String,Music_ctor> *ctors_map_;
 
 void
 add_music_ctor (String s,  Music_ctor c)
 {
   if (!ctors_map_)
-    ctors_map_ = new map<String, Music_ctor>;
+    ctors_map_ = new std::map<String, Music_ctor>;
   
  (*ctors_map_)[s] = c;
 }
@@ -33,8 +37,13 @@ get_music_ctor (String s)
 }
 
 Music* 
-get_music (String s)
+make_music (String s)
 {
-  return (*get_music_ctor (s)) ();
+  Music_ctor c = get_music_ctor (s);
+  if (!c)
+    programming_error (String ("No constructor for music: ") + s);
+  assert (c);
+  
+  return (*c) ();
 }