+ /* Do not merge whole notes (or longer, like breve, longa, maxima). */
+ if (merge_possible && (upball_type <= 0 || dnball_type <= 0))
+ merge_possible = false;
+
+ if (merge_possible
+ && Rhythmic_head::dot_count (nu) != Rhythmic_head::dot_count (nd)
+ && !to_boolean (me->get_property ("merge-differently-dotted")))
+ merge_possible = false;
+
+ /* Can only merge different heads if merge-differently-headed is
+ set. */
+ if (merge_possible
+ && upball_type != dnball_type
+ && !to_boolean (me->get_property ("merge-differently-headed")))
+ merge_possible = false;
+
+ /* Should never merge quarter and half notes, as this would make
+ them indistinguishable. */
+ if (merge_possible
+ && ((Rhythmic_head::duration_log (nu) == 1
+ && Rhythmic_head::duration_log (nd) == 2)
+ || (Rhythmic_head::duration_log (nu) == 2
+ && Rhythmic_head::duration_log (nd) == 1)))
+ merge_possible = false;