]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/multi-measure-rest-engraver.cc
release: 1.3.17
[lilypond.git] / lily / multi-measure-rest-engraver.cc
index 609cf8c72058ec5d5d0026f2a6dc108215ed03b4..e60294316123fb474ccd099e05b4fabb33f5f242 100644 (file)
@@ -9,10 +9,11 @@
 #include "musical-request.hh"
 #include "multi-measure-rest.hh"
 #include "multi-measure-rest-engraver.hh"
-#include "score-column.hh"
+#include "paper-column.hh"
 #include "engraver-group-engraver.hh"
 #include "timing-translator.hh"
 #include "bar.hh"
+#include "staff-symbol-referencer.hh"
 
 
 ADD_THIS_TRANSLATOR (Multi_measure_rest_engraver);
@@ -77,11 +78,16 @@ Multi_measure_rest_engraver::do_process_requests ()
       Timing_translator * time = dynamic_cast<Timing_translator*> (tr);
 
       mmrest_p_ = new Multi_measure_rest;
+      Staff_symbol_referencer_interface si (mmrest_p_);
+      si.set_interface ();
+
+      
       if(dynamic_cast<Repetitions_req *> (multi_measure_req_l_))
        mmrest_p_->set_elt_property ("alt-symbol", 
                                     ly_str02scm ("scripts-repeatsign"));
       announce_element (Score_element_info (mmrest_p_, multi_measure_req_l_));
-      start_measure_i_ = time->bars_i ();
+      start_measure_i_
+       = gh_int2scm (time->get_property ("currentBarNumber", 0));
     }
 }
 
@@ -120,7 +126,8 @@ Multi_measure_rest_engraver::do_post_move_processing ()
   if (mmrest_p_ && !time->measure_position ())
     {
       lastrest_p_ = mmrest_p_;
-      lastrest_p_->measures_i_ = time->bars_i () - start_measure_i_;
+      lastrest_p_->measures_i_
+       = gh_int2scm (time->get_property ("currentBarNumber", 0)) - start_measure_i_;
       mmrest_p_ = 0;
     }