X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fpaper-score.cc;h=8dfbc38939b4f1c8a57ed4d1137d6adf88045a2f;hb=9f3572d98bb948c9689cd1f75401a029451fa001;hp=028fb37a146e080a988ef63756fb50176054d3f6;hpb=04265f11d1f21416ccebd2dcaa1d903dc781b36e;p=lilypond.git diff --git a/lily/paper-score.cc b/lily/paper-score.cc index 028fb37a14..8dfbc38939 100644 --- a/lily/paper-score.cc +++ b/lily/paper-score.cc @@ -10,6 +10,7 @@ #include "all-font-metrics.hh" #include "book.hh" +#include "gourlay-breaking.hh" #include "international.hh" #include "main.hh" #include "misc.hh" @@ -74,41 +75,33 @@ Paper_score::find_break_indices () const retval.push_back (i); } - cols_ = all; - break_indices_ = retval; - return retval; } -vector -Paper_score::get_break_indices () const -{ - if (break_indices_.empty ()) - find_break_indices (); - return break_indices_; -} - -vector -Paper_score::get_columns () const -{ - if (cols_.empty ()) - find_break_indices (); - return cols_; -} vector Paper_score::calc_breaking () { - Constrained_breaking algorithm (this); + Break_algorithm *algorithm = 0; vector sol; message (_ ("Calculating line breaks...") + " "); int system_count = robust_scm2int (layout ()->c_variable ("system-count"), 0); if (system_count) - algorithm.resize (system_count); - - return algorithm.solve (); + { + Constrained_breaking *b = new Constrained_breaking; + b->resize (system_count); + algorithm = b; + } + else + algorithm = new Gourlay_breaking; + + algorithm->set_pscore (this); + sol = algorithm->solve (); + delete algorithm; + + return sol; } void