]> git.donarmstrong.com Git - lilypond.git/commitdiff
* input/regression/tie-whole.ly: new file.
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 17 Jun 2006 21:53:22 +0000 (21:53 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 17 Jun 2006 21:53:22 +0000 (21:53 +0000)
* lily/tie-formatting-problem.cc (set_column_chord_outline): don't
cross center of note head in case of invisible stem.

ChangeLog
VERSION
input/regression/tie-whole.ly [new file with mode: 0644]
lily/tie-formatting-problem.cc

index 35f0e4cafe15282b93521d5ff255be7102ed01dc..c592213f4f4bf92c41ccd18ce873da641b12d027 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2006-06-17  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * input/regression/tie-whole.ly: new file.
+
+       * lily/tie-formatting-problem.cc (set_column_chord_outline): don't
+       cross center of note head in case of invisible stem. 
+
 2006-06-16  Graham Percival  <gpermus@gmail.com>
 
        * Documentation/user/ various: small fixes from mailist.
diff --git a/VERSION b/VERSION
index b5382f429e38422d24c2edda8b1a3af0f7443388..4a595f5f0a0ee1499222a61d5fb65a301700c835 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,6 +1,6 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=2
 MINOR_VERSION=9
-PATCH_LEVEL=9
+PATCH_LEVEL=10
 MY_PATCH_LEVEL=
 
diff --git a/input/regression/tie-whole.ly b/input/regression/tie-whole.ly
new file mode 100644 (file)
index 0000000..dadba2b
--- /dev/null
@@ -0,0 +1,16 @@
+\header {
+
+  texidoc = "For whole notes, the inside ties do not cross the center
+  of the note head, horizontally. "
+
+  
+  }
+\version "2.9.10"
+
+\paper { ragged-right =  ##t }
+\relative
+{
+  <f d a>1~
+  <f d a>1~
+  <f d a>1~
+}
index f6d9675d648c423464fad05cc1247f77434b9981..1d42902a4fd32d81386f8e4ac2d7814feb80b21c 100644 (file)
@@ -163,6 +163,24 @@ Tie_formatting_problem::set_column_chord_outline (vector<Item*> bounds,
                                      Y_AXIS, -dir);
        }
     }
+  else if (stem)
+    {
+      Grob *head = Stem::support_head (stem);
+
+      /*
+       In case of invisible stem, don't pass x-center of heads.
+       */
+      Real x_center = head->extent (x_refpoint_, X_AXIS).center ();
+      Interval x_ext;
+      x_ext[-dir] = x_center;
+      Interval y_ext;
+      for (vsize j = 0; j < head_boxes.size (); j++)
+       y_ext.unite (head_boxes[j][Y_AXIS]);
+         
+      insert_extent_into_skyline (&chord_outlines_[key],
+                                 Box (x_ext, y_ext),
+                                 Y_AXIS, -dir);
+    }
   
   Direction updowndir = DOWN;
   do