+#include "translator.icc"
+
+class Vertical_align_engraver : public Engraver
+{
+ Spanner *valign_;
+ bool qualifies (Grob_info) const;
+ SCM id_to_group_hashtab_;
+
+public:
+ TRANSLATOR_DECLARATIONS (Vertical_align_engraver);
+ DECLARE_ACKNOWLEDGER (axis_group);
+
+protected:
+ virtual void derived_mark () const;
+ void process_music ();
+ virtual void finalize ();
+ virtual void initialize ();
+};
+
+ADD_ACKNOWLEDGER (Vertical_align_engraver, axis_group);
+ADD_TRANSLATOR (Vertical_align_engraver,
+ "Catch groups (staffs, lyrics lines, etc.) and stack "
+ "them vertically.",
+ /* create */ "VerticalAlignment",
+ /* read */
+ "alignAboveContext "
+ "alignBelowContext ",
+
+ /* write */ "");
+
+Vertical_align_engraver::Vertical_align_engraver ()