From 39159ce6318face1ca85900253a9809ca2d94655 Mon Sep 17 00:00:00 2001 From: David Kastrup Date: Wed, 12 Jan 2011 13:07:42 +0100 Subject: [PATCH] lily/stem-engraver.cc: allow distinguishable durations to be stemmed together (string chords) --- lily/stem-engraver.cc | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/lily/stem-engraver.cc b/lily/stem-engraver.cc index 137040766a..ae5af1a3c4 100644 --- a/lily/stem-engraver.cc +++ b/lily/stem-engraver.cc @@ -134,7 +134,23 @@ Stem_engraver::acknowledge_rhythmic_head (Grob_info gi) if (!stem_) make_stem (gi); - if (Stem::duration_log (stem_) != d->duration_log ()) + int ds = Stem::duration_log (stem_); + int dc = d->duration_log (); + + // half notes and quarter notes all have compatible stems. + // Longas are done differently (oops?), so we can't unify + // them with the other stemmed notes. + if (ds == 1) + ds = 2; + if (dc == 1) + dc = 2; + // whole notes and brevis both have no stems + if (ds == -1) + ds = 0; + if (dc == -1) + dc = 0; + + if (ds != dc) { // FIXME: gi.event_cause ()->origin ()->warning (_f ("adding note head to incompatible stem (type = %d)", -- 2.39.2