X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fdefault-bar-line-engraver.cc;h=4eeb23036774feb4373e67bdad6e5577918678ba;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=f36c18f68717dc7c77ca31a5513fd8278ca5aa71;hpb=38d7d319eabc906e82fb42002678c6d42a23b6f7;p=lilypond.git diff --git a/lily/default-bar-line-engraver.cc b/lily/default-bar-line-engraver.cc index f36c18f687..4eeb230367 100644 --- a/lily/default-bar-line-engraver.cc +++ b/lily/default-bar-line-engraver.cc @@ -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--2015 Han-Wen Nienhuys - (c) 1997--2009 Han-Wen Nienhuys + 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 . */ #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);