X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fphrasing-slur-engraver.cc;h=6a1caedb01b124821534ccae8681049fc68510cd;hb=60b8773f7ab4f8042bb219d1c6d8c5a9a4814afe;hp=4805960042b8317e1f45ba9ed86ab8598a5cba3b;hpb=4bb29573149a0ffa1f881c5e38a0fe68e9e76b67;p=lilypond.git diff --git a/lily/phrasing-slur-engraver.cc b/lily/phrasing-slur-engraver.cc index 4805960042..6a1caedb01 100644 --- a/lily/phrasing-slur-engraver.cc +++ b/lily/phrasing-slur-engraver.cc @@ -51,10 +51,11 @@ class Phrasing_slur_engraver : public Engraver vector stop_events_; vector slurs_; vector end_slurs_; + vector objects_to_acknowledge_; protected: DECLARE_TRANSLATOR_LISTENER (phrasing_slur); - DECLARE_ACKNOWLEDGER (accidental); + DECLARE_ACKNOWLEDGER (inline_accidental); DECLARE_ACKNOWLEDGER (fingering); DECLARE_ACKNOWLEDGER (note_column); DECLARE_ACKNOWLEDGER (slur); @@ -103,11 +104,11 @@ Phrasing_slur_engraver::acknowledge_note_column (Grob_info info) void Phrasing_slur_engraver::acknowledge_extra_object (Grob_info info) { - Slur::auxiliary_acknowledge_extra_object (info, slurs_, end_slurs_); + objects_to_acknowledge_.push_back (info); } void -Phrasing_slur_engraver::acknowledge_accidental (Grob_info info) +Phrasing_slur_engraver::acknowledge_inline_accidental (Grob_info info) { acknowledge_extra_object (info); } @@ -209,12 +210,16 @@ Phrasing_slur_engraver::process_music () void Phrasing_slur_engraver::stop_translation_timestep () { + for (vsize i = 0; i < objects_to_acknowledge_.size (); i++) + Slur::auxiliary_acknowledge_extra_object (objects_to_acknowledge_[i], slurs_, end_slurs_); + end_slurs_.clear (); start_events_.clear (); stop_events_.clear (); + objects_to_acknowledge_.clear (); } -ADD_ACKNOWLEDGER (Phrasing_slur_engraver, accidental); +ADD_ACKNOWLEDGER (Phrasing_slur_engraver, inline_accidental); ADD_ACKNOWLEDGER (Phrasing_slur_engraver, fingering) ADD_ACKNOWLEDGER (Phrasing_slur_engraver, note_column); ADD_ACKNOWLEDGER (Phrasing_slur_engraver, slur);