X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Ftranslator.icc;h=2a7eeccc235e2884a96acbc37e29f39bf19e3369;hb=21930f09f54ab2f1b0dc26b0342caa92c8440e6f;hp=fa2e2842bb4d62a94169bb3011d648bbe5cb8317;hpb=bdd3c80b32f39751ed30a89a4623ede6fe0c6df3;p=lilypond.git diff --git a/lily/include/translator.icc b/lily/include/translator.icc index fa2e2842bb..2a7eeccc23 100644 --- a/lily/include/translator.icc +++ b/lily/include/translator.icc @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 2005--2006 Han-Wen Nienhuys + (c) 2005--2007 Han-Wen Nienhuys */ #ifndef TRANSLATOR_ICC @@ -13,6 +13,10 @@ #include "std-vector.hh" #include "translator.hh" +/* + TODO: derive "foo-bar-interface" from Foo_bar classname. + */ + /** A macro to automate administration of translators. */ @@ -32,7 +36,7 @@ } \ ADD_GLOBAL_CTOR (_ ## T ## _adder); -#define ADD_TRANSLATOR(classname, desc, grobs, accepted, read, write) \ +#define ADD_TRANSLATOR(classname, desc, grobs, read, write) \ Drul_array< vector > classname::acknowledge_static_array_drul_; \ IMPLEMENT_FETCH_PRECOMPUTABLE_METHODS (classname); \ ADD_THIS_TRANSLATOR (classname); \ @@ -49,26 +53,7 @@ SCM \ classname::static_translator_description () const \ { \ - SCM static_properties = SCM_EOL; \ - /* static_properties = acons (name , gh_str02scm (Translator::name (self_scm ())), \ - static_properties_); \ - */ \ - static_properties = scm_acons (ly_symbol2scm ("grobs-created"), \ - parse_symbol_list (grobs), static_properties); \ - \ - static_properties = scm_acons (ly_symbol2scm ("description"), \ - scm_makfrom0str (desc), static_properties); \ - \ - static_properties = scm_acons (ly_symbol2scm ("events-accepted"), \ - get_listened_class_list (listener_list_), static_properties); \ - \ - static_properties = scm_acons (ly_symbol2scm ("properties-read"), \ - parse_symbol_list (read), static_properties); \ - \ - static_properties = scm_acons (ly_symbol2scm ("properties-written"), \ - parse_symbol_list (write), static_properties); \ - \ - return static_properties; \ + return Translator::static_translator_description (grobs, desc, listener_list_, read, write); \ } #define IMPLEMENT_FETCH_PRECOMPUTABLE_METHODS(T) \ @@ -149,10 +134,4 @@ cl::_listen_scm_ ## m (SCM sev) \ listen_ ## m (ev); \ } -/* - This helper is only meaningful inside listen_* methods. -*/ -extern bool internal_event_assignment (Stream_event **old_ev, Stream_event *new_ev, const char *function); -#define ASSIGN_EVENT_ONCE(o,n) internal_event_assignment (&o, n, __FUNCTION__) - #endif /* TRANSLATOR_ICC */