source file of the GNU LilyPond music typesetter
- (c) 1997--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "gourlay-breaking.hh"
-#include <math.h> // rint
+#include <cmath> // rint
#include <cstdio>
+using namespace std;
#include "warn.hh"
#include "main.hh"
{
Array<Break_node> optimal_paths;
Link_array<Grob> all
- = pscore_->system_->columns ();
+ = pscore_->root_system ()->columns ();
Array<int> breaks = find_break_indices ();
Break_node first_node;
optimal_paths.push (first_node);
- bool ragged_right = to_boolean (pscore_->layout_->c_variable ("raggedright"));
- bool ragged_last = to_boolean (pscore_->layout_->c_variable ("raggedlast"));
+ bool ragged_right = to_boolean (pscore_->layout ()->c_variable ("raggedright"));
+ bool ragged_last = to_boolean (pscore_->layout ()->c_variable ("raggedlast"));
Real worst_force = 0.0;
for (int break_idx = 1; break_idx < breaks.size (); break_idx++)
cp.cols_ = line;
Interval line_dims
- = line_dimensions_int (pscore_->layout_, optimal_paths[start_idx].line_);
+ = line_dimensions_int (pscore_->layout (), optimal_paths[start_idx].line_);
Simple_spacer_wrapper *sp = generate_spacing_problem (line, line_dims);
bool last_line = break_idx == breaks.size () - 1;
bool ragged = ragged_right
if (be_verbose_global)
{
message (_f ("Optimal demerits: %f",
- optimal_paths.top ().demerits_) + "\n");
+ optimal_paths.top ().demerits_) + "\n");
}
if (optimal_paths.top ().demerits_ >= infinity_f)
{
Real break_penalties = 0.0;
Grob *pc = this_one.cols_.top ();
- if (pc->original_)
+ if (pc->original ())
{
SCM pen = pc->get_property ("penalty");
if (scm_is_number (pen) && fabs (scm_to_double (pen)) < 10000)
- {
- break_penalties += scm_to_double (pen);
- }
+ break_penalties += scm_to_double (pen);
}
/*
add 20000 to the demerits, so that a break penalty
of -10000 won't change the result */
- demerit = (demerit + 20000) >? 2000;
+ demerit = max ((demerit + 20000), 2000.0);
demerit *= 10;
}