]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/meter-grav.cc
partial: 1.0.1.jcn
[lilypond.git] / lily / meter-grav.cc
index 378acbc74140ae017dbcc8b16e58df9e8577ee56..f14d00a4edbbe8ff7d7e19345b21cc0d11dd9c63 100644 (file)
@@ -3,7 +3,7 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+  (c)  1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
 */
 
 #include "meter-grav.hh"
@@ -11,6 +11,7 @@
 #include "command-request.hh"
 #include "timing-grav.hh"
 #include "engraver-group.hh"
+
 Meter_engraver::Meter_engraver()
 { 
   meter_p_ =0;
@@ -19,8 +20,16 @@ Meter_engraver::Meter_engraver()
 void
 Meter_engraver::do_process_requests()
 {
-  Timing_engraver * timing_grav_l= (Timing_engraver*)
-    daddy_grav_l_->get_simple_engraver (Timing_engraver::static_name());
+  Translator * result =
+    daddy_grav_l()->get_simple_translator (Timing_engraver::static_name());
+
+  if (!result)
+    {
+      warning ("Lost in time: can't find Timing_translator");
+      return ;
+    }
+  
+  Timing_engraver * timing_grav_l= (Timing_engraver*) result->engraver_l ();
   
   Meter_change_req *req = timing_grav_l->meter_req_l();
   if (req)
@@ -30,6 +39,7 @@ Meter_engraver::do_process_requests()
       args.push (req->one_beat_i_);
        
       meter_p_ = new Meter (args);
+      meter_p_->break_priority_i_ = 1; // ugh
     }
 
   if (meter_p_)
@@ -47,5 +57,5 @@ Meter_engraver::do_pre_move_processing()
 }
 
 
-ADD_THIS_ENGRAVER(Meter_engraver);
+ADD_THIS_TRANSLATOR(Meter_engraver);
 IMPLEMENT_IS_TYPE_B1(Meter_engraver,Engraver);