From f4d31f3999c542b4293d1fa2297c2b7f7dc20eb6 Mon Sep 17 00:00:00 2001
From: Han-Wen Nienhuys <hanwen@xs4all.nl>
Date: Tue, 22 Oct 2002 21:55:53 +0000
Subject: [PATCH] (get_control_points): also avoid staff lines on the just
 outside the outer staff lines

---
 ChangeLog                       |  5 +++++
 aclocal.m4                      |  2 +-
 lily/staff-symbol-referencer.cc | 25 ++++++++-----------------
 lily/tie.cc                     |  3 ++-
 4 files changed, 16 insertions(+), 19 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index a2a0551157..46bd11fa04 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2002-10-22  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+	* lily/tie.cc (get_control_points): also avoid staff lines on the
+	just outside the outer staff lines
+
 2002-10-21  Jan Nieuwenhuizen  <janneke@gnu.org>
 
 	* ly/params-init.ly: Just define style-alist, no need to
diff --git a/aclocal.m4 b/aclocal.m4
index 2dc4f8afe7..65a10815fc 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,6 +1,6 @@
 dnl aclocal.m4   -*-shell-script-*-
 dnl WARNING WARNING WARNING
-dnl do not edit! this is aclocal.m4, generated from /home/fred/lily/stepmake/aclocal.m4
+dnl do not edit! this is aclocal.m4, generated from /home/hanwen/usr/src/lilypond/stepmake/aclocal.m4
 dnl aclocal.m4   -*-shell-script-*-
 dnl StepMake subroutines for configure.in
 
diff --git a/lily/staff-symbol-referencer.cc b/lily/staff-symbol-referencer.cc
index fd7bcd2791..cbcd007a6a 100644
--- a/lily/staff-symbol-referencer.cc
+++ b/lily/staff-symbol-referencer.cc
@@ -12,12 +12,7 @@
 #include "staff-symbol.hh"
 #include "paper-def.hh"
  
-bool
-Staff_symbol_referencer::has_interface (Grob*e)
-{
-  return unsmob_grob (e->get_grob_property ("staff-symbol"))
-    || gh_number_p (e->get_grob_property ("staff-position"));
-}
+
 
 int
 Staff_symbol_referencer::line_count (Grob*me) 
@@ -141,12 +136,12 @@ Staff_symbol_referencer::set_position (Grob*me,Real p)
 }
 
 /*
-  half  of the height, in staff space.
- */
+  Half of the height, in staff space, i.e. 2.0 for a normal staff. 
+*/
 Real
 Staff_symbol_referencer::staff_radius (Grob*me)
 {
-  return (line_count (me) -1) / 2;
+  return (line_count (me) -1) / 2.0;
 }
 
 
@@ -157,13 +152,9 @@ compare_position (Grob *const  &a, Grob * const &b)
     Staff_symbol_referencer::get_position ((Grob*)b));
 }
 
-
-
-
-#define has_interface ugly_hack
 ADD_INTERFACE (Staff_symbol_referencer,"staff-symbol-referencer-interface",
-  "Object whose Y position is meaning with reference to a staff
-symbol. Objects that have this interface should include
-Staff_symbol_referencer::callback in their Y-offset-callback.
-",
+  "Object whose Y position is meaning with reference to a staff "
+"symbol. Objects that have this interface should include "
+"Staff_symbol_referencer::callback in their Y-offset-callback. "
+,
   "staff-position");
diff --git a/lily/tie.cc b/lily/tie.cc
index 65f2f24aac..b59f8d21b5 100644
--- a/lily/tie.cc
+++ b/lily/tie.cc
@@ -249,7 +249,8 @@ Tie::get_control_points (SCM smob)
 
       Real clear = staff_space * gh_scm2double (me->get_grob_property ("staffline-clearance"));
 
-      if (fabs (y) <= Staff_symbol_referencer::staff_radius (me)
+      if (fabs (y) <=
+	  Staff_symbol_referencer::staff_radius (me) * staff_space + clear
 	  && fabs (diff) < clear)
 	{
 	  Real y1 = ry + clear;
-- 
2.39.5