%token CLEF
%token COMMANDSPANREQUEST
%token CONSISTS
-%token CONSISTSEND
%token CONTEXT
%token DEFAULT
%token DENIES
$$ = all;
scm_gc_unprotect_object ($1->self_scm ());
}
- | LYRICSTO string Music {
- Music *music = $3;
- SCM name = $2;
+ | LYRICSTO {
+ THIS->lexer_->push_lyric_state ();
+ } simple_string Music {
+ THIS->lexer_->pop_state ();
+ Music *music = $4;
+ SCM name = $3;
$$ = make_lyric_combine_music (name, music);
scm_gc_unprotect_object (music->self_scm ());
}
;
context_def_mod:
- CONSISTSEND { $$ = ly_symbol2scm ("consists-end"); }
- | CONSISTS { $$ = ly_symbol2scm ("consists"); }
+ CONSISTS { $$ = ly_symbol2scm ("consists"); }
| REMOVE { $$ = ly_symbol2scm ("remove"); }
| ACCEPTS { $$ = ly_symbol2scm ("accepts"); }
;
chord_body_element:
- pitch exclamations questions post_events
+ pitch exclamations questions octave_check post_events
{
+ int q = $3;
+ int ex = $2;
+ SCM check = $4;
+ SCM post = $5;
+
Music *n = MY_MAKE_MUSIC ("NoteEvent");
n->set_property ("pitch", $1);
- if ($3 % 2)
+ if (q % 2)
n->set_property ("cautionary", SCM_BOOL_T);
- if ($2 % 2 || $3 % 2)
+ if (ex % 2 || q % 2)
n->set_property ("force-accidental", SCM_BOOL_T);
- if (ly_c_pair_p ($4)) {
- SCM arts = scm_reverse_x ($4, SCM_EOL);
+ if (ly_c_pair_p (post)) {
+ SCM arts = scm_reverse_x (post, SCM_EOL);
n->set_property ("articulations", arts);
}
+ if (ly_c_number_p (check))
+ {
+ int q = ly_scm2int (check);
+ n->set_property ("absolute-octave", scm_int2num (q-1));
+ }
+
+
$$ = n;
}
| DRUM_PITCH post_events {