]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/default-bar-line-engraver.cc
Release: bump Welcome versions.
[lilypond.git] / lily / default-bar-line-engraver.cc
index 99560644631f0b2c872bdd01362c412414441fd0..f3d1d595057499d390e02fe72f76357d3f075816 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  Copyright (C) 1997--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
   LilyPond is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -19,7 +19,6 @@
 
 #include "engraver.hh"
 #include "context.hh"
-#include "multi-measure-rest.hh"
 #include "grob.hh"
 #include "warn.hh"
 
@@ -38,28 +37,36 @@ public:
 
 #include "translator.icc"
 
+void
+Default_bar_line_engraver::boot ()
+{
+
+}
+
 ADD_TRANSLATOR (Default_bar_line_engraver,
-               /* doc */
-               "This engraver determines what kind of automatic bar lines"
-               " should be produced, and sets @code{whichBar} accordingly."
-               "  It should be at the same level as @ref{Timing_translator}.",
-               
-               /* create */
-               "",
-
-               /* read */
-               "automaticBars "
-               "barAlways "
-               "defaultBarType "
-               "measureLength "
-               "whichBar "
-               "measurePosition ",
-               
-               /* write */
-               "automaticBars "
-               );
-
-Default_bar_line_engraver::Default_bar_line_engraver ()
+                /* doc */
+                "This engraver determines what kind of automatic bar lines"
+                " should be produced, and sets @code{whichBar} accordingly."
+                "  It should be at the same level as @ref{Timing_translator}.",
+
+                /* create */
+                "",
+
+                /* read */
+                "automaticBars "
+                "barAlways "
+                "defaultBarType "
+                "measureLength "
+                "whichBar "
+                "measurePosition "
+                "timing ",
+
+                /* write */
+                ""
+               );
+
+Default_bar_line_engraver::Default_bar_line_engraver (Context *c)
+  : Engraver (c)
 {
   last_moment_.main_part_ = Rational (-1);
 }
@@ -77,18 +84,19 @@ Default_bar_line_engraver::start_translation_timestep ()
 
   Moment mp = measure_position (context ());
   bool start_of_measure = (last_moment_.main_part_ != now.main_part_
-                          && !mp.main_part_);
+                           && !mp.main_part_
+                           && to_boolean (get_property ("timing")));
 
   if (!scm_is_string (which) && to_boolean (automatic_bars))
     {
       SCM always = get_property ("barAlways");
 
       if ((start_of_measure && last_moment_.main_part_ >= Moment (0))
-         || to_boolean (always))
-       {
-         /* should this work, or be junked?  See input/bugs/no-bars.ly */
-         which = get_property ("defaultBarType");
-       }
+          || to_boolean (always))
+        {
+          /* should this work, or be junked?  See input/bugs/no-bars.ly */
+          which = get_property ("defaultBarType");
+        }
     }
 
   context ()->set_property ("whichBar", which);