>From 3b1f96dde917bf96adad478c9f5e033f33bbf78e Mon Sep 17 00:00:00 2001 From: David Kastrup Date: Wed, 12 Jan 2011 13:07:42 +0100 Subject: [PATCH 1/2] lily/stem-engraver.cc: allow distinguishable durations to be stemmed together (string chords) --- lily/stem-engraver.cc | 18 +++++++++++++++++- 1 files changed, 17 insertions(+), 1 deletions(-) diff --git a/lily/stem-engraver.cc b/lily/stem-engraver.cc index d09e3b9..96ebd10 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)", -- 1.7.2.3