]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/multi-measure-rest-engraver.cc
2003 -> 2004
[lilypond.git] / lily / multi-measure-rest-engraver.cc
index 644c93d3ef804b3aefdeb78972d7e0324ddbb017..33a02b3f90b81e8e3a8f8d5b8e4ddef90ddeea6f 100644 (file)
@@ -1,7 +1,7 @@
 /*
   multi_measure_rest-engraver.cc -- implement Multi_measure_rest_engraver
 
-  (c) 1998--2003 Jan Nieuwenhuizen <janneke@gnu.org>
+  (c) 1998--2004 Jan Nieuwenhuizen <janneke@gnu.org>
        Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
@@ -77,16 +77,17 @@ Multi_measure_rest_engraver::try_music (Music* req)
 void
 Multi_measure_rest_engraver::process_music ()
 {
-  if (rest_ev_ && !mmrest_)
+  if (rest_ev_ && !mmrest_
+      && stop_moment_ > now_mom ())
     {
-      mmrest_ = new Spanner (get_property ("MultiMeasureRest"));
+      mmrest_ = make_spanner ("MultiMeasureRest");
 
       if (text_events_.size())
        {
          for (int i = 0; i < text_events_.size(); i++)
            {
              Spanner *sp
-               = new Spanner (get_property ("MultiMeasureRestText"));
+               = make_spanner ("MultiMeasureRestText");
 
              Music* e = text_events_[i];
              SCM t = e->get_mus_property ("text");
@@ -119,7 +120,7 @@ Multi_measure_rest_engraver::process_music ()
       else
        {
          Spanner *sp
-           = new Spanner (get_property ("MultiMeasureRestNumber"));
+           = make_spanner ("MultiMeasureRestNumber");
          numbers_.push (sp);
          announce_grob (sp, rest_ev_->self_scm());
        }
@@ -180,7 +181,6 @@ Multi_measure_rest_engraver::stop_translation_timestep ()
       for (int i = 0 ; i < numbers_.size(); i++)
        {
          typeset_grob (numbers_[i]);
-         Side_position_interface::add_staff_support (numbers_[i]);
        }
       
       /*
@@ -200,7 +200,6 @@ Multi_measure_rest_engraver::stop_translation_timestep ()
          for (int i = 0; i < last_numbers_.size ();i++)
            {
              typeset_grob (last_numbers_[i]);
-             Side_position_interface::add_staff_support (last_numbers_[i]);
            }
        }
       last_rest_ = 0;