source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include <math.h>
Tie::set_interface (Grob*me)
{
me->set_grob_property ("heads", gh_cons (SCM_EOL, SCM_EOL));
- me->set_interface (ly_symbol2scm ("tie-interface"));
}
-bool
-Tie::has_interface (Grob*me)
-{
- return me->has_interface (ly_symbol2scm ("tie-interface"));
-}
Grob*
Tie::head (Grob*me, Direction d)
SCM
Tie::get_control_points (SCM smob)
{
- Spanner*me = dynamic_cast<Spanner*> (unsmob_grob (smob));
+ Spanner*me = unsmob_spanner (smob);
Direction headdir = CENTER;
if (head (me,LEFT))
headdir = LEFT;
Real left_x;
/*
- this is a kludge: the tie has to be long enough to be
- visible, but should not go through key sigs.
-
- (please fixme)
+ the tie has to be long enough to be visible, but should not go
+ through key sigs. In the 1.5 series the pref.matter - note
+ distance is fixed , so this won't be a problem anymore.
*/
- Real lambda = 0.5;
+ Real lambda = 0.9;
if (Note_head::has_interface (l))
left_x = l->extent (l, X_AXIS)[RIGHT] + x_gap_f;
Real thick =
gh_scm2double (me->get_grob_property ("thickness"))
- * me->paper_l ()->get_var ("stafflinethickness");
+ * me->paper_l ()->get_var ("linethickness");
Bezier b;
int i = 0;
}
+
+ADD_INTERFACE (Tie,"tie-interface",
+ "A tie connecting two noteheads.
+direction = Forced direction for all ties",
+ "y-offset staffline-clearance control-points heads details thickness x-gap direction minimum-length");