]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/music-constructor.hh
*** empty log message ***
[lilypond.git] / lily / include / music-constructor.hh
index 1e9dc262ff0f83419a75313251367db12fc56029..a4d2864a3c3018c7074e6ba634fbeaab39f5531e 100644 (file)
@@ -3,29 +3,31 @@
   
   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>
   
  */
 
 #ifndef MUSIC_CONSTRUCTOR_HH
 #define MUSIC_CONSTRUCTOR_HH
 
+#include "lily-guile.hh"
 #include "lily-proto.hh"
 #include "string.hh"
 #include "global-ctor.hh"
 
 #define ADD_MUSIC(type) \
-Music * _ ## type ## _ctor ()\
+Music * _ ## type ## _ctor (SCM init)\
 {\
-  return new type;\
+  return new type (init);\
 }\
 static void  _ ## type ## _adder () {\
       add_music_ctor (#type, & _ ## type ## _ctor);\
 }\
-ADD_GLOBAL_CTOR (_ ## type ## _adder);
+ADD_SCM_INIT_FUNC( _ ## type ## _adder_prefix,  _ ## type ## _adder);
 
-void add_music_ctor (String, Music* (*) ());
-Music*make_music (String);
+typedef Music *(*Music_ctor) (SCM);
+void add_music_ctor (String, Music_ctor);
+Music*make_music (String, SCM);