2004-08-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * input/test/slur-beautiful.ly (Module): remove
+
+ * input/test/slur-attachment-override.ly (Module): remove
+
+ * lily/slur-quanting.cc (after_line_breaking): only do scoring
+ when less than 4 control-points.
+
* lily/key-signature-interface.cc: add style.
* Documentation/user/notation.itely (Automatic staff changes):
+++ /dev/null
-
-\version "2.3.8"
-
-\header{
-texidoc="@cindex Slur Attachment Override
-In some cases, you may want to control the attachment points of a slur
-by hand. "
-}
-
-
-%%
-%% except that both slurs are stem <<-> stem.
-%%
-
-fragment = {
- \set autoBeaming = ##f
- \override Stem #'direction = #1
- \override Slur #'direction = #1
- d'32( f'4 d8..)
- \override Slur #'attachment = #'(stem . stem)
- d,32( f'4 d8.)
-}
-
-
-\score {
- \relative c \fragment
- \paper { raggedright = ##t}
-}
-
+++ /dev/null
-
-\version "2.3.8"
-
-\header { texidoc ="@cindex Slur Beautiful
-The curvature of a slur is adjusted to stay away from note heads and
-stems. When the curvature would increase much, the slur is reverted
-to its default shape. The Slur's property @code{beautiful} (which is
-loosely related to the enclosed area between the slur and the notes)
-controls the transition point, and by increasing that value you may
-keep slurs more curved.
-"
-}
-
-\score { {\relative c' {
- \stemDown \slurUp
- c16( a' f' a a f a, c,)
- c( a' f' a a f d, c)
- \override Slur #'beautiful = #5.0
- c( a' f' a a f d, c)
-}}
-\paper { raggedright = ##t }
-}
{
\clef bass
r4 r8
- \once\override Slur #'extra-offset = #'(0 . -8)
+ \once\override Slur #'extra-offset = #'(0 . 6)
\once\override Slur #'control-points =
#'((0 . -4) (2 . 0) (60 . 0) (63 . 4))
c8( as' f c' as
f' c as' f c'4)
}>>
>>
- \paper { raggedright = ##t }
+ \paper { }
}
if (!get_grob_direction (me))
set_grob_direction (me, get_default_dir (me));
- set_end_points (me);
+ if (scm_ilength (me->get_property ("control-points")) < 4)
+ set_end_points (me);
return SCM_UNSPECIFIED;
}
void
set_end_points (Grob *me)
{
+
+
+
Link_array<Grob> columns
= Pointer_group_interface__extract_grobs (me, (Grob *) 0, "note-columns");
continue;
Encompass_info inf (get_encompass_info (me, encompasses[i], common));
- avoid.push (Offset (inf.x_, inf.head_ + dir * score_param->free_head_distance_));
+
+ Real y = dir*((dir * inf.head_) >? (dir *inf.stem_));
+
+ avoid.push (Offset (inf.x_, y + dir * score_param->free_head_distance_));
}
Offset dz = attachments[RIGHT]- attachments[LEFT];;
curve.control_[1] = attachments[LEFT] + dz_perp * height * dir + dz_unit * x1;
curve.control_[2] = attachments[RIGHT] + dz_perp * height * dir + dz_unit * x2;
curve.control_[3] = attachments[RIGHT];
-
-
return curve;
}