#ifndef NPRINT
mtor << "Commands_at {";
tdescription_.print();
- for (PCursor<Input_command *> cc(*this); cc.ok(); cc++)
+ for (iter_top(*this,cc); cc.ok(); cc++)
cc->print();
mtor << "}\n";
#endif
Commands_at::parse(Staff_commands_at*s)
{
s->tdescription_ = tdescription_;
- for (PCursor<Input_command *> cc(*this); cc.ok(); cc++) {
+ for (iter_top(*this,cc); cc.ok(); cc++) {
if (cc->args.sz() && cc->args[0] !="") {
Command c = **cc;
s->add(c);
print();
Staff_commands*nc = new Staff_commands;
- for (PCursor<Commands_at*> i(*this); i.ok(); i++) {
+ for (iter_top(*this,i); i.ok(); i++) {
Staff_commands_at* s= nc->find(i->when());
if (!s){
Input_commands::print() const
{
#ifndef NPRINT
- for (PCursor<Commands_at*> cc(*this); cc.ok() ; cc++) {
+ for (iter_top(*this,cc); cc.ok() ; cc++) {
cc->print();
}
#endif
void
Complex_music::print() const
{
- for (PCursor<Input_music*> i(elts); i.ok(); i++)
+ for (iter_top(elts,i); i.ok(); i++)
i->print();
}
void
Complex_music::concatenate(Complex_music*h)
{
- for (PCursor<Input_music*> i(h->elts); i.ok(); i++)
+ for (iter_top(h->elts,i); i.ok(); i++)
add(i->clone());
}
Complex_music::Complex_music(Complex_music const&s)
{
- for (PCursor<Input_music*> i(s.elts); i.ok(); i++)
+ for (iter_top(s.elts,i); i.ok(); i++)
add(i->clone());
}
{
Moment l = 0.0;
- for (PCursor<Input_music*> i(elts); i.ok(); i++)
+ for (iter_top(elts,i); i.ok(); i++)
l += i->length();
return l;
}
Voice_list l;
Moment here = 0.0;
- for (PCursor<Input_music*> i(elts); i.ok(); i++) {
+ for (iter_top(elts,i); i.ok(); i++) {
Moment len = i->length();
Voice_list k(i->convert());
k.translate_time(here);
l.concatenate(k);
- here +=len;
-
+ here +=len;
}
return l;
}
void
Music_general_chord::translate_time(Moment t)
{
- for (PCursor<Input_music*> i(elts); i.ok(); i++)
+ for (iter_top(elts,i); i.ok(); i++)
i->translate_time(t);
}
{
Moment l =0.0;
- for (PCursor<Input_music*> i(elts); i.ok(); i++)
+ for (iter_top(elts,i); i.ok(); i++)
l = l >? i->length();
return l;
}
Music_general_chord::convert()
{
Voice_list l;
- for (PCursor<Input_music*> i(elts); i.ok(); i++) {
+ for (iter_top(elts,i); i.ok(); i++) {
Voice_list k(i->convert());
l.concatenate(k);
}
void
Voice_list::translate_time(Moment x)
{
- for (PCursor<Voice*> i(*this); i.ok(); i++)
+ for (iter_top(*this,i); i.ok(); i++)
i->start += x;
}
else if (type == "rhythmic")
p = new Rhythmic_staff;
- for (PCursor<Input_music*> i(music_); i.ok(); i++) {
+ for (iter_top(music_,i); i.ok(); i++) {
Voice_list vl = i->convert();
p->add(vl);
}
Input_commands commands;
- for (PCursor<Input_command*> i(score_wide); i.ok(); i++)
+ for (iter_top(score_wide,i); i.ok(); i++)
commands.add(**i);
- for (PCursor<Input_command*> i(commands_); i.ok(); i++)
+ for (iter_top(commands_,i); i.ok(); i++)
commands.add(**i);
p->staff_commands_ = commands.parse();
Input_staff::Input_staff(Input_staff&s)
{
- for (PCursor<Input_command*> i(s.commands_); i.ok(); i++)
+ for (iter_top(s.commands_,i); i.ok(); i++)
commands_.bottom().add(new Input_command(**i));
- for (PCursor<Input_music*> i(s.music_); i.ok(); i++)
+ for (iter_top(s.music_,i); i.ok(); i++)
add(i);
type = s.type;
{
#ifndef NPRINT
mtor << "Input_staff {\n";
- for (PCursor<Input_command*> i(commands_); i.ok(); i++)
+ for (iter_top(commands_,i); i.ok(); i++)
i->print();
- for (PCursor<Input_music*> i(music_); i.ok(); i++)
+ for (iter_top(music_,i); i.ok(); i++)
i->print();
mtor << "}\n";
#endif
void
Staff::add(PointerList<Voice*> &l)
{
- for (PCursor<Voice*> i(l); i.ok(); i++)
+ for (iter_top(l,i); i.ok(); i++)
voices.bottom().add(i);
}
void
Staff::clean_cols()
{
- PCursor<Staff_column *> i(cols);
+ iter_top(cols,i);
for(; i.ok(); ){
if (!i->score_column->used())
i.del();
Score_column* sc = score_->find_col(w,mus);
assert(sc->when == w);
- PCursor<Staff_column *> i(cols);
+ iter_top(cols,i);
for (; i.ok(); i++) {
if (*i->score_column > *sc) // too far
break;
void
Staff::setup_staffcols()
{
- for (PCursor<Voice*> i(voices); i.ok(); i++) {
+ for (iter_top(voices,i); i.ok(); i++) {
Moment now = i->start;
- for (PCursor<Voice_element *> ve(i->elts); ve.ok(); ve++) {
+ for (iter_top(i->elts,ve); ve.ok(); ve++) {
Staff_column *sc=get_col(now,true);
sc->add(ve);
}
}
- for (PCursor<Staff_commands_at*> cc(*staff_commands_); cc.ok(); cc++) {
+ for (iter_top(*staff_commands_,cc); cc.ok(); cc++) {
Staff_column *sc=get_col(cc->tdescription_.when,false);
sc->s_commands = cc;
sc->tdescription_ = new Time_description(cc->tdescription_);
}
- PCursor<Staff_commands_at*> cc(*staff_commands_);
- for (PCursor<Staff_column*> i(cols); i.ok(); i++) {
+ iter_top(*staff_commands_,cc);
+ for (iter_top(cols,i); i.ok(); i++) {
while ((cc+1).ok() && (cc+1)->when() < i->when())
cc++;
Staff::last() const
{
Moment l = 0.0;
- for (PCursor<Voice*> i(voices); i.ok(); i++) {
+ for (iter_top(voices,i); i.ok(); i++) {
l = l >? i->last();
}
return l;
{
#ifndef NPRINT
mtor << "Staff {\n";
- for (PCursor<Voice*> i(voices); i.ok(); i++) {
+ for (iter_top(voices,i); i.ok(); i++) {
i->print();
}
if (staff_commands_)