Staff_walker::Staff_walker(Staff * s, PScore*ps )
: PCursor<Staff_column*> (s->cols)
{
- staff_ = s;
- pscore_ = ps;
+ staff_l_ = s;
+ pscore_l_ = ps;
break_status = BREAK_END - BREAK_PRE;
}
Staff_walker::process()
{
break_status = BREAK_END - BREAK_PRE;
- if (ptr()->staff_commands_p_)
+
+ if (ptr()->mus()) {
+ process_requests();
+ } else if (ptr()->staff_commands_p_)
for (iter_top(*ptr()->staff_commands_p_,i); i.ok(); i++) {
process_command(i);
}
-
- process_requests();
}
void
Staff_walker::operator++(int i)
{
+ do_pre_move();
PCursor<Staff_column*>::operator++(i);
- reset();
+ do_post_move();
}