- if (!result)
- {
- warning (_ ("lost in time:"));
- warning (_f ("can't find: `%s'", " Timing_translator"));
- return ;
- }
-
- Timing_engraver * timing_grav_l= dynamic_cast<Timing_engraver *> (result);
-
- Time_signature_change_req *req = timing_grav_l->time_signature_req_l();
- if (req)
+Time_signature_engraver::Time_signature_engraver ()
+{
+ time_signature_ = 0;
+ last_time_fraction_ = SCM_BOOL_F;
+}
+
+void
+Time_signature_engraver::process_music ()
+{
+ /*
+ not rigorously safe, since the value might get GC'd and
+ reallocated in the same spot */
+ SCM fr = get_property ("timeSignatureFraction");
+ if (!time_signature_
+ && last_time_fraction_ != fr
+ && scm_is_pair (fr))