From cc6cb9a7c63096dd82099753aab97bea46b50901 Mon Sep 17 00:00:00 2001 From: David Kastrup Date: Wed, 2 Feb 2011 10:14:11 +0100 Subject: [PATCH] stem-engraver.cc: recreate stem if in need of change when merging different heads --- lily/stem-engraver.cc | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lily/stem-engraver.cc b/lily/stem-engraver.cc index 738eaf8d1e..1d4313b17a 100644 --- a/lily/stem-engraver.cc +++ b/lily/stem-engraver.cc @@ -31,7 +31,7 @@ #include "stem-tremolo.hh" #include "stem.hh" #include "stream-event.hh" - +#include "pointer-group-interface.hh" #include "translator.icc" class Stem_engraver : public Engraver @@ -157,8 +157,16 @@ Stem_engraver::acknowledge_rhythmic_head (Grob_info gi) ds < 0 ? 1 << -ds : 1, ds > 0 ? 1 << ds : 1)); gi.event_cause ()->origin ()->warning (_ ("maybe input should specify polyphonic voices")); + if (ds == 1 && dc > 2) { + Grob *old_stem = stem_; + stem_=0; + make_stem(gi); + extract_grob_set (old_stem, "note-heads", heads); + for (int i=heads.size(); i--;) + Stem::add_head(stem_, heads[i]); + } } - + Stem::add_head (stem_, gi.grob ()); } -- 2.39.5