X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Ftranslator.cc;h=4191450809f1e5a8b377a665c6ac401177f58729;hb=6d14ec9744ef91579b0c77e4a39602bab712c324;hp=fd9f367df62f796acf4c64007e79288d46e00e10;hpb=637eff7ba745bbeb96d347d1798615529cea9e5f;p=lilypond.git diff --git a/lily/translator.cc b/lily/translator.cc index fd9f367df6..4191450809 100644 --- a/lily/translator.cc +++ b/lily/translator.cc @@ -3,12 +3,12 @@ source file of the GNU LilyPond music typesetter - (c) 1997--2001 Han-Wen Nienhuys + (c) 1997--2003 Han-Wen Nienhuys */ #include "translator.hh" -#include "debug.hh" +#include "warn.hh" #include "translator-group.hh" #include "translator-def.hh" @@ -27,23 +27,23 @@ Translator::init () trans_group_list_ = SCM_EOL; properties_scm_ = SCM_EOL; definition_ = SCM_EOL; - daddy_trans_l_ =0; + daddy_trans_ =0; } Translator::Translator () { + self_scm_ = SCM_EOL; init (); - output_def_l_ = 0; + output_def_ = 0; smobify_self (); - } Translator::Translator (Translator const &s) - : Input (s) { + self_scm_ = SCM_EOL; init (); - output_def_l_ = s.output_def_l_; - type_str_ = s.type_str_; + output_def_ = s.output_def_; + type_string_ = s.type_string_; smobify_self (); } @@ -51,7 +51,7 @@ Translator::Translator (Translator const &s) bool Translator::is_alias_b (String s) const { - bool b = s == type_str_; + bool b = s == type_string_; for (SCM a = unsmob_translator_def (definition_)->type_aliases_; !b && gh_pair_p (a); a = ly_cdr (a)) @@ -70,44 +70,30 @@ Translator::try_music (Music *) Moment Translator::now_mom () const { - return daddy_trans_l_->now_mom (); + return daddy_trans_->now_mom (); } - - - - - void Translator::removal_processing () { finalize (); } - void -Translator::announces () +Translator::do_announces () { - do_announces (); } - Music_output_def * -Translator::output_def_l () const +Translator::get_output_def () const { - return output_def_l_; + return output_def_; } SCM -Translator::get_property (char const * id) const +Translator::internal_get_property (SCM sym) const { - return daddy_trans_l_->get_property (ly_symbol2scm (id)); -} - -SCM -Translator::get_property (SCM sym) const -{ - return daddy_trans_l_->get_property (sym); + return daddy_trans_->internal_get_property (sym); } void @@ -120,11 +106,6 @@ Translator::start_translation_timestep () { } -void -Translator::do_announces () -{ -} - void Translator::initialize () { @@ -153,30 +134,27 @@ Translator::mark_smob (SCM sm) return me->properties_scm_; } -MAKE_SCHEME_CALLBACK(Translator,name,1); -SCM -Translator::name (SCM trans) +LY_DEFINE(ly_translator_name, + "ly:translator-name", 1,0,0, (SCM trans), + "Return the type name of the translator @var{trans}. +") { - if (unsmob_translator (trans)) - { - char const* nm = classname (unsmob_translator (trans)); - return ly_str02scm (nm); - } - return - SCM_EOL; + Translator* tr = unsmob_translator (trans); + SCM_ASSERT_TYPE(tr, trans, SCM_ARG1, __FUNCTION__, "Context"); + + char const* nm = classname (tr); + return scm_makfrom0str (nm); } -MAKE_SCHEME_CALLBACK(Translator,description,1) -SCM -Translator::description (SCM me) +LY_DEFINE(ly_translator_description, + "ly:translator-description", + 1,0,0, (SCM me), + "Return an alist of properties of translator @var{me}.") { - if (unsmob_translator (me)) - return unsmob_translator(me)->translator_description (); - else - { - programming_error ("Translator::description ()"); - return SCM_EOL; - } + Translator *tr =unsmob_translator (me); + SCM_ASSERT_TYPE (tr, me, SCM_ARG1, __FUNCTION__, "Context"); + + return tr->translator_description (); } SCM @@ -191,7 +169,7 @@ Translator::print_smob (SCM s, SCM port, scm_print_state *) Translator *sc = (Translator *) ly_cdr (s); scm_puts ("#simple_trans_list_, port); /* don't try to print properties, that is too much hassle. @@ -207,6 +185,6 @@ Translator::static_translator_description ()const return SCM_EOL; } -IMPLEMENT_UNSMOB (Translator, translator); + IMPLEMENT_SMOBS (Translator); IMPLEMENT_DEFAULT_EQUAL_P (Translator);