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())
32 i->musical_column_l_ = 0;
33 if (!i->command_column_l_->used())
34 i->command_column_l_ =0;
36 if (!i->command_column_l_&& !i->musical_column_l_)
44 // Staff::midi_track_p()
46 // Midi_track_p midi_track_p = new Midi_track;
47 // Midi_walker( *this );
51 Staff::get_col(Moment w, PCursor<Staff_column*> *last)
54 if (last && last->ok() && (*last)->when() <= w)
62 } else if (i->when() > w)
67 PCursor<Score_column*> sccols(score_l_->find_col(w, false));
68 Staff_column* stcol_p = create_col();
70 Score_column* comcol_l = sccols++;
71 stcol_p->set_cols(comcol_l, sccols);
74 cols.bottom().add( stcol_p);
86 put all stuff grouped vertically in the Staff_cols.
87 Do the preprarations for walking the cols. not virtual
90 Staff::setup_staffcols()
92 for (iter_top(voice_list_,i); i.ok(); i++) {
93 PCursor<Staff_column*> last(cols);
94 Moment now = i->start;
95 for (iter_top(i->elts,j); j.ok(); j++) {
97 Staff_column *s_l= get_col(now, &last);
98 assert(now == s_l->when());
102 // get_col(now,last);
116 for (; i.ok(); j++,i++) {
117 assert(j->when () < i->when() );
128 for (iter_top(voice_list_,i); i.ok(); i++) {
139 for (iter_top(voice_list_,i); i.ok(); i++) {