]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/multi-measure-rest-engraver.cc
Added texidoc template.
[lilypond.git] / lily / multi-measure-rest-engraver.cc
index 2b36fb408f40f8e1f999b422b00d65a2979fbcc8..08b4dda3858c286c47c2db99a0cf6a91ece066fd 100644 (file)
@@ -82,6 +82,10 @@ Multi_measure_rest_engraver::process_music ()
     {
       mmrest_ = make_spanner ("MultiMeasureRest", rest_ev_->self_scm ());
 
+      Spanner *sp
+       = make_spanner ("MultiMeasureRestNumber", rest_ev_->self_scm () );
+      numbers_.push (sp);
+
       if (text_events_.size ())
        {
          for (int i = 0; i < text_events_.size (); i++)
@@ -116,12 +120,6 @@ Multi_measure_rest_engraver::process_music ()
              }
          } while (flip (&d) != DOWN);
        }
-      else
-       {
-         Spanner *sp
-           = make_spanner ("MultiMeasureRestNumber", rest_ev_->self_scm () );
-         numbers_.push (sp);
-       }
 
       for (int i =0 ; i < numbers_.size (); i++)
        {
@@ -130,7 +128,7 @@ Multi_measure_rest_engraver::process_music ()
        }
       
       start_measure_
-       = ly_scm2int (get_property ("currentBarNumber"));
+       = scm_to_int (get_property ("currentBarNumber"));
     }
 
   bar_seen_ = scm_is_string (get_property ("whichBar"));
@@ -176,8 +174,8 @@ Multi_measure_rest_engraver::stop_translation_timestep ()
     }
   
   
-  SCM smp = get_property ("measurePosition");
-  Moment mp = (unsmob_moment (smp)) ? *unsmob_moment (smp) : Moment (0);
+  
+  Moment mp(robust_scm2moment (get_property ("measurePosition"),  Moment (0)));
 
   if (last_rest_)
     {
@@ -198,10 +196,9 @@ Multi_measure_rest_engraver::start_translation_timestep ()
 
   bar_seen_ = false;
 
-  SCM smp = get_property ("measurePosition");
-  Moment mp = (unsmob_moment (smp)) ? *unsmob_moment (smp) : Moment (0);
+  Moment mp (robust_scm2moment (get_property ("measurePosition"),  Moment (0)));
 
-  Moment now =now_mom ();
+  Moment now = now_mom ();
   if (mmrest_
       && now.main_part_ != last_main_moment_
       && mp.main_part_ == Rational (0))
@@ -209,7 +206,7 @@ Multi_measure_rest_engraver::start_translation_timestep ()
       last_rest_ = mmrest_;
       last_numbers_ = numbers_;
       
-      int cur = ly_scm2int (get_property ("currentBarNumber"));
+      int cur = scm_to_int (get_property ("currentBarNumber"));
       int num = cur - start_measure_;
 
       /*
@@ -233,8 +230,8 @@ Multi_measure_rest_engraver::start_translation_timestep ()
        {
          SCM thres = get_property ("restNumberThreshold");
          int t = 1;
-         if (ly_c_number_p (thres))
-           t = ly_scm2int (thres);
+         if (scm_is_number (thres))
+           t = scm_to_int (thres);
       
          if (num <= t)
            last->suicide ();