+ return (h1.end_ - h2.end_).main_part_.sign ();
+}
+
+/****************************************************************/
+
+/*
+ Acknowledge rhythmic elements, for initializing spacing fields in
+ the columns.
+*/
+class Spacing_engraver : public Engraver
+{
+ PQueue<Rhythmic_tuple> playing_durations_;
+ vector<Rhythmic_tuple> now_durations_;
+ vector<Rhythmic_tuple> stopped_durations_;
+ Moment now_;
+ Spanner *spacing_;
+ Stream_event *start_section_;
+
+ TRANSLATOR_DECLARATIONS (Spacing_engraver);
+
+protected:
+ DECLARE_ACKNOWLEDGER (staff_spacing);
+ DECLARE_ACKNOWLEDGER (note_spacing);
+ DECLARE_ACKNOWLEDGER (rhythmic_head);
+ DECLARE_TRANSLATOR_LISTENER (spacing_section);
+
+ void start_translation_timestep ();
+ void stop_translation_timestep ();
+ void process_music ();