+#include "script-interface.hh"
+
+
+
+MAKE_SCHEME_CALLBACK(Slur, calc_direction, 1)
+SCM
+Slur::calc_direction (SCM smob)
+{
+ Grob *me = unsmob_grob (smob);
+ extract_grob_set (me, "note-columns", encompasses);
+
+ if (encompasses.is_empty ())
+ {
+ me->suicide ();
+ return SCM_BOOL_F;
+ }
+
+ Direction d = DOWN;
+ for (int i = 0; i < encompasses.size (); i++)
+ {
+ if (Note_column::dir (encompasses[i]) < 0)
+ {
+ d = UP;
+ break;
+ }
+ }
+ return scm_from_int (d);
+}
+
+MAKE_SCHEME_CALLBACK (Slur, height, 1);