- Molecule m (paper()->lookup_l ()->fill (Box (
- Interval (0, paper()->note_width ()),
- Interval (0,0))));
+ SCM old = get_elt_property ("old-accidentals");
+ /*
+ Add half a space between cancellation and key sig.
+
+ As suggested by [Ross], p.148.
+ */
+ Interval x(0, inter);
+ Interval y(0,0);
+
+ mol.add_at_edge (X_AXIS, LEFT, lookup_l()->blank (Box(x,y)),0);
+
+ for (; gh_pair_p (old); old = gh_cdr (old))
+ {
+ SCM found = SCM_EOL;
+
+ /*
+ find correspondences in pitches
+ */
+ for (SCM s = newas; gh_pair_p (s); s = gh_cdr (s))
+ if (gh_caar(s) == gh_caar (old))
+ found = gh_car (s);
+
+ if (found == SCM_EOL || gh_cdr (found) != gh_cdar (old))
+ {
+ Molecule m =lookup_l ()->afm_find ("accidentals-0");
+
+ m.translate_axis (calculate_position(gh_car(old)) * inter, Y_AXIS);
+ mol.add_at_edge (X_AXIS, LEFT, m,0);
+ }
+ }
+