X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=lily%2Ftranslator.cc;h=e1f3408a38b79f441ab928b239ef8baa8d895bf4;hb=87d48c0b8a5c75a1476bbb88ca853de838f3c7ac;hp=148b8331af1801180f749cf0275a30257ff160dc;hpb=a2896b23ce12cc61e9cd4495324c9ca5551cb947;p=lilypond.git diff --git a/lily/translator.cc b/lily/translator.cc index 148b8331af..e1f3408a38 100644 --- a/lily/translator.cc +++ b/lily/translator.cc @@ -1,16 +1,158 @@ /* - Translator.cc -- implement Translator + translator.cc -- implement Translator source file of the GNU LilyPond music typesetter - (c) 1997 Han-Wen Nienhuys + (c) 1997--2005 Han-Wen Nienhuys */ #include "translator.hh" -Translator::Translator() + +#include "warn.hh" +#include "translator-group.hh" +#include "context-def.hh" +#include "global-context.hh" + +#include "ly-smobs.icc" + +Translator::~Translator () +{ +} + +void +Translator::init () +{ + must_be_last_ = false; + self_scm_ = SCM_EOL; + daddy_context_ = 0; + smobify_self (); +} + +void +Translator::do_announces () +{ +} + +void +Translator::process_music () +{ +} + +Translator::Translator () +{ + init (); +} + +Translator::Translator (Translator const &src) +{ + init (); + must_be_last_ = src.must_be_last_; +} + +bool +Translator::try_music (Music *) +{ + return false; +} + +Moment +Translator::now_mom () const +{ + return daddy_context_->now_mom (); +} + +Output_def * +Translator::get_output_def () const +{ + return daddy_context_->get_output_def (); +} + +Translator_group * +Translator::get_daddy_translator () const +{ + return daddy_context_->implementation (); +} + +SCM +Translator::internal_get_property (SCM sym) const +{ + return daddy_context_->internal_get_property (sym); +} + +void +Translator::stop_translation_timestep () { - iterator_count_ = 0; } -IMPLEMENT_STATIC_NAME(Translator); -IMPLEMENT_IS_TYPE_B(Translator); +/* + this function has 2 properties + + - It is called before try_music () + + - It is called before any user information enters the translators. + (i.e. any \property or event is not processed yet.) +*/ +void +Translator::start_translation_timestep () +{ +} + +void +Translator::initialize () +{ +} + +void +Translator::finalize () +{ +} + +/* + SMOBS +*/ +SCM +Translator::mark_smob (SCM sm) +{ + Translator *me = (Translator *) SCM_CELL_WORD_1 (sm); + me->derived_mark (); + return SCM_EOL; +} + +SCM +Translator::translator_description () const +{ + return SCM_EOL; +} + +Global_context * +Translator::get_global_context () const +{ + return daddy_context_->get_global_context (); +} + +Score_context * +Translator::get_score_context () const +{ + return daddy_context_->get_score_context (); +} + +SCM +Translator::static_translator_description ()const +{ + return SCM_EOL; +} + +IMPLEMENT_SMOBS (Translator); +IMPLEMENT_DEFAULT_EQUAL_P (Translator); +IMPLEMENT_TYPE_P (Translator, "ly:translator?"); + +bool +Translator::must_be_last () const +{ + return must_be_last_; +} + +void +Translator::derived_mark () const +{ +}