X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Ftiming-translator.cc;h=9676e982650ff99217a38cc5f93e318fa5cdcdbc;hb=ea1cd9ac0821fabc809e48f2b9390f26e6e90829;hp=7c05a7d14bd5f292e01ceb8bdf815051fef4531d;hpb=8e300d9598c6f54cb18d8bc8cd0458fa1028d8b9;p=lilypond.git diff --git a/lily/timing-translator.cc b/lily/timing-translator.cc index 7c05a7d14b..9676e98265 100644 --- a/lily/timing-translator.cc +++ b/lily/timing-translator.cc @@ -4,58 +4,28 @@ source file of the GNU LilyPond music typesetter - (c) 1997--2001 Han-Wen Nienhuys + (c) 1997--2003 Han-Wen Nienhuys */ -#include "debug.hh" +#include "warn.hh" #include "timing-translator.hh" -#include "command-request.hh" + #include "translator-group.hh" #include "global-translator.hh" #include "multi-measure-rest.hh" -/* - TODO: change the rest of lily, so communication with - Timing_translator is only done through properties. This means the - class declaration can go here. */ -bool -Timing_translator::try_music (Music*r) -{ - if (dynamic_cast (r)) - { - check_ = r; - return true; - } - return false; -} - -void -Timing_translator::process_music () -{ - if (check_ && measure_position ().main_part_) - { - check_->origin ()->warning (_f ("barcheck failed at: %s", - measure_position ().str ())); - Moment zero; - - if (!to_boolean (get_property ("barCheckNoSynchronize"))) - daddy_trans_l_->set_property ("measurePosition", zero.smobbed_copy ()); - } -} void Timing_translator::stop_translation_timestep () { - check_ = 0; - Translator *t = this; - Global_translator *global_l =0; + Global_translator *global =0; do { - t = t->daddy_trans_l_ ; - global_l = dynamic_cast (t); + t = t->daddy_trans_ ; + global = dynamic_cast (t); } - while (!global_l); + while (!global); /* allbars == ! skipbars */ SCM sb = get_property ("skipBars"); @@ -75,24 +45,21 @@ Timing_translator::stop_translation_timestep () moment. A waste of cpu? */ && !now.grace_part_) - global_l->add_moment_to_process (now + barleft); + global->add_moment_to_process (now + barleft); } } - -ADD_THIS_TRANSLATOR (Timing_translator); - void Timing_translator::initialize () { - daddy_trans_l_->set_property ("timing" , SCM_BOOL_T); - daddy_trans_l_->set_property ("currentBarNumber" , gh_int2scm (1)); + daddy_trans_->set_property ("timing" , SCM_BOOL_T); + daddy_trans_->set_property ("currentBarNumber" , gh_int2scm (1)); - daddy_trans_l_->set_property ("timeSignatureFraction", + daddy_trans_->set_property ("timeSignatureFraction", gh_cons (gh_int2scm (4), gh_int2scm (4))); - daddy_trans_l_->set_property ("measurePosition", Moment (Rational (0)).smobbed_copy ()); - daddy_trans_l_->set_property ("measureLength", Moment (Rational (1)).smobbed_copy ()); - daddy_trans_l_->set_property ("beatLength", Moment (Rational (1,4)).smobbed_copy ()); + daddy_trans_->set_property ("measurePosition", Moment (Rational (0)).smobbed_copy ()); + daddy_trans_->set_property ("measureLength", Moment (Rational (1)).smobbed_copy ()); + daddy_trans_->set_property ("beatLength", Moment (Rational (1,4)).smobbed_copy ()); } Rational @@ -129,18 +96,17 @@ Timing_translator::measure_position () const void Timing_translator::start_translation_timestep () { - check_ = 0; Translator *t = this; - Global_translator *global_l =0; + Global_translator *global =0; do { - t = t->daddy_trans_l_ ; - global_l = dynamic_cast (t); + t = t->daddy_trans_ ; + global = dynamic_cast (t); } - while (!global_l); + while (!global); - Moment now = global_l->now_mom_; - Moment dt = now - global_l -> prev_mom_; + Moment now = global->now_mom_; + Moment dt = now - global -> prev_mom_; if (dt < Moment (0)) { programming_error ("Moving backwards in time"); @@ -160,7 +126,7 @@ Timing_translator::start_translation_timestep () else { measposp = now; - daddy_trans_l_->set_property ("measurePosition", measposp.smobbed_copy ()); + daddy_trans_->set_property ("measurePosition", measposp.smobbed_copy ()); } measposp += dt; @@ -182,7 +148,8 @@ Timing_translator::start_translation_timestep () b ++; } - daddy_trans_l_->set_property ("currentBarNumber", gh_int2scm (b)); - daddy_trans_l_->set_property ("measurePosition", measposp.smobbed_copy ()); + daddy_trans_->set_property ("currentBarNumber", gh_int2scm (b)); + daddy_trans_->set_property ("measurePosition", measposp.smobbed_copy ()); } +ENTER_DESCRIPTION(Timing_translator,"","","","","","");