X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fslur-engraver.cc;h=2386c4d8c52179b03e4c49dc682154d08b2c4c11;hb=83c269ea982eea8b8b97c021844b3dfa91b56649;hp=98f0bbf336fcf779559b49a1c9c9e018b32d2d9c;hpb=bb8a0a5387af94dd2702877256334b160575a730;p=lilypond.git diff --git a/lily/slur-engraver.cc b/lily/slur-engraver.cc index 98f0bbf336..2386c4d8c5 100644 --- a/lily/slur-engraver.cc +++ b/lily/slur-engraver.cc @@ -51,15 +51,17 @@ class Slur_engraver : public Engraver vector stop_events_; vector slurs_; vector end_slurs_; + vector objects_to_acknowledge_; void set_melisma (bool); protected: DECLARE_TRANSLATOR_LISTENER (slur); - DECLARE_ACKNOWLEDGER (accidental); + DECLARE_ACKNOWLEDGER (inline_accidental); DECLARE_ACKNOWLEDGER (fingering); DECLARE_ACKNOWLEDGER (note_column); DECLARE_ACKNOWLEDGER (script); + DECLARE_ACKNOWLEDGER (dots); DECLARE_ACKNOWLEDGER (text_script); DECLARE_ACKNOWLEDGER (tie); DECLARE_ACKNOWLEDGER (tuplet_number); @@ -110,11 +112,17 @@ Slur_engraver::acknowledge_note_column (Grob_info info) void Slur_engraver::acknowledge_extra_object (Grob_info info) { - Slur::auxiliary_acknowledge_extra_object (info, slurs_, end_slurs_); + objects_to_acknowledge_.push_back (info); } void -Slur_engraver::acknowledge_accidental (Grob_info info) +Slur_engraver::acknowledge_inline_accidental (Grob_info info) +{ + acknowledge_extra_object (info); +} + +void +Slur_engraver::acknowledge_dots (Grob_info info) { acknowledge_extra_object (info); } @@ -242,16 +250,22 @@ Slur_engraver::stop_translation_timestep () s->set_bound (RIGHT, unsmob_grob (get_property ("currentMusicalColumn"))); announce_end_grob (s, SCM_EOL); } + + for (vsize i = 0; i < objects_to_acknowledge_.size (); i++) + Slur::auxiliary_acknowledge_extra_object (objects_to_acknowledge_[i], slurs_, end_slurs_); + + objects_to_acknowledge_.clear (); end_slurs_.clear (); start_events_.clear (); stop_events_.clear (); } -ADD_ACKNOWLEDGER (Slur_engraver, accidental); +ADD_ACKNOWLEDGER (Slur_engraver, inline_accidental); ADD_ACKNOWLEDGER (Slur_engraver, fingering); ADD_ACKNOWLEDGER (Slur_engraver, note_column); ADD_ACKNOWLEDGER (Slur_engraver, script); ADD_ACKNOWLEDGER (Slur_engraver, text_script); +ADD_ACKNOWLEDGER (Slur_engraver, dots); ADD_ACKNOWLEDGER (Slur_engraver, tie); ADD_ACKNOWLEDGER (Slur_engraver, tuplet_number); ADD_TRANSLATOR (Slur_engraver,