From edbf6ce3e3e1f4f9c3cf0ed3422324c2d1bcfb5c Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Sun, 7 May 2006 18:25:32 +0000 Subject: [PATCH] (get_beam_segments): don't use stem position as base for broken ends. --- ChangeLog | 5 +++++ lily/beam.cc | 10 +++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9200bd2eab..b0a3d328fb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-05-07 Han-Wen Nienhuys + + * lily/beam.cc (get_beam_segments): don't use stem position as + base for broken ends. + 2006-05-06 Graham Percival * Documentation/user/putting.itely: proofreading from Dave diff --git a/lily/beam.cc b/lily/beam.cc index 598b3c042c..9e425b3f0a 100644 --- a/lily/beam.cc +++ b/lily/beam.cc @@ -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, -- 2.39.5