]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/beam.cc
Release: bump version.
[lilypond.git] / lily / beam.cc
index 4e810ce18da04508a4ce08253ebb3c1b380268a4..4a27d648e1a0790f5321b12bc1a42bf518bf03be 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 1997--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  Copyright (C) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
   Jan Nieuwenhuizen <janneke@gnu.org>
 
   LilyPond is free software: you can redistribute it and/or modify
@@ -37,6 +37,7 @@
 
 #include "beam.hh"
 
+#include "axis-group-interface.hh"
 #include "align-interface.hh"
 #include "beam-scoring-problem.hh"
 #include "beaming-pattern.hh"
@@ -466,8 +467,11 @@ Beam::calc_beam_segments (SCM smob)
                                || abs (vertical_count) >= neighbor_seg.max_connect_);
 
               if (!event)
-                // Then this edge of the current segment is irrelevent because it will
+                // Then this edge of the current segment is irrelevant because it will
                 // be connected with the next segment in the event_dir direction.
+                // If we skip the left edge here, the right edge of
+                // the previous segment has already been skipped since
+                // the conditions are symmetric
                 continue;
 
               current.vertical_count_ = vertical_count;
@@ -480,8 +484,8 @@ Beam::calc_beam_segments (SCM smob)
                       && me->get_bound (event_dir)->break_status_dir ())
                     {
                       current.horizontal_[event_dir]
-                        = (robust_relative_extent (me->get_bound (event_dir),
-                                                   commonx, X_AXIS)[RIGHT]
+                        = (Axis_group_interface::generic_bound_extent (me->get_bound (event_dir),
+                                                                       commonx, X_AXIS)[RIGHT]
                            + event_dir * break_overshoot[event_dir]);
                     }
                   else
@@ -1094,7 +1098,7 @@ Beam::set_stem_lengths (SCM smob)
   Grob *fvs = first_normal_stem (me);
   Grob *lvs = last_normal_stem (me);
 
-  Interval x_span = robust_scm2interval (me->get_property ("X-positions"), Interval (0,0));
+  Interval x_span = robust_scm2interval (me->get_property ("X-positions"), Interval (0, 0));
   Direction feather_dir = to_dir (me->get_property ("grow-direction"));
 
   for (vsize i = 0; i < stems.size (); i++)
@@ -1345,7 +1349,7 @@ Beam::pure_rest_collision_callback (SCM smob,
   Grob *left;
   Grob *right;
 
-  if (idx == (vsize)-1 || my_stems.size () == 1)
+  if (idx == (vsize) - 1 || my_stems.size () == 1)
     return scm_from_double (amount);
   else if (idx == 0)
     left = right = my_stems[1];
@@ -1367,7 +1371,6 @@ Beam::pure_rest_collision_callback (SCM smob,
   return scm_from_double (amount);
 }
 
-
 bool
 Beam::is_knee (Grob *me)
 {