]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/default-bar-line-engraver.cc
Run grand-replace (issue 3765)
[lilypond.git] / lily / default-bar-line-engraver.cc
index e9dd6f8c5fd91591e2cf5d55036b3f2a93b351d8..49ce6b597e3393316c4519fd8a0bd2b1774cf571 100644 (file)
@@ -1,14 +1,24 @@
 /*
-  timing-engraver.cc -- implement Default_bar_line_engraver
+  This file is part of LilyPond, the GNU music typesetter.
 
-  source file of the GNU LilyPond music typesetter
+  Copyright (C) 1997--2014 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
-  (c) 1997--2007 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
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  LilyPond is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
 */
 
 #include "engraver.hh"
 #include "context.hh"
-#include "multi-measure-rest.hh"
 #include "grob.hh"
 #include "warn.hh"
 
@@ -28,25 +38,26 @@ public:
 #include "translator.icc"
 
 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 "
-               );
+                /* 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 ()
 {
@@ -66,18 +77,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);