From: fred Date: Tue, 5 Nov 1996 19:48:50 +0000 (+0000) Subject: lilypond-0.0.8 X-Git-Tag: release/1.5.59~6887 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=7dfc57fbc4f3bc14b2d2b4c5343839db5fb4dbef;p=lilypond.git lilypond-0.0.8 --- diff --git a/pscore.hh b/pscore.hh index 58a6910bbd..91436b369e 100644 --- a/pscore.hh +++ b/pscore.hh @@ -33,6 +33,9 @@ struct PScore { /****************************************************************/ svec select_items(PStaff*, PCol*); + + /// before calc_breaking + void preprocess(); void calc_breaking(); /** @@ -43,6 +46,9 @@ struct PScore { lines contain the broken lines. */ + /// after calc_breaking + void postprocess(); + /// search all pcols which are breakable. svec find_breaks() const; diff --git a/rhythmstaff.cc b/rhythmstaff.cc index 7e2706e02d..98d17d522c 100644 --- a/rhythmstaff.cc +++ b/rhythmstaff.cc @@ -1,4 +1,5 @@ #include "molecule.hh" +#include "notehead.hh" #include "stem.hh" #include "linestaff.hh" #include "rhythmstaff.hh" @@ -28,9 +29,18 @@ Rhythmic_column::typeset_command(Command *com, int breakst) 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); } @@ -40,9 +50,7 @@ Rhythmic_column::typeset_stem(Stem_req*rq) Stem * s = new Stem(0); s->minnote = s->maxnote = 0; s->flag = rq->stem_number; - s->calculate(); typeset_item(s); - s->brew_molecole(); } /* diff --git a/score.cc b/score.cc index 097e2aa50d..1df13365f2 100644 --- a/score.cc +++ b/score.cc @@ -13,6 +13,7 @@ Score::set(Paperdef*p) delete paper_; paper_ = p; } + void Score::output(String s) { @@ -29,7 +30,7 @@ Score::output(String s) void Score::process() { - *mlog << "Processing ..."; + *mlog << "Processing ... "; set(commands_->parse(last())); commands_->print(); @@ -53,8 +54,12 @@ Score::process() clean_cols(); OK(); // print(); + + pscore_->preprocess(); *mlog << "Calculating ... "; pscore_->calc_breaking(); + pscore_->postprocess(); + // TODO: calculate vertical structs // TODO: calculate mixed structs. *mlog << "\n";