X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fbar-check-iterator.cc;h=fb3ebd341f7e9a2318afa8f76dd12c82c0e1c56c;hb=bec6d0f547819d4003c5ce987f8fe589818e4712;hp=76fdc53675d831234f34ba79d29e026b453478b2;hpb=947454c5cc430a9627262de4f25274a64789d3c2;p=lilypond.git diff --git a/lily/bar-check-iterator.cc b/lily/bar-check-iterator.cc index 76fdc53675..fb3ebd341f 100644 --- a/lily/bar-check-iterator.cc +++ b/lily/bar-check-iterator.cc @@ -1,26 +1,26 @@ -/* - - bar-check-iterator.cc -- implement Bar_check_iterator - - source file of the GNU LilyPond music typesetter +/* + bar-check-iterator.cc -- implement Bar_check_iterator - (c) 2001--2004 Han-Wen Nienhuys + source file of the GNU LilyPond music typesetter - */ + (c) 2001--2007 Han-Wen Nienhuys +*/ -#include "simple-music-iterator.hh" -#include "event.hh" #include "context.hh" +#include "input.hh" +#include "international.hh" +#include "music.hh" +#include "simple-music-iterator.hh" /* Check bar checks. We do this outside the engravers so that you can race through the score using skipTypesetting to correct durations. - */ +*/ class Bar_check_iterator : Simple_music_iterator { public: virtual void process (Moment); - Bar_check_iterator ( ); + Bar_check_iterator (); DECLARE_SCHEME_CALLBACK (constructor, ()); }; @@ -38,19 +38,24 @@ Bar_check_iterator::process (Moment m) { Context *tr = get_outlet (); + SCM check = tr->get_property ("ignoreBarChecks"); + if (to_boolean (check)) + return; + SCM mp = tr->get_property ("measurePosition"); - SCM sync= tr->get_property ("barCheckSynchronize"); + SCM sync = tr->get_property ("barCheckSynchronize"); - Moment * where =unsmob_moment (mp); + Moment *where = unsmob_moment (mp); if (!where) return; - + if (where->main_part_) { - bool warn =true; + bool warn = true; if (to_boolean (sync)) { - tr = tr->where_defined (ly_symbol2scm ("measurePosition")); + SCM mp; + tr = tr->where_defined (ly_symbol2scm ("measurePosition"), &mp); Moment zero; tr->set_property ("measurePosition", zero.smobbed_copy ()); } @@ -65,8 +70,8 @@ Bar_check_iterator::process (Moment m) } if (warn) - get_music ()->origin ()->warning (_f ("barcheck failed at: %s", - where->to_string ())); + get_music ()->origin ()->warning (_f ("barcheck failed at: %s", + where->to_string ())); } } -} +}