+ int j;
+ if ((break_status_dir_ == LEFT || break_status_dir_ == CENTER)
+ || old_pitch.size ())
+ {
+ for (int i =0; i < old_pitch.size(); i++)
+ {
+ for (j =0; (j < pitch.size()) && (old_pitch[i] != pitch[j]); j++)
+ ;
+
+ if (j == pitch.size()
+ || (old_pitch[i] == pitch[j] && old_acc[i] != acc[j]))
+ {
+ Atom a =lookup_l ()->accidental (0);
+ a.translate_axis (calculate_position(old_pitch[i], old_acc[i]) * inter, Y_AXIS);
+ Molecule m (a);
+ output->add_at_edge (X_AXIS, RIGHT, m);
+ }
+ }
+
+ /*
+ Add half a space between cancellation and key sig.
+
+ As suggested by [Ross], p.148.
+ */
+ Interval x(0, inter);
+ Interval y(0,0);
+
+ output->add_at_edge (X_AXIS, RIGHT, lookup_l()->fill (Box(x,y)));
+ }
+