]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/bar-number-engraver.cc
release: 1.3.26
[lilypond.git] / lily / bar-number-engraver.cc
index 2db31f2b918ab1cc9fcc044a936fc088efc14647..bf22b44c614062ea0b0797019b8370231f2a3842 100644 (file)
@@ -3,12 +3,12 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c)  1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
 
 #include "bar-number-engraver.hh"
-#include "time-description.hh"
+#include "timing-translator.hh"
 #include "timing-engraver.hh"
 #include "engraver-group-engraver.hh"
 #include "text-item.hh"
@@ -18,21 +18,27 @@ Bar_number_engraver::Bar_number_engraver()
   axis_ = Y_AXIS;
   type_ = "barNumber";
   visibility_lambda_
-    = ly_ch_C_eval_scm ("postbreak_only_visibility");
+    = ly_eval_str ("postbreak-only-visibility");
 }
 
 void
 Bar_number_engraver::do_process_requests ()
 {
   Translator *tr = daddy_grav_l ()->get_simple_translator ("Timing_engraver");
-  Timing_translator *timer = dynamic_cast<Timing_translator*>(tr);
-  Time_description *time = &timer->time_;
+  Timing_translator *time = dynamic_cast<Timing_translator*>(tr);
 
-  if (!time->whole_in_measure_ && !time->cadenza_b_ && now_mom () > Moment (0))
+  // todo include (&&!time->cadenza_b_ )
+  SCM bn = get_property("currentBarNumber",0);
+
+  if (gh_number_p (bn) &&
+      !time->measure_position () && now_mom () > Moment (0))
     {
       create_items (0);
-       
-      text_p_->text_str_ = to_str (time->bars_i_);
+
+      // guh.
+      text_p_->set_elt_property ("text",
+                                ly_str02scm (to_str (gh_scm2int (bn)).ch_C()));
+                                
     }
 }