X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Ftranslator.cc;h=dd4ea8c236e5f3425665d126cb9dd0da4d1f139c;hb=6b9bfd374643d1eed1ea158777d796c57a2bcd3a;hp=8ccda6bb79f4167d0846560d278b9c91f4b5644b;hpb=2fc177dc2401903f604f4520c7b59e1544046ed5;p=lilypond.git diff --git a/lily/translator.cc b/lily/translator.cc index 8ccda6bb79..dd4ea8c236 100644 --- a/lily/translator.cc +++ b/lily/translator.cc @@ -8,7 +8,7 @@ #include "translator.hh" -#include "debug.hh" +#include "warn.hh" #include "translator-group.hh" #include "translator-def.hh" @@ -27,22 +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) { + 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 (); } @@ -50,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)) @@ -69,7 +70,7 @@ Translator::try_music (Music *) Moment Translator::now_mom () const { - return daddy_trans_l_->now_mom (); + return daddy_trans_->now_mom (); } void @@ -79,21 +80,20 @@ Translator::removal_processing () } 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::internal_get_property (SCM sym) const { - return daddy_trans_l_->internal_get_property (sym); + return daddy_trans_->internal_get_property (sym); } void @@ -106,11 +106,6 @@ Translator::start_translation_timestep () { } -void -Translator::do_announces () -{ -} - void Translator::initialize () { @@ -139,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 @@ -177,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.