-#include "mark-engraver.hh"
-#include "text-def.hh"
-#include "script.hh"
-#include "paper-def.hh"
-#include "command-request.hh"
-#include "time-description.hh"
-#include "engraver-group.hh"
-#include "staff-sym.hh"
-#include "g-text-item.hh"
-#include "g-staff-side.hh"
-#include "stem.hh"
-#include "rhythmic-head.hh"
-
-ADD_THIS_TRANSLATOR (Mark_engraver);
+#include <cctype>
+using namespace std;
+
+#include "engraver.hh"
+
+#include "axis-group-interface.hh"
+#include "bar-line.hh"
+#include "context.hh"
+#include "grob-array.hh"
+#include "international.hh"
+#include "item.hh"
+#include "stream-event.hh"
+#include "text-interface.hh"
+#include "warn.hh"
+
+#include "translator.icc"
+
+/**
+ put stuff over or next to bars. Examples: bar numbers, marginal notes,
+ rehearsal marks.
+*/
+class Mark_engraver : public Engraver
+{
+
+ void create_items (Stream_event *);
+ Item *text_;
+ Stream_event *mark_ev_;
+
+public:
+ TRANSLATOR_DECLARATIONS (Mark_engraver);
+
+protected:
+ void process_music ();
+ void stop_translation_timestep ();
+
+ DECLARE_TRANSLATOR_LISTENER (mark);
+ DECLARE_ACKNOWLEDGER (break_alignment);
+ DECLARE_ACKNOWLEDGER (break_aligned);
+};