]> git.donarmstrong.com Git - lilypond.git/commitdiff
Fix 591.
authorJoe Neeman <joeneeman@gmail.com>
Sat, 10 May 2008 02:50:52 +0000 (12:50 +1000)
committerJoe Neeman <joeneeman@gmail.com>
Sat, 10 May 2008 02:50:52 +0000 (12:50 +1000)
Remove arpeggios from NoteColumns.

lily/rhythmic-column-engraver.cc
lily/separation-item.cc

index 4fef353a4638cc1a0133a3f13fe98bcfa10a5f60..4196f7a7691ce263cc931831f4b039e754281d03 100644 (file)
@@ -92,10 +92,7 @@ Rhythmic_column_engraver::process_acknowledged ()
        }
 
       if (arpeggio_)
-       {
-         Pointer_group_interface::add_grob (note_column_, ly_symbol2scm ("elements"), arpeggio_);
-         note_column_->set_object ("arpeggio", arpeggio_->self_scm ());
-       }
+       note_column_->set_object ("arpeggio", arpeggio_->self_scm ());
     }
 }
 
index a567f3c6bd50c336e56773b14209efeb2d81eb45..2e46c597719bff580a14187c317561cd7d4e4f1b 100644 (file)
@@ -11,6 +11,7 @@
 #include "accidental-placement.hh"
 #include "axis-group-interface.hh"
 #include "lookup.hh"
+#include "note-column.hh"
 #include "note-head.hh"
 #include "paper-column.hh"
 #include "pointer-group-interface.hh"
@@ -101,7 +102,18 @@ Separation_item::boxes (Grob *me, Grob *left)
   if (left)
     elts = Accidental_placement::get_relevant_accidentals (read_only_elts, left);
   else
-    elts = read_only_elts;
+    {
+      elts = read_only_elts;
+
+      /* This is a special-case for NoteColumn: we want to include arpeggio in its
+        skyline (so spacing takes it into account) but we don't want to include it
+        in the NoteColumn's extent because some spanners (eg. Hairpin) bound themselves
+        on the NoteColumn and we don't want them to include arpeggios in their bounds.
+      */
+      if (Grob *a = Note_column::arpeggio (me)) {
+       elts.push_back (a);
+      }
+    }
 
   Grob *ycommon = common_refpoint_of_array (elts, me, Y_AXIS);