I had a look at issue #44 yesterday and came up with this patch (attached). It fixes the bug, but I guess using the side-position interface in some clever way can get rid of the magic numbers. Comments?
+ /* + * Handle issue #44: + * + * Dots from left note head collide with right note head. Only occurs
+ * with a close half collide, if the left note head is between + * lines and the right note head is on a line, and if right note head + * hasn't got any dots. + */ + if (close_half_collide + && Rhythmic_head::dot_count (nu)
+ && !Rhythmic_head::dot_count (nd)) + { + Grob *staff = Staff_symbol_referencer::get_staff_symbol (me); + if (!Staff_symbol_referencer::on_line (staff, ups[0])) + /* FIXME: magic numbers */
+ shift_amount *= 1 + (0.6 * Rhythmic_head::dot_count (nu)); + } + /* For full or close half collisions, the right hand head may obscure dots. Move dots to the right. */ if (abs (shift_amount) > 1e-6