]> git.donarmstrong.com Git - lilypond.git/commitdiff
(get_beam_segments): don't use stem position as
authorhanwen <hanwen>
Sun, 7 May 2006 18:25:32 +0000 (18:25 +0000)
committerhanwen <hanwen>
Sun, 7 May 2006 18:25:32 +0000 (18:25 +0000)
base for broken ends.

ChangeLog
lily/beam.cc

index 9200bd2eabe9e9141c6d9d9d0b3a72a91d4db8b2..b0a3d328fb5b5d83be41302eb28843b2a1954053 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-05-07  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * lily/beam.cc (get_beam_segments): don't use stem position as
+       base for broken ends.
+
 2006-05-06  Graham Percival  <gpermus@gmail.com>
 
        * Documentation/user/putting.itely: proofreading from Dave
index 598b3c042c19d0a41fa589ca0c3d75e2ca292c92..9e425b3f0a0c42e0de58698bfa3400568e849852 100644 (file)
@@ -398,15 +398,19 @@ Beam::get_beam_segments (Grob *me_grob, Grob **common)
              current.horizontal_[event_dir] = segs[j].stem_x_;
              if (segs[j].dir_ == event_dir)
                {
-                 if (on_bound[event_dir] && me->get_bound (event_dir)->break_status_dir ())
+                 if (on_bound[event_dir]
+                     && me->get_bound (event_dir)->break_status_dir ())
                    {
-                     current.horizontal_[event_dir] += event_dir * break_overshoot[event_dir];
+                     current.horizontal_[event_dir]
+                       = (me->get_bound (event_dir)->extent (commonx, X_AXIS)[RIGHT]
+                          + event_dir * break_overshoot[event_dir]);
                    }
                  else
                    {
                      Real notehead_width = 
                        Stem::duration_log (segs[j].stem_) == 1
-                       ? 1.98 : 1.32; // URG.
+                       ? 1.98
+                       : 1.32; // URG.
                      
                      if (inside[event_dir])
                        notehead_width = min (notehead_width,