--- /dev/null
+CODING STANDARDS:
+
+Functions and methods do not return errorcodes, but use assert for
+checking status.
+
+INDENTATION, in emacs:
+
+
+(add-hook 'c-mode-hook
+ '(lambda ()(setq c-basic-offset 4)))
+
+
+(add-hook 'c++-mode-hook
+ '(lambda() (c-set-style "Stroustrup")
+ )
+ )
+
+
+CLASSES and TYPES:
+
+ This_is_a_class
+
+DATA MEMBERS
+
+ Class:member
+
+if the member's name resembles its type, then we use
+
+ Class Fubular { ..}
+
+ Class::fubular_
+
+COMMENTS
+
+/// short description
+class Class {
+ ///
+ Data data_member_;
+ /**
+ ..
+ */
+
+ /****************/
+
+ /// short memo
+ member();
+ /**
+ long doco of member()
+ */
+};
+/**
+ Class documentation.
+*/
+
+Unfortunately most of the code isn't really documented that good.
\ No newline at end of file
--- /dev/null
+/*
+ rhythmstaf.hh -- part of LilyPond
+
+ (c) 1996 Han-Wen Nienhuys
+*/
+
+#ifndef RHYTHMSTAF_HH
+#define RHYTHMSTAF_HH
+
+#include "simplestaff.hh"
+
+/// all notes on one line
+struct Rhythmic_staff : public Simple_staff
+{
+ // Rhythmic_staff();
+ Staff_column * create_col(Score_column*);
+ virtual void set_output(PScore *);
+ virtual Rhythmic_staff*clone()const;
+};
+
+/// this does the typesetting
+struct Rhythmic_column : public Simple_column {
+ virtual void typeset_req(Request *rq);
+ virtual void typeset_command(Command *, int brs);
+
+
+// virtual void typeset_item(Item *rq, int=1);
+ Rhythmic_column(Score_column*s,Simple_staff*rs) :
+ Simple_column(s,rs) { }
+// virtual Rhythmic_column*clone()const;
+};
+
+#endif // RHYTHMSTAF_HH
+
+