- SCM prop = get_property ("keyOctaviation");
- bool multi = to_boolean (prop);
-
- if (multi)
- item_p_->set_grob_property ("multi-octave", gh_bool2scm (multi));
-
- announce_grob (item_p_,keyreq_l_);
+ SCM last = get_property ("lastKeySignature");
+ SCM key = get_property ("keySignature");
+ if (to_boolean (get_property ("printKeyCancellation"))
+ && !scm_is_eq (last, key))
+ {
+ cancellation_ = make_item ("KeyCancellation", key_ev_ ? key_ev_->self_scm () : SCM_EOL);
+ cancellation_->set_property ("old-accidentals", last);
+ cancellation_->set_property ("c0-position",
+ get_property ("middleCPosition"));
+ }
+ item_->set_property ("new-accidentals", key);