/****************************************************************/
svec<Item*> select_items(PStaff*, PCol*);
+
+ /// before calc_breaking
+ void preprocess();
void calc_breaking();
/**
lines contain the broken lines.
*/
+ /// after calc_breaking
+ void postprocess();
+
/// search all pcols which are breakable.
svec<const PCol *> find_breaks() const;
#include "molecule.hh"
+#include "notehead.hh"
#include "stem.hh"
#include "linestaff.hh"
#include "rhythmstaff.hh"
void
Rhythmic_column::typeset_req(Request *rq)
{
- Item *i =new Item;
- Molecule*m=create_req_mol(rq);
- i->output=m;
+ Item *i ;
+ if (rq->note()) {
+ Notehead *n =new Notehead(1);
+ n->balltype = rq->rhythmic()->balltype;
+ n->dots = rq->rhythmic()->dots;
+ n->position = 0;
+ i = n;
+ } else if (rq->rest()) {
+ i =new Item;
+ Molecule*m=create_req_mol(rq);
+ i->output=m;
+ }
typeset_item(i);
}
Stem * s = new Stem(0);
s->minnote = s->maxnote = 0;
s->flag = rq->stem_number;
- s->calculate();
typeset_item(s);
- s->brew_molecole();
}
/*
delete paper_;
paper_ = p;
}
+
void
Score::output(String s)
{
void
Score::process()
{
- *mlog << "Processing ...";
+ *mlog << "Processing ... ";
set(commands_->parse(last()));
commands_->print();
clean_cols();
OK();
// print();
+
+ pscore_->preprocess();
*mlog << "Calculating ... ";
pscore_->calc_breaking();
+ pscore_->postprocess();
+
// TODO: calculate vertical structs
// TODO: calculate mixed structs.
*mlog << "\n";