]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/semi-tie.cc
Oops, actually add new INSTALL file.
[lilypond.git] / lily / semi-tie.cc
index fbc98f20aa1db6eb6ce1c1a094c8cb4a44bc06bc..a12156e6037ad0ef76b83ebadc4c1a49b4d664f0 100644 (file)
@@ -3,7 +3,7 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 2005--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  (c) 2005--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
 */
 
@@ -15,9 +15,7 @@
 #include "warn.hh"
 #include "staff-symbol-referencer.hh"
 
-ADD_INTERFACE(Semi_tie,
-             
-             "semi-tie-interface",
+ADD_INTERFACE (Semi_tie,
              
              "A tie which is only on one side connected to note heads. ",
 
@@ -25,15 +23,18 @@ ADD_INTERFACE(Semi_tie,
              "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");
@@ -43,24 +44,8 @@ Semi_tie::calc_control_points (SCM smob)
       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