4 #include "staffwalker.hh"
9 #include "musicalrequest.hh"
10 #include "commandrequest.hh" // todo
11 #include "midistream.hh"
14 Staff::add(PointerList<Voice*> const &l)
16 for (iter_top(l,i); i.ok(); i++)
17 voice_list_.bottom().add(i);
23 return score_l_->paper_p_;
31 if (!i->musical_column_l_->used_b())
32 i->musical_column_l_ = 0;
33 if (!i->command_column_l_->used_b())
34 i->command_column_l_ =0;
36 if (!i->command_column_l_&& !i->musical_column_l_)
44 Staff::get_col(Moment w, PCursor<Staff_column*> *last)
47 if (last && last->ok() && (*last)->when() <= w)
55 } else if (i->when() > w)
60 PCursor<Score_column*> sccols(score_l_->find_col(w, false));
61 Staff_column* stcol_p = new Staff_column;
62 stcol_p->staff_l_ = this;
63 Score_column* comcol_l = sccols++;
64 stcol_p->set_cols(comcol_l, sccols);
67 cols_.bottom().add( stcol_p);
79 put all stuff grouped vertically in the Staff_cols.
80 Do the preprarations for walking the cols. not virtual
83 Staff::setup_staffcols()
85 for (iter_top(voice_list_,i); i.ok(); i++) {
86 PCursor<Staff_column*> last(cols_);
87 Moment now = i->start;
88 for (iter_top(i->elts,j); j.ok(); j++) {
90 Staff_column *s_l= get_col(now, &last);
91 assert(now == s_l->when());
109 for (; i.ok(); j++,i++) {
110 assert(j->when () < i->when() );
121 for (iter_top(voice_list_,i); i.ok(); i++) {
132 for (iter_top(voice_list_,i); i.ok(); i++) {