+#include "music-list.hh"
+#include "engraver.hh"
+
+class Tuplet_engraver : public Engraver
+{
+public:
+ VIRTUAL_COPY_CONS(Translator);
+
+protected:
+ Link_array<Time_scaled_music> time_scaled_music_arr_;
+ /// when does the scaled music stop? Array order is synced with time_scaled_music_arr_
+ Array<Moment> stop_moments_;
+ /// when does the current spanner stop? Array order is synced with time_scaled_music_arr_
+ Array<Moment> span_stop_moments_;
+
+ /// The spanners. Array order is synced with time_scaled_music_arr_
+ Link_array<Tuplet_spanner> started_span_p_arr_;
+
+ virtual void do_removal_processing ();
+ virtual void acknowledge_element (Score_element_info);
+ virtual bool do_try_music (Music*r);
+ virtual void do_process_music ();
+ virtual void do_post_move_processing ();
+};