X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fmusic-constructor.hh;h=a4d2864a3c3018c7074e6ba634fbeaab39f5531e;hb=0849262a1fd57ad3e68d879e7d129a3bf99273cd;hp=1e9dc262ff0f83419a75313251367db12fc56029;hpb=68bef55db64c48862828fae80cfd24ecb6060efd;p=lilypond.git diff --git a/lily/include/music-constructor.hh b/lily/include/music-constructor.hh index 1e9dc262ff..a4d2864a3c 100644 --- a/lily/include/music-constructor.hh +++ b/lily/include/music-constructor.hh @@ -3,29 +3,31 @@ source file of the GNU LilyPond music typesetter - (c) 2001 Han-Wen Nienhuys + (c) 2001--2004 Han-Wen Nienhuys */ #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);