-void
-Key_item::add(int p, int a)
-{
- if ((a<0 && p>FLAT_TOP_PITCH) ||
- (a>0 && p>SHARP_TOP_PITCH)) {
- p -= 7; /* Typeset below c_position */
+ 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)),0);
+ }
+
+ for (int i =0; i < pitch_arr_.size(); i++)
+ {
+ Molecule m =lookup_l ()->accidental (acc_arr_[i],false);
+ m.translate_axis (calculate_position(pitch_arr_[i], acc_arr_[i]) * inter, Y_AXIS);
+ output->add_at_edge (X_AXIS, RIGHT, m, 0);
+ }
+ if (pitch_arr_.size())
+ {
+ Molecule m (lookup_l ()->fill (Box (
+ Interval (0, paper()->note_width ()),
+ Interval (0,0))));
+
+ output->add_at_edge (X_AXIS, RIGHT, m,0 );