#include "stcol.hh"
#include "staff.hh"
#include "staffwalker.hh"
-#include "complexcolumn.hh"
-
-/// Complex staff: one voicegroup at a time
+///
struct Complex_staff : Staff {
- /// indirection to the PStaff.
- PStaff *pstaff_l_;
/* *************** */
- Staff_column*create_col();
+
virtual void set_output(PScore *);
virtual Staff_walker *get_walker_p();
- Complex_staff();
};
#endif // COMPLEXSTAF_HH
Hungarian prefix lstaff
*/
struct Lyric_staff : Staff {
- PStaff* pstaff_l_;
-
- Staff_column* create_col();
virtual void set_output(PScore *);
virtual Staff_walker *get_walker_p();
- Lyric_staff();
};
#endif // LYRICSTAFF_HH
#include "proto.hh"
#include "grouping.hh"
#include "staffwalker.hh"
-#include "lyriccolumn.hh"
/// a simple walker which collects words, and then print them, first on top
struct Lyric_walker: Staff_walker {
virtual void process_requests();
Lyric_walker(Lyric_staff* lstaff_l);
- Lyric_column* lcol_l();
Lyric_staff* lstaff_l();
};
/// store simultaneous requests
class Staff_column {
+
Staff_column(Staff_column const&);
+
public:
+ Array<Request*> musicalreq_l_arr_;
+ Array<Request*> commandreq_l_arr_;
+ Staff * staff_l_;
+
/// fields to collect timing data vertically.
Array<Timing_req*> timing_req_l_arr_;
Score_column *musical_column_l_, *command_column_l_;
void set_cols(Score_column *c1, Score_column *c2);
void add(Voice_element*ve);
void OK() const;
- virtual ~Staff_column();
-
-
+ ~Staff_column();
+ void typeset_breakable_items(Array<Item *> &pre_p_arr,
+ Array<Item *> &nobreak_p_arr,
+ Array<Item *> &post_p_arr);
+ void typeset_musical_item(Item *i);
protected:
- virtual void setup_one_request(Request*)=0;
-
+ void setup_one_request(Request*);
};
#include "bar.hh"
#include "commandrequest.hh"
#include "complexwalker.hh"
-#include "complexcolumn.hh"
#include "sccol.hh"