]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/spanner.cc
* VERSION (MY_PATCH_LEVEL): make 1.7.0
[lilypond.git] / lily / spanner.cc
index 09f2367acaa6ee7f98208b40f5716c47c5bd91a3..bc2d9bdd12a8f4047cd911529342727903476587 100644 (file)
 #include "system.hh"
 #include "group-interface.hh"
 
-/* spanner in name? */
-LY_DEFINE (get_broken_into,
-         "get-broken-into", 1, 0, 0, (SCM spanner),
-          "
-Return broken-into list for @var{spanner}.
-"
-)
-{
-  ///  Spanner *me = unsmob_spanner (spanner);
-  Spanner *me = dynamic_cast<Spanner*> (unsmob_grob (spanner));
-  SCM_ASSERT_TYPE (me, spanner, SCM_ARG1, __FUNCTION__, "spanner");
-
-  SCM s = SCM_EOL;
-  for (int i = me->broken_intos_.size (); i; i--)
-    s = gh_cons (me->broken_intos_[i-1]->self_scm (), s);
-  return s;
-}
-
 void
 Spanner::do_break_processing ()
 {
@@ -137,6 +119,8 @@ Spanner::do_break_processing ()
        }
     }
   broken_intos_.sort (Spanner::compare);
+  for (int i= broken_intos_.size();i--;)
+    broken_intos_[i]->break_index_ = i;
 }
 
 void
@@ -167,6 +151,7 @@ Spanner::spanned_rank_iv ()
   return iv;
 }
 
+
 Item*
 Spanner::get_bound (Direction d) const
 {
@@ -214,6 +199,7 @@ Spanner::set_bound (Direction d, Grob*s)
 Spanner::Spanner (SCM s)
   : Grob (s)
 {
+  break_index_ = 0;
   spanned_drul_[LEFT]=0;
   spanned_drul_[RIGHT]=0;
   Group_interface::add_thing (this, ly_symbol2scm ("interfaces"), ly_symbol2scm ("spanner-interface"));
@@ -303,7 +289,7 @@ Spanner::get_broken_left_end_align () const
 }
 
 SCM
-Spanner::do_derived_mark ()
+Spanner::do_derived_mark () const
 {
   /*
     We'd be fucked if this is called before spanned_drul_[] is inited.  */
@@ -350,8 +336,7 @@ Spanner::set_spacing_rods (SCM smob)
   r.item_l_drul_[LEFT] = sp->get_bound (LEFT);
   r.item_l_drul_[RIGHT] = sp->get_bound (RIGHT);
   r.distance_ =
-    gh_scm2double (me->get_grob_property ("minimum-length"))
-    * 1.0;
+    gh_scm2double (me->get_grob_property ("minimum-length"));
 
   r.add_to_cols ();
   return SCM_UNSPECIFIED;