/// distribute commands to disciples
pscore_ = new PScore(paper_);
- for (PCursor<Staff*> i(staffs_); i.ok(); i++) {
+ for (iter_top(staffs_,i); i.ok(); i++) {
i->process_commands(last());
i->set_output(pscore_);
i->process();
void
Score::clean_cols()
{
- for (PCursor<Staff * > i(staffs_); i.ok(); i++)
+ for (iter_top(staffs_,i); i.ok(); i++)
i->clean_cols();
- for (PCursor<Score_column*> c(cols_); c.ok(); ) {
+ for (iter_top(cols_,c); c.ok(); ) {
if (!c->pcol_->used()) {
c.del();
} else {
c1->musical = false;
c2->musical = true;
- PCursor<Score_column*> i(cols_);
+ iter_top(cols_,i);
for (; i.ok(); i++) {
assert(i->when != w);
PCursor<Score_column*>
Score::find_col(Moment w,bool mus)
{
- PCursor<Score_column*> i(cols_);
+ iter_top(cols_,i);
for (; i.ok(); i++) {
if (i->when == w && i->musical == mus)
return i;
void
Score::do_pcols()
{
- PCursor<Score_column*> i(cols_);
+ iter_top(cols_,i);
for (; i.ok(); i++) {
pscore_->add(i->pcol_);
}
Score::last() const
{
Moment l = 0;
- for (PCursor<Staff*> i(staffs_); i.ok(); i++) {
+ for (iter_top(staffs_,i); i.ok(); i++) {
l = l>? i->last();
}
return l;
Score::OK() const
{
#ifndef NDEBUG
- for (PCursor<Staff*> i(staffs_); i.ok(); i++) {
+ for (iter_top(staffs_,i); i.ok(); i++) {
i->OK();
assert(i->score_ == this);
}
staffs_.OK();
cols_.OK();
- for (PCursor<Score_column*> cc(cols_); cc.ok() && (cc+1).ok(); cc++) {
+ for (iter_top(cols_,cc); cc.ok() && (cc+1).ok(); cc++) {
assert(cc->when <= (cc+1)->when);
}
#endif
{
#ifndef NPRINT
mtor << "score {\n";
- for (PCursor<Staff*> i(staffs_); i.ok(); i++) {
+ for (iter_top(staffs_,i); i.ok(); i++) {
i->print();
}
- for (PCursor<Score_column*> i(cols_); i.ok(); i++) {
+ for (iter_top(cols_,i); i.ok(); i++) {
i->print();
}
if (pscore_)
stem_ = 0;
staff_ = rs;
beam_ = 0;
+ text_=0;
}
Simple_staff::Simple_staff()
BREAK: all
TYPESET: bar, meter,
-
+Scalar
*/
Simple_column::process_requests()
{
for (int i = 0 ; i < v_elts.sz(); i ++)
- for (PCursor<Request *> rqc(v_elts[i]->reqs); rqc.ok(); rqc++) {
- Request *rq= rqc;
+ for (iter_top(v_elts[i]->reqs,j); j.ok(); j++) {
+ Request *rq= j;
if (rq->rhythmic()){
- notes.add( rq->rhythmic());
+ notes.add(rq->rhythmic());
+ }
+ if (rq->script()) {
+ notes.last().scripts.add(rq->script());
}
if (rq->stem()) {
stem_ = rq->stem();
stem_requester_len = v_elts[i]->duration;
}
-
+ if (rq->text()) {
+ text_ = rq->text();
+ }
if (rq->beam()) {
beam_ = rq->beam();
}
sc.process();
}
}
-
+Note_info::Note_info()
+{
+ rq =0;
+}
+Note_info::Note_info(Rhythmic_req*r) {
+ rq = r;
+}