From 03cc9b021b02246e429595b5fbdd3df2ed9cfa54 Mon Sep 17 00:00:00 2001
From: hanwen <hanwen>
Date: Wed, 21 Jan 2004 21:07:35 +0000
Subject: [PATCH] release commit

---
 ChangeLog                          |  7 +++++++
 Documentation/topdocs/INSTALL.texi |  3 +--
 lily/side-position-interface.cc    | 31 +++++++++++-------------------
 3 files changed, 19 insertions(+), 22 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 800d5bec8e..ca86d2a20d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2004-01-21  Han-Wen Nienhuys   <hanwen@xs4all.nl>
 
+	* VERSION: release 2.1.14
+	
+	* Documentation/topdocs/INSTALL.texi (Top): fix FTP url. 
+
+	* lily/side-position-interface.cc (general_side_position): add
+	Staff_symbol_referencer::staff_space ().
+
 	* lily/include/context-def.hh: rename from translator-def.hh
 
 2004-01-21  Mats Bengtsson  <mabe@drongo.s3.kth.se>
diff --git a/Documentation/topdocs/INSTALL.texi b/Documentation/topdocs/INSTALL.texi
index 02b91dc74c..895f1f27b1 100644
--- a/Documentation/topdocs/INSTALL.texi
+++ b/Documentation/topdocs/INSTALL.texi
@@ -26,8 +26,7 @@ involved process, so if possible, download a precompiled binary from
 Download source tarballs from here:
 @itemize @bullet
 @item Download development releases from
-@uref{ftp://ftp.lilypond.org/pub/LilyPond/} by FTP and
-@uref{http://www.lilypond.org/ftp/} by HTTP.
+@uref{http://www.lilypond.org/download/} by HTTP.
 @item @uref{ftp://sca.uwaterloo.ca/pub/} by FTP (Canadian mirror).
 @end itemize
 
diff --git a/lily/side-position-interface.cc b/lily/side-position-interface.cc
index af50501c94..c476b32b7d 100644
--- a/lily/side-position-interface.cc
+++ b/lily/side-position-interface.cc
@@ -15,6 +15,7 @@
 #include "staff-symbol-referencer.hh"
 #include "group-interface.hh"
 #include "directional-element-interface.hh"
+#include "staff-symbol-referencer.hh"
 
 void
 Side_position_interface::add_support (Grob*me, Grob*e)
@@ -22,8 +23,6 @@ Side_position_interface::add_support (Grob*me, Grob*e)
   Pointer_group_interface::add_grob (me, ly_symbol2scm ("side-support-elements"), e);
 }
 
-
-
 Direction
 Side_position_interface::get_direction (Grob*me)
 {
@@ -67,17 +66,7 @@ Side_position_interface::aligned_on_support_extents (SCM element_smob, SCM axis)
 SCM
 Side_position_interface::general_side_position (Grob * me, Axis a, bool use_extents)
 {
-
-
-  /*
-    As this is only used as a callback, this is called only once. We
-    could wipe SIDE-SUPPORT-ELEMENTS after we retrieve it to conserve
-    memory; however -- we should look more into benefits of such actions?
-
-    The benefit is small, it seems: total GC times taken don't
-    differ. Would this also hamper Generational GC ?
-    
-  */
+  Real ss = Staff_symbol_referencer::staff_space (me);
   SCM support = me->get_grob_property ("side-support-elements");
   Grob *common = common_refpoint_of_list (support, me->get_parent (a), a);
   
@@ -103,16 +92,16 @@ Side_position_interface::general_side_position (Grob * me, Axis a, bool use_exte
   Direction dir = Side_position_interface::get_direction (me);
     
   Real off =  me->get_parent (a)->relative_coordinate (common, a);
-  SCM minimum = me->get_grob_property ("minimum-space");
+  Real  minimum_space = ss * robust_scm2double (me->get_grob_property ("minimum-space"),  -1);
 
   Real total_off = dim.linear_combination (dir) - off;
-  total_off += dir * robust_scm2double (me->get_grob_property ("padding"), 0);
+  total_off += dir * ss * robust_scm2double (me->get_grob_property ("padding"), 0);
 
-  if (gh_number_p (minimum) 
+  if (minimum_space >= 0
       && dir
-      && total_off * dir < gh_scm2double (minimum))
+      && total_off * dir < minimum_space)
     {
-      total_off = gh_scm2double (minimum) * dir;
+      total_off = minimum_space * dir;
     }
 
   if (fabs (total_off) > 100 CM)
@@ -131,7 +120,7 @@ Side_position_interface::aligned_on_support_refpoints (SCM smob, SCM axis)
   Grob *me = unsmob_grob (smob);
   Axis a = (Axis) gh_scm2int (axis);
 
-  return  general_side_position (me, a, false); 
+  return general_side_position (me, a, false); 
 }
 
 
@@ -224,7 +213,9 @@ Side_position_interface::out_of_staff (SCM element_smob, SCM axis)
   if (!st)
     return gh_int2scm (0);
 
-  Real padding= robust_scm2double ( me->get_grob_property ("staff-padding"), 0);
+  Real padding=
+    Staff_symbol_referencer::staff_space (me)
+    * robust_scm2double (me->get_grob_property ("staff-padding"), 0);
   
   Grob *common = me->common_refpoint (st, Y_AXIS);
   Direction d = Side_position_interface::get_direction (me);
-- 
2.39.5