hihat hh bassdrum bd
@end example
@lilypond[quote,raggedright]
- \new DrumStaff \drums { hihat hh bassdrum bd
- }
+\new DrumStaff \drums { hihat hh bassdrum bd }
@end lilypond
The complete list of drum names is in the init file
the @internalsref{DrumVoices} are instantiated by hand first. For example,
@lilypond[quote,fragment,verbatim]
-\drums \new DrumStaff <<
+\new DrumStaff <<
\context DrumVoice = "1" { s1 *2 }
\context DrumVoice = "2" { s1 *2 }
- {
+ \drums {
bd4 sn4 bd4 sn4
<<
{ \repeat unfold 16 hh16 }
\notes \relative c'' \context Voice = duet {
\time 3/4
g2 e4 a2 f4 g2. }
- \lyrics <<
- \lyricsto "duet" \new Lyrics {
+ <<
+ \lyricsto "duet" \new Lyrics \lyrics {
\set vocalName = "Bert"
Hi, my name is Bert. }
- \lyricsto "duet" \new Lyrics {
+ \lyricsto "duet" \new Lyrics \lyrics {
\set vocalName = "Ernie"
Ooooo, ch\'e -- ri, je t'aime. }
>>
optional_context_mod:
/**/ { $$ = SCM_EOL; }
- | WITH '{' context_mod_list '}' { $$ = $3; }
+ | WITH { THIS->lexer_->push_initial_state (); }
+ '{' context_mod_list '}'
+ {
+ THIS->lexer_->pop_state ();
+ $$ = $4;
+ }
;
grace_head:
SCM nn = THIS->lexer_->lookup_identifier ("drumPitchNames");
THIS->lexer_->push_note_state (alist_to_hashq (nn));
}
+ /* FIXME: This used to be:
Music
+*/
+ Grouped_music_list
{ $$ = $3;
THIS->lexer_->pop_state ();
}
| FIGURES
{ THIS->lexer_->push_figuredbass_state (); }
+ /* FIXME: This used to be:
Music
+ but that breaks web build
+ */
+ Grouped_music_list
{
Music *chm = MY_MAKE_MUSIC ("UntransposableMusic");
chm->set_property ("element", $3->self_scm ());
nn = THIS->lexer_->lookup_identifier ("pitchnames");
THIS->lexer_->push_chord_state (alist_to_hashq (nn));
- } Music {
+ }
+ /* FIXME:
+ Music
+*/
+ Grouped_music_list
+ {
Music *chm = MY_MAKE_MUSIC ("UnrelativableMusic");
chm->set_property ("element", $3->self_scm ());
scm_gc_unprotect_object ($3->self_scm ());
}
| LYRICS
{ THIS->lexer_->push_lyric_state (); }
+ /* FIXME:
Music
+*/
+ Grouped_music_list
{
$$ = $3;
THIS->lexer_->pop_state ();
}
;
-simple_string: STRING {
- }
- | LYRICS_STRING {
- }
- ;
-
property_operation:
STRING '=' scalar {
$$ = scm_list_3 (ly_symbol2scm ("assign"),
;
+string:
+ STRING {
+ $$ = $1;
+ }
+ | STRING_IDENTIFIER {
+ $$ = $1;
+ }
+ | string '+' string {
+ $$ = scm_string_append (scm_list_2 ($1, $3));
+ }
+ ;
-scalar:
- string { $$ = $1; }
- | bare_int { $$ = scm_int2num ($1); }
- | embedded_scm { $$ = $1; }
- | full_markup { $$ = $1; }
- | DIGIT { $$ = scm_int2num ($1); }
+simple_string: STRING {
+ }
+ | LYRICS_STRING {
+ }
+ ;
+
+scalar: string {
+ }
+ | LYRICS_STRING {
+ }
+ | bare_int {
+ $$ = scm_int2num ($1);
+ }
+ | embedded_scm {
+ }
+ | full_markup {
+ }
+ | DIGIT {
+ $$ = scm_int2num ($1);
+ }
;
/*
+FIXME: remove or fix this comment. What is `This'?
+
This is a trick:
Adding pre_events to the simple_element
}
;
-
-
-
multiplied_duration:
steno_duration {
$$ = $1;
}
;
-
tremolo_type:
':' {
$$ = 0;
}
;
-
-
-/*****************************************************************
- BASS FIGURES
-*****************************************************************/
bass_number:
DIGIT {
$$ = scm_number_to_string (scm_int2num ($1), scm_int2num (10));
}
;
-
-string:
- STRING {
- $$ = $1;
- }
- | STRING_IDENTIFIER {
- $$ = $1;
- }
- | string '+' string {
- $$ = scm_string_append (scm_list_2 ($1, $3));
- }
- ;
-
-
exclamations:
{ $$ = 0; }
| exclamations '!' { $$ ++; }