7 #include "staffcommands.hh"
11 Staff::add(PointerList<Voice*> &l)
13 for (PCursor<Voice*> i(l); i.ok(); i++)
14 voices.bottom().add(i);
18 Staff::process_commands(Real l)
21 staff_commands_->clean(l);
27 return score_->paper_;
33 PCursor<Staff_column *> i(cols);
35 if (!i->score_column->used())
43 Staff::get_col(Real w, bool mus)
45 Score_column* sc = score_->find_col(w,mus);
46 assert(sc->when == w);
48 PCursor<Staff_column *> i(cols);
50 if (*i->score_column > *sc) // too far
52 if (sc == i->score_column)
56 /* post: *sc > *->score_column || !i.ok() */
57 Staff_column* newst = create_col(sc);
60 cols.bottom().add(newst);
69 // ; assert((i-1).ok())
72 // making a fix at 2:30 am, with several beers drunk.
74 if ((i-1).ok()&& (i-1)->when() == newst->when()) {
86 put all stuff grouped vertically in the Staff_cols
89 Staff::setup_staffcols()
91 for (PCursor<Voice*> i(voices); i.ok(); i++) {
93 for (PCursor<Voice_element *> ve(i->elts); ve.ok(); ve++) {
95 Staff_column *sc=get_col(now,true);
101 for (PCursor<Command*> cc(*staff_commands_); cc.ok(); cc++) {
102 Staff_column *sc=get_col(cc->when,false);
103 sc->s_commands.add(cc);
130 for (PCursor<Voice*> i(voices); i.ok(); i++) {
131 l = MAX(l, i->last());
142 for (PCursor<Voice*> i(voices); i.ok(); i++) {
146 staff_commands_->print();