- daddy_trans_l_->set_property ("timing" , SCM_BOOL_T);
- daddy_trans_l_->set_property ("currentBarNumber" , gh_int2scm (1));
-
- daddy_trans_l_->set_property ("timeSignatureFraction",
- gh_cons (gh_int2scm (4), gh_int2scm (4)));
- daddy_trans_l_->set_property ("measurePosition", Moment (Rational (0)).smobbed_copy ());
- daddy_trans_l_->set_property ("measureLength", Moment (Rational (1)).smobbed_copy ());
- daddy_trans_l_->set_property ("beatLength", Moment (Rational (1,4)).smobbed_copy ());
+ Context *timing = unsmob_context (scm_call_2 (ly_lily_module_constant ("ly:context-find"),
+ context ()->self_scm (),
+ ly_symbol2scm ("Timing")));
+ if (timing != context ())
+ {
+ context ()->add_alias (ly_symbol2scm ("Timing"));
+
+ if (!timing)
+ {
+ programming_error ("Can't find Timing context template");
+ timing = context ();
+ }
+ }
+
+ SCM barnumber = timing->get_property ("currentBarNumber");
+ if (!scm_is_integer (barnumber))
+ barnumber = scm_from_int (1);
+ context ()->set_property ("currentBarNumber", barnumber);
+ context ()->set_property ("internalBarNumber", barnumber);
+
+ context ()->set_property ("timeSignatureFraction",
+ timing->get_property ("timeSignatureFraction"));
+ /*
+ Do not init measurePosition; this should be done from global
+ context.
+ */
+ context ()->set_property ("measureLength",
+ timing->get_property ("measureLength"));
+ context ()->set_property ("baseMoment",
+ timing->get_property ("baseMoment"));