+ }
+ | BAR STRING ';' {
+ Music *t = new Music (SCM_EOL);
+
+ t->set_mus_property ("iterator-ctor",
+ Property_iterator::constructor_cxx_function);
+ t->set_mus_property ("symbol", ly_symbol2scm ("whichBar"));
+ t->set_mus_property ("value", $2);
+
+ Context_specced_music *csm = new Context_specced_music (SCM_EOL);
+ csm->set_mus_property ("element", t->self_scm ());
+ scm_unprotect_object (t->self_scm ());
+
+ $$ = csm;
+ $$->set_spot (THIS->here_input ());
+
+ csm->set_mus_property ("context-type", ly_str02scm ("Score"));
+ }
+ | PARTIAL duration_length ';' {
+ Music * p = new Music (SCM_EOL);
+ p->set_mus_property ("symbol", ly_symbol2scm ( "measurePosition"));
+ p->set_mus_property ("iterator-ctor",
+ Property_iterator::constructor_cxx_function);
+
+ Moment m = - unsmob_duration($2)->length_mom ();
+ p->set_mus_property ("value", m.smobbed_copy ());
+
+ Context_specced_music * sp = new Context_specced_music (SCM_EOL);
+ sp->set_mus_property ("element", p->self_scm ());
+ scm_unprotect_object (p->self_scm ());
+
+ $$ =sp ;
+ sp-> set_mus_property ("context-type", ly_str02scm ( "Score"));
+ }
+ | CLEF STRING ';' {
+ SCM func = scm_eval2 (ly_symbol2scm ("clef-name-to-properties"), SCM_EOL);
+ SCM result = gh_call1 (func, $2);
+
+ SCM l = SCM_EOL;
+ for (SCM s = result ; gh_pair_p (s); s = gh_cdr (s)) {
+ Music * p = new Music (SCM_EOL);
+ set_music_properties(p, gh_car (s));
+ l = gh_cons (p->self_scm (), l);
+ scm_unprotect_object (p->self_scm ());
+ }
+ Sequential_music * seq = new Sequential_music (SCM_EOL);
+ seq->set_mus_property ("elements", l);
+
+ Context_specced_music * sp = new Context_specced_music (SCM_EOL);
+ sp->set_mus_property ("element", seq->self_scm ());
+ scm_unprotect_object (seq->self_scm ());
+
+ $$ =sp ;
+ sp-> set_mus_property("context-type", ly_str02scm("Staff"));
+ }
+ | TIME_T bare_unsigned '/' bare_unsigned ';' {
+ Music * p = new Music (SCM_EOL);
+ p->set_mus_property ("symbol",
+ ly_symbol2scm ( "timeSignatureFraction"));
+ p->set_mus_property ("iterator-ctor",
+ Property_iterator::constructor_cxx_function);
+
+ p->set_mus_property ("value", gh_cons (gh_int2scm ($2),
+ gh_int2scm ($4)));
+
+ Context_specced_music * sp = new Context_specced_music (SCM_EOL);
+ sp->set_mus_property ("element", p->self_scm ());
+ scm_unprotect_object (p->self_scm ());
+
+ $$ = sp;
+ sp-> set_mus_property ("context-type", ly_str02scm ( "Score"));