CVSROOT:        /cvsroot/lilypond
Module name:    lilypond
Branch:         
Changes by:     Han-Wen Nienhuys <[EMAIL PROTECTED]>    05/09/07 23:28:34

Modified files:
        .              : ChangeLog 
        lily           : tie.cc 

Log message:
        (get_configuration): also avoid dots for non-space
        situations.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ChangeLog.diff?tr1=1.4117&tr2=1.4118&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/tie.cc.diff?tr1=1.155&tr2=1.156&r1=text&r2=text

Patches:
Index: lilypond/ChangeLog
diff -u lilypond/ChangeLog:1.4117 lilypond/ChangeLog:1.4118
--- lilypond/ChangeLog:1.4117   Wed Sep  7 21:28:10 2005
+++ lilypond/ChangeLog  Wed Sep  7 23:28:34 2005
@@ -1,3 +1,8 @@
+2005-09-08  Han-Wen Nienhuys  <[EMAIL PROTECTED]>
+
+       * lily/tie.cc (get_configuration): also avoid dots for non-space
+       situations.
+
 2005-09-07  Jan Nieuwenhuizen  <[EMAIL PROTECTED]>
 
        * Documentation/user/instrument-notation.itely: Bugfix.
Index: lilypond/lily/tie.cc
diff -u lilypond/lily/tie.cc:1.155 lilypond/lily/tie.cc:1.156
--- lilypond/lily/tie.cc:1.155  Sun Sep  4 11:36:40 2005
+++ lilypond/lily/tie.cc        Wed Sep  7 23:28:34 2005
@@ -261,29 +261,30 @@
     Avoid dot
    */
   Grob *left_dot = unsmob_grob (me->get_bound (LEFT)->get_object ("dot"));
-  if (left_dot && in_space)
+  int dot_pos = int (Staff_symbol_referencer::get_position (left_dot));
+  if (left_dot
+      && (staff_position == dot_pos
+         || staff_position + dir == dot_pos))
     {
-      if (staff_position == Staff_symbol_referencer::get_position (left_dot))
-       {
-         staff_position += dir;
-         in_space = false;
+      staff_position += dir;
+      in_space = !in_space;
 
-         if (skylines)
-           {
-             Real y = staff_space * 0.5 * staff_position;
-             attachments = get_skyline_attachment (*skylines, y);
-             attachments.widen (-gap);
-             Bezier b = slur_shape (attachments.length(),
-                                    details.height_limit_,
-                                    details.ratio_);
-             Offset middle = b.curve_point (0.5);
-             Offset edge = b.curve_point (0.0);
-             dy = fabs (middle[Y_AXIS] - edge[Y_AXIS]);
-             fits_in_space =
-               (dy < 0.6 * staff_space);
-           }
+      if (skylines)
+       {
+         Real y = staff_space * 0.5 * staff_position;
+         attachments = get_skyline_attachment (*skylines, y);
+         attachments.widen (-gap);
+         Bezier b = slur_shape (attachments.length(),
+                                details.height_limit_,
+                                details.ratio_);
+         Offset middle = b.curve_point (0.5);
+         Offset edge = b.curve_point (0.0);
+         dy = fabs (middle[Y_AXIS] - edge[Y_AXIS]);
+         fits_in_space =
+           (dy < 0.6 * staff_space);
        }
     }
+  
   /*
     Avoid flag.
   */


_______________________________________________
Lilypond-cvs mailing list
Lilypond-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-cvs

Reply via email to