]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/time-signature-engraver.cc
Issue 4365: non-member unsmob<T> replaces T::unsmob and T::is_smob
[lilypond.git] / lily / time-signature-engraver.cc
index 38989dc882db6d97595fbed75635f83210994efb..521d3ca2d9fd2aac5905724a8e0ba4ef74180d2d 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 1997--2014 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
@@ -24,7 +24,6 @@
 #include "misc.hh"
 #include "moment.hh"
 #include "stream-event.hh"
-#include "time-signature.hh"
 #include "warn.hh"
 
 #include "translator.icc"
@@ -81,10 +80,9 @@ Time_signature_engraver::process_music ()
       time_signature_ = make_item ("TimeSignature", time_cause_);
       time_signature_->set_property ("fraction", fr);
 
-      // Todo: "implicit" does not seem perfectly accurate (issue 4151)
-      if (last_time_fraction_ == SCM_BOOL_F)
+      if (scm_is_false (last_time_fraction_))
         time_signature_->set_property ("break-visibility",
-                                       get_property ("implicitTimeSignatureVisibility"));
+                                       get_property ("initialTimeSignatureVisibility"));
 
       int den = scm_to_int (scm_cdr (fr));
       if (den != (1 << intlog2 (den)))
@@ -106,9 +104,9 @@ Time_signature_engraver::process_music ()
 void
 Time_signature_engraver::stop_translation_timestep ()
 {
-  if (time_signature_ && (time_cause_ != SCM_EOL))
+  if (time_signature_ && !scm_is_null (time_cause_))
     {
-      Moment *mp = Moment::unsmob (get_property ("measurePosition"));
+      Moment *mp = unsmob<Moment> (get_property ("measurePosition"));
       if (mp && (mp->main_part_ > Rational (0))
           && !to_boolean (get_property ("partialBusy")))
         time_signature_->warning ("mid-measure time signature without \\partial");
@@ -129,7 +127,7 @@ ADD_TRANSLATOR (Time_signature_engraver,
                 "TimeSignature ",
 
                 /* read */
-                "implicitTimeSignatureVisibility "
+                "initialTimeSignatureVisibility "
                 "partialBusy "
                 "timeSignatureFraction ",