X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=lily%2Ftranslator.cc;h=ae0bb1a0e42107b9c901072790a1956bb5489216;hb=c7be17948fb3aec4e57e21027a0eb98f05be43bb;hp=66ac05c5d8846e4f87a192fcc8573f88a0663cfd;hpb=d3190e49a8f73d44b2e11034323b8f3592f288d6;p=lilypond.git diff --git a/lily/translator.cc b/lily/translator.cc index 66ac05c5d8..ae0bb1a0e4 100644 --- a/lily/translator.cc +++ b/lily/translator.cc @@ -1,22 +1,171 @@ /* - Translator.cc -- implement Translator + translator.cc -- implement Translator source file of the GNU LilyPond music typesetter - (c) 1997 Han-Wen Nienhuys + (c) 1997--2004 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::try_request(Request*) +Translator::must_be_last () const +{ + return must_be_last_; +} + +void +Translator::derived_mark () const { - return false; + }