X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Faccidental-engraver.cc;h=003b37ff318f56f11638bb099ffbfffe76efb7fc;hb=e9fe183170639b40df1ce6e59f4e29c7d155b232;hp=016433d2ba491aae4524d4791c990855ea25039e;hpb=958e95822083954cad00e0a598eb9f12ceba67b9;p=lilypond.git diff --git a/lily/accidental-engraver.cc b/lily/accidental-engraver.cc index 016433d2ba..003b37ff31 100644 --- a/lily/accidental-engraver.cc +++ b/lily/accidental-engraver.cc @@ -103,7 +103,8 @@ public: in grobs should always store ly_deep_copy ()s of those. */ -Accidental_engraver::Accidental_engraver () +Accidental_engraver::Accidental_engraver (Context *c) + : Engraver (c) { accidental_placement_ = 0; last_keysig_ = SCM_EOL; @@ -199,10 +200,7 @@ check_pitch_against_rules (Pitch const &pitch, Context *origin, */ else if (scm_is_symbol (rule)) { - Context *dad = origin; - while (dad && !dad->is_alias (rule)) - dad = dad->get_parent_context (); - + Context *dad = find_context_above (origin, rule); if (dad) origin = dad; } @@ -317,7 +315,7 @@ Accidental_engraver::make_standard_accidental (Stream_event * /* note */, */ for (vsize i = 0; i < left_objects_.size (); i++) { - if (scm_is_eq (left_objects_[i]->get_property ("side-axis"), scm_from_int (X_AXIS))) + if (ly_is_equal (left_objects_[i]->get_property ("side-axis"), scm_from_int (X_AXIS))) Side_position_interface::add_support (left_objects_[i], a); } @@ -510,15 +508,20 @@ void Accidental_engraver::process_music () { SCM sig = get_property ("keyAlterations"); - if (last_keysig_ != sig) + if (!scm_is_eq (last_keysig_, sig)) update_local_key_signature (sig); } -ADD_ACKNOWLEDGER (Accidental_engraver, arpeggio); -ADD_ACKNOWLEDGER (Accidental_engraver, finger); -ADD_ACKNOWLEDGER (Accidental_engraver, rhythmic_head); -ADD_END_ACKNOWLEDGER (Accidental_engraver, tie); -ADD_ACKNOWLEDGER (Accidental_engraver, note_column); + +void +Accidental_engraver::boot () +{ + ADD_ACKNOWLEDGER (Accidental_engraver, arpeggio); + ADD_ACKNOWLEDGER (Accidental_engraver, finger); + ADD_ACKNOWLEDGER (Accidental_engraver, rhythmic_head); + ADD_END_ACKNOWLEDGER (Accidental_engraver, tie); + ADD_ACKNOWLEDGER (Accidental_engraver, note_column); +} ADD_TRANSLATOR (Accidental_engraver, /* doc */