]> git.donarmstrong.com Git - lilypond.git/commitdiff
lily/stem-engraver.cc: allow distinguishable durations to be stemmed together (string...
authorDavid Kastrup <dak@gnu.org>
Wed, 12 Jan 2011 12:07:42 +0000 (13:07 +0100)
committerDavid Kastrup <dak@gnu.org>
Thu, 7 Apr 2011 19:04:01 +0000 (21:04 +0200)
lily/stem-engraver.cc

index 137040766a5f6a1c710595b350f1a6dd039c4691..ae5af1a3c451161d06ab0a823c0800ad4ee21d7e 100644 (file)
@@ -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)",