+ width =
+ - l->extent (commonx, X_AXIS).linear_combination (lambda)
+ + r->extent (commonx, X_AXIS)[LEFT]
+ - 2 * x_gap_f;
+ }
+
+
+
+ SCM details = me->get_grob_property ("details");
+
+ SCM lim // groetjes aan de chirurgendochter.
+ = scm_assq (ly_symbol2scm ("height-limit"),details);
+
+ Real h_inf = gh_scm2double (ly_cdr (lim)) * staff_space;
+ Real r_0 = gh_scm2double (ly_cdr (scm_assq (ly_symbol2scm ("ratio"),details)));
+
+ Bezier b = slur_shape (width, h_inf, r_0);
+
+ /*
+ I think this better, particularly for small ties. It always allows the user to move ties if
+ they seem in the wrong place
+
+ TODO: what if 2 heads have different size.
+
+ */
+
+ Real ypos = Tie::get_position (me) * staff_space/2
+ + dir * gh_scm2double (me->get_grob_property ("y-offset"));;
+
+ /*
+ Make sure we don't start on a dots
+ */
+ if (Note_head::has_interface (l) && Rhythmic_head::get_dots (l))
+ {
+ Grob* dots = Rhythmic_head::get_dots (l);
+ if(fabs (staff_space * Staff_symbol_referencer::get_position (dots) /2
+ - ypos) < 0.5)