source file of the GNU LilyPond music typesetter
- (c) 2005--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "warn.hh"
#include "staff-symbol-referencer.hh"
-ADD_INTERFACE(Semi_tie,
-
- "semi-tie-interface",
-
- "A tie which is only on one side connected to note heads. ",
+ADD_INTERFACE (Semi_tie,
+ "A tie which is only on one side connected to a note head.",
/* properties */
"control-points "
"direction "
"details "
+ "head-direction "
"note-head "
"thickness "
);
-MAKE_SCHEME_CALLBACK(Semi_tie, calc_control_points, 1)
+MAKE_SCHEME_CALLBACK (Semi_tie, calc_control_points, 1)
SCM
Semi_tie::calc_control_points (SCM smob)
{
Grob *me = unsmob_grob (smob);
+ (void) me->get_property ("direction");
+
if (Semi_tie_column::has_interface (me->get_parent (Y_AXIS)))
{
me->get_parent (Y_AXIS)->get_property ("positioning-done");
programming_error ("lv tie without Semi_tie_column. Killing lv tie.");
me->suicide ();
}
-
- return SCM_UNSPECIFIED;
-}
-
-MAKE_SCHEME_CALLBACK(Semi_tie, calc_direction, 1)
-SCM
-Semi_tie::calc_direction (SCM smob)
-{
- Grob *me = unsmob_grob (smob);
- if (Semi_tie_column::has_interface (me->get_parent (Y_AXIS)))
- me->get_parent (Y_AXIS)->get_property("positioning-done");
- else
- {
- programming_error ("lv tie without Semi_tie_column");
- set_grob_direction (me, UP);
- }
- return SCM_UNSPECIFIED;
+ return me->get_property_data ("control-points");
}
int