]> git.donarmstrong.com Git - lilypond.git/commitdiff
''
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 20 Jun 2002 21:55:40 +0000 (21:55 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 20 Jun 2002 21:55:40 +0000 (21:55 +0000)
ChangeLog
lily/spacing-spanner.cc
lily/system.cc
scm/grob-description.scm

index 1a26461b27c33a6f0135f0a906734e522aa6809e..956e9ec9005f946f38a2f49eefe408c410b13728 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2002-06-20  Han-Wen  <hanwen@cs.uu.nl>
+
+       * lily/system.cc (output_lines): kill grobs that are only for spacing.
+
 2002-06-20  Jan Nieuwenhuizen  <janneke@gnu.org>
 
        * aclocal.m4: Regenerate.
@@ -7,7 +11,7 @@
        * config.hh.in: Only set GUILE_MAJOR_VERSION if necessary.
        * lily/include/lily-guile.hh: Only include config.h if necessary.
 
-       * Changlog: cvs changes ml archive test #8.
+       * Changelog: cvs changes ml archive test #8.
        
        * lily/slur-engraver.cc: Layout fix.
 
index 2d5c5fd2c3b5293afd69e654698788f1d0009839..3869a449e3f5f04bab821bdf88c19578a5401dd4 100644 (file)
@@ -24,9 +24,7 @@
 #include "paper-column.hh"
 #include "spaceable-grob.hh"
 #include "break-align-interface.hh"
-
-
-
+#include "spacing-interface.hh"
 
 /*
   paper-column:
@@ -834,3 +832,9 @@ quarter note is followed by  3 NHW, the half by 4 NHW, etc.
 ",
   "grace-space-factor spacing-increment base-shortest-duration shortest-duration-space");
 
+
+
+ADD_INTERFACE (Spacing_interface,"spacing-interface",
+  "Something to do with line breaking and spacing. Kill this one after determining line breaks.",
+  "");
+
index 1a789591ea35f0b724a05957ed362f5edddb162f..692b1f11ee8b34533a42a2f5b1d558cd1fd47d6f 100644 (file)
@@ -20,6 +20,7 @@
 #include "dimensions.hh"
 #include "molecule.hh"
 #include "all-font-metrics.hh"
+#include "spacing-interface.hh"
 
 // todo: use map.
 void
@@ -58,7 +59,11 @@ System::output_lines ()
   for (SCM s = get_grob_property ("all-elements");
        gh_pair_p (s); s = ly_cdr (s))
     {
-      unsmob_grob (ly_car (s))->do_break_processing ();
+      Grob * g = unsmob_grob (ly_car (s));
+      if (Spacing_interface::has_interface (g))
+       g->suicide ();
+      else
+       g->do_break_processing ();
     }
 
   /*
index 8e10acd5958f5293f627c48681c8a99f34df17d7..63ed593126512cd5c4093aae47a77f3c866bef88 100644 (file)
        (shortest-duration-space . 2.0)
        (spacing-increment . 1.2)
        (base-shortest-duration . ,(make-moment 1 8))
-       (meta . ((interfaces . (spacing-spanner-interface))))
+       (meta . ((interfaces . (spacing-interface spacing-spanner-interface))))
        ))
 
     (SpanBar
      . (
        (breakable . #t)
        (stem-spacing-correction . 0.4)
-       (meta . ((interfaces . (staff-spacing-interface))))
+       (meta . ((interfaces . (spacing-interface staff-spacing-interface))))
        ))
     (NoteSpacing
      . (
        (stem-spacing-correction . 0.5)
-       (meta . ((interfaces . (note-spacing-interface))))
+       (meta . ((interfaces . (spacing-interface note-spacing-interface))))
        ))
 
     (StaffSymbol
 
     (SeparationItem
      . (
-       (meta . ((interfaces . (separation-item-interface))))
+       (meta . ((interfaces . (spacing-interface separation-item-interface))))
        ))
 
     (SeparatingGroupSpanner
      . (
        (spacing-procedure . ,Separating_group_spanner::set_spacing_rods)
-       (meta . ((interfaces . (separation-spanner-interface))))
+       (meta . ((interfaces . (spacing-interface separation-spanner-interface))))
        ))
 
     (SustainPedal