2004-09-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * lily/slur-scoring.cc (enumerate_attachments): make stem_extent a
+ little wider for attachment calculation. This prevents stem and
+ slur touching.
+
* lily/parser.yy (direction_less_char): soft code \< \> \! \( \) (
)
@item footsep
Distance between bottom-most music system and the page footer
@item raggedbottom
- If set to true, systems will not be spread across the page.
+ If set to true, systems will not be spread across the page.
+
+ This should be set false for pieces that have only two or three
+systems per page, for example orchestral scores.
+
@item raggedlastbottom
- If set to true, systems will not be spread to fill the last page.
+ If set to false, systems will be spread to fill the last page.
- This is the default. Only pieces that amply fill two pages or more
-should have this set to true.
+ Pieces that amply fill two pages or more should have this set to
+true.
@item betweensystemspace
This dimensions determines the distance between systems. It is the
%type <music> gen_text_def direction_less_event direction_reqd_event
%type <music> music_property_def context_change
%type <music> note_chord_element chord_body chord_body_element
-%type <music> open_event close_event
%type <music> post_event tagged_post_event
%type <music> relative_music re_rhythmed_music
%type <music> simple_element event_chord command_element
/* Can also use Music at the expensive of two S/Rs similar to
\repeat \alternative */
THIS->lexer_->pop_state ();
-#if 0
- Music *music = MY_MAKE_MUSIC ("SimultaneousMusic");
- music->set_property ("elements", scm_list_1 ($3->self_scm ()));
- $$ = music;
-#else
+
$$ = scm_cons ($3->self_scm (), SCM_EOL);
-#endif
}
- | new_lyrics ADDLYRICS { THIS->lexer_->push_lyric_state (); }
- Grouped_music_list {
+ | new_lyrics ADDLYRICS {
+ THIS->lexer_->push_lyric_state ();
+ } Grouped_music_list {
THIS->lexer_->pop_state ();
$$ = scm_cons ($4->self_scm (), $1);
}
re_rhythmed_music:
Grouped_music_list new_lyrics {
- /* FIXME: should find out uniqueXXX name from music */
SCM name = $1->get_property ("context-id");
//if (name == SCM_EOL)
if (!scm_is_string (name))
;
direction_less_event:
- direction_less_char {
+ direction_less_char {
SCM predefd = THIS->lexer_->lookup_identifier_symbol ($1);
- Music * m = 0:
+ Music * m = 0;
if (unsmob_music (predefd))
{
m = unsmob_music (predefd)->clone ();
return csm;
}
+/*
+FIXME: this should be postponed until the music hits \Score
+*/
SCM
get_next_unique_context ()
{
&& !Stem::is_invisible (extremes[d].stem_)
&& extremes[d].stem_dir_ == dir)
{
+ Interval stem_y = extremes[d].stem_extent_[Y_AXIS];
+ stem_y.widen (0.25 * staff_space);
if (dir == -d
- && extremes[d].stem_extent_[Y_AXIS].contains (os[d][Y_AXIS]))
+ && stem_y.contains (os[d][Y_AXIS]))
{
os[d][X_AXIS] = extremes[d].slur_head_extent_[-d]
- d * 0.3;