config.make.
2005-11-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * stepmake/aclocal.m4: oops. Include $CONFIGFILE.make, not
+ config.make.
+
* Documentation/user/lilypond.tely: remove musedata2ly entry.
2005-11-16 Jürgen Reuter <reuter@ipd.uka.de>
Chris Sawer
Darius Blasband
Donald Axel
+Eduardo Vieira
Erlend Aasland
Matevž Jekovec
Michael Welsh Duggan
Milan Zamazal
+Ralph Little
Scott Russell
Thomas Bushnell BSG
Trevor Bača
Tie_details const &details);
void final_shape_adjustment (Tie_configuration &conf,
Tie_formatting_problem const&,
- Grob *staff_referencer,
- Tie_details const &details);
+ Grob *staff_referencer);
void
set_chord_outlines (Drul_array< Array<Skyline_entry> > *skyline_drul,
Link_array<Grob> ties,
#include "skyline.hh"
#include "lily-proto.hh"
+
+struct Tie_details
+{
+ Real height_limit_;
+ Real ratio_;
+ Real staff_space_;
+ Real x_gap_;
+ Real between_length_limit_;
+
+ Tie_details ();
+ void from_grob (Grob *);
+};
+
class Tie_formatting_problem
{
Drul_array< Array<Skyline_entry> > chord_outlines_;
Grob *x_refpoint_;
+public:
+ Tie_details details_;
+
public:
Tie_formatting_problem ();
-struct Tie_details
-{
- Real height_limit_;
- Real ratio_;
- Real staff_space_;
- Real x_gap_;
- Real between_length_limit_;
-
- Tie_details ();
- void init (Grob *);
-};
class Tie_configuration
{
static int get_position (Grob *);
static Direction get_default_dir (Grob *);
static void get_configuration (Grob *, Tie_configuration *,
- Tie_formatting_problem const &,
- Tie_details const &
- );
+ Tie_formatting_problem const &);
static void set_control_points (Grob *, Grob *,
Tie_configuration const&,
Tie_details const&);
Tie_formatting_problem problem;
problem.from_lv_ties (lv_ties);
- Tie_details details;
- details.init (lv_ties[0]);
-
/*
Calculate final width and shape of the ties.
*/
for (int i = 0; i < lv_ties.size(); i++)
{
final_shape_adjustment (ties_config.ties_[i],
- problem,
- lv_ties[0],
- details);
+ problem, lv_ties[0]);
}
/*
*/
if (!manual_override)
{
- shift_small_ties (&ties_config, lv_ties[0], details);
+ shift_small_ties (&ties_config, lv_ties[0], problem.details_);
}
for (int i = 0; i < lv_ties.size(); i++)
{
Tie::set_control_points (lv_ties[i], problem.common_x_refpoint (), ties_config.ties_[i],
- details );
+ problem.details_);
set_grob_direction (lv_ties[i], ties_config.ties_[i].dir_);
}
void
final_shape_adjustment (Tie_configuration &conf,
Tie_formatting_problem const &problem,
- Grob *staff_referencer,
- Tie_details const &details)
+ Grob *staff_referencer)
{
+ Tie_details const &details (problem.details_);
Real line_dy = 0.0;
bool on_line = Staff_symbol_referencer::on_staffline (staff_referencer,
int (rint (conf.position_)));
Tie_formatting_problem problem;
problem.from_ties (ties);
- Tie_details details;
- details.init (ties[0]);
-
/*
Let the ties flow out, according to our single-tie formatting.
*/
if (!manual_override)
{
Tie::get_configuration (ties[0], &ties_config.ties_.elem_ref (0),
- problem,
- details);
+ problem);
Tie::get_configuration (ties.top (),
&ties_config.ties_.elem_ref (ties_config.ties_.size()-1),
- problem,
- details
- );
+ problem);
}
/*
final_shape_adjustment (ties_config.ties_[i],
problem,
- ties[0],
- details);
+ ties[0]);
}
*/
if (!manual_override)
{
- shift_small_ties (&ties_config, ties[0], details);
+ shift_small_ties (&ties_config, ties[0], problem.details_);
}
for (int i = 0; i < ties.size(); i++)
{
Tie::set_control_points (ties[i], problem.common_x_refpoint (), ties_config.ties_[i],
- details
- );
+ problem.details_);
set_grob_direction (ties[i], ties_config.ties_[i].dir_);
}
return SCM_BOOL_T;
ties.push (tie);
from_ties (ties);
+
+ details_.from_grob (tie);
}
Grob *
return;
x_refpoint_ = ties[0];
+ details_.from_grob (ties[0]);
for (int i = 0; i < ties.size (); i++)
{
x_refpoint_ = dynamic_cast<Spanner*> (ties[i])->get_bound (LEFT)->common_refpoint (x_refpoint_, X_AXIS);
if (lv_ties.is_empty ())
return ;
+ details_.from_grob (lv_ties[0]);
Link_array<Item> heads;
for (int i = 0; i < lv_ties.size (); i++)
{
*/
-
#include "tie.hh"
#include "bezier.hh"
#include "grob.hh"
#include "staff-symbol-referencer.hh"
#include "warn.hh"
+#include "tie-formatting-problem.hh"
int
Tie_configuration::compare (Tie_configuration const &a,
void
-Tie_details::init (Grob *me)
+Tie_details::from_grob (Grob *me)
{
staff_space_ = Staff_symbol_referencer::staff_space (me);
SCM details = me->get_property ("details");
void
Tie::get_configuration (Grob *me_grob,
Tie_configuration *conf,
- Tie_formatting_problem const &problem,
- Tie_details const &details
- )
+ Tie_formatting_problem const &problem)
{
Spanner *me = dynamic_cast<Spanner*> (me_grob);
if (!head (me, LEFT) && !head (me, RIGHT))
if (!conf->dir_)
conf->dir_ = get_default_dir (me);
- Real staff_space = details.staff_space_;
+ Real staff_space = problem.details_.staff_space_;
bool in_between = true;
Real gap = robust_scm2double (me->get_property ("x-gap"), 0.2);
if (!skylines)
conf->attachment_x_ = get_default_attachments (me, common, gap,
&conf->position_,
- &in_between, details);
+ &in_between, problem.details_);
#endif
Real y = staff_space * 0.5 * conf->position_;
conf->attachment_x_ = problem.get_attachment (y);
}
Bezier b = slur_shape (conf->attachment_x_.length(),
- details.height_limit_,
- details.ratio_);
+ problem.details_.height_limit_,
+ problem.details_.ratio_);
b.scale (1, conf->dir_);
Offset middle = b.curve_point (0.5);
conf->attachment_x_ = problem.get_attachment (y);
conf->attachment_x_.widen (-gap);
Bezier b = slur_shape (conf->attachment_x_.length(),
- details.height_limit_,
- details.ratio_);
+ problem.details_.height_limit_,
+ problem.details_.ratio_);
Offset middle = b.curve_point (0.5);
Offset edge = b.curve_point (0.0);
dy = fabs (middle[Y_AXIS] - edge[Y_AXIS]);
conf->attachment_x_.widen (-gap);
Bezier b = slur_shape (conf->attachment_x_.length(),
- details.height_limit_,
- details.ratio_);
+ problem.details_.height_limit_,
+ problem.details_.ratio_);
Offset middle = b.curve_point (0.5);
Offset edge = b.curve_point (0.0);
dy = fabs (middle[Y_AXIS] - edge[Y_AXIS]);
/*
vertically center in space.
*/
- conf->center_tie_vertically (details);
+ conf->center_tie_vertically (problem.details_);
}
else
{
int tie_position = (int) Tie::get_position (me);
conf.position_ = tie_position;
- Tie_details details;
- details.init (me);
-
Tie_formatting_problem problem;
problem.from_tie (me);
- get_configuration (me, &conf, problem, details);
+ get_configuration (me, &conf, problem);
set_control_points (me, problem.common_x_refpoint (),
- conf, details);
+ conf, problem.details_);
}
void
define_blacker_pixels (solfa_pen_thick);
+solfa_whole_width := 1.8;
+solfa_half_width := 1.35;
+solfa_quarter_width := 1.35;
+
+
def draw_do_head (expr width_factor, dir) =
save p_in, p_out;
save left_dist, right_dist;
fet_beginchar ("Whole dohead", "s0do");
- draw_do_head (1.8, 1);
+ draw_do_head (solfa_whole_width, 1);
fill p_out;
unfill p_in;
fet_endchar;
fet_beginchar ("Half dohead", "d1do");
- draw_do_head (1.5, -1);
+ draw_do_head (solfa_half_width, -1);
fill p_out;
unfill p_in;
fet_endchar;
fet_beginchar ("Half dohead", "u1do");
- draw_do_head (1.5, 1);
+ draw_do_head (solfa_half_width, 1);
fill p_out;
unfill p_in;
fet_endchar;
fet_beginchar ("Quart dohead", "d2do");
- draw_do_head (1.55, -1);
+ draw_do_head (solfa_quarter_width, -1);
fill p_out;
fet_endchar;
fet_beginchar ("Quart dohead", "u2do");
- draw_do_head (1.55, 1);
+ draw_do_head (solfa_quarter_width, 1);
fill p_out;
fet_endchar;
fet_beginchar ("Whole rehead", "s0re");
- draw_re_head (1.8, 1);
+ draw_re_head (solfa_whole_width, 1);
fill p_out;
unfill p_in;
fet_endchar;
fet_beginchar ("Half up rehead", "u1re");
- draw_re_head (1.5, 1);
+ draw_re_head (solfa_half_width, 1);
fill p_out;
unfill p_in;
fet_endchar;
fet_beginchar ("Half down rehead", "d1re");
- draw_re_head (1.5, -1);
+ draw_re_head (solfa_half_width, -1);
fill p_out;
unfill p_in;
fet_endchar;
fet_beginchar ("Quart rehead", "u2re");
- draw_re_head (1.55, 1);
+ draw_re_head (solfa_quarter_width, 1);
fill p_out;
fet_endchar;
fet_beginchar ("Quart rehead", "d2re");
- draw_re_head (1.55, -1);
+ draw_re_head (solfa_quarter_width, -1);
fill p_out;
fet_endchar;
fet_beginchar ("Whole mihead", "s0mi");
- draw_mi_head (1.8);
+ draw_mi_head (solfa_whole_width);
fill path_out;
unfill path_in;
fet_endchar;
fet_beginchar ("Whole fa up head", "u0fa");
- draw_fa_head (1.8);
+ draw_fa_head (solfa_whole_width);
fill p_up_out;
unfill p_up_in;
fet_endchar;
fet_beginchar ("Whole fa down head", "d0fa");
- draw_fa_head (1.8);
+ draw_fa_head (solfa_whole_width);
fill p_down_out;
unfill p_down_in;
fet_endchar;
fet_beginchar ("half fa up head", "u1fa");
- draw_fa_head (1.5);
+ draw_fa_head (solfa_half_width);
fill p_up_out;
unfill p_up_in;
fet_endchar;
fet_beginchar ("Half fa down head", "d1fa");
- draw_fa_head (1.5);
+ draw_fa_head (solfa_half_width);
fill p_down_out;
unfill p_down_in;
fet_endchar;
fet_beginchar ("Quarter fa up head", "u2fa");
- draw_fa_head (1.55);
+ draw_fa_head (solfa_quarter_width);
fill p_up_out;
fet_endchar;
fet_beginchar ("Quarter fa down head", "d2fa");
- draw_fa_head (1.55);
+ draw_fa_head (solfa_quarter_width);
fill p_down_out;
fet_endchar;
fet_beginchar ("Whole lahead", "s0la");
- draw_la_head (1.8);
+ draw_la_head (solfa_whole_width);
fill p_out;
unfill p_in;
fet_endchar;
fet_beginchar ("Half lahead", "s1la");
- draw_la_head (1.5);
+ draw_la_head (solfa_half_width);
fill p_out;
unfill p_in;
fet_endchar;
fet_beginchar ("Quart lahead", "s2la");
- draw_la_head (1.55);
+ draw_la_head (solfa_quarter_width);
fill p_out;
fet_endchar;
fet_beginchar ("Whole up tihead", "s0ti");
- draw_ti_head (1.8, 1);
+ draw_ti_head (solfa_whole_width, 1);
fill p_out;
unfill p_in;
fet_endchar;
fet_beginchar ("Half up tihead", "u1ti");
- draw_ti_head (1.5, 1);
+ draw_ti_head (solfa_half_width, 1);
fill p_out;
unfill p_in;
fet_endchar;
fet_beginchar ("Half down tihead", "d1ti");
- draw_ti_head (1.5, -1);
+ draw_ti_head (solfa_half_width, -1);
fill p_out;
unfill p_in;
fet_endchar;
fet_beginchar ("Quart up tihead", "u2ti");
- draw_ti_head (1.55, 1);
+ draw_ti_head (solfa_quarter_width, 1);
fill p_out;
fet_endchar;
fet_beginchar ("Quart down tihead", "d2ti");
- draw_ti_head (1.55, -1);
+ draw_ti_head (solfa_quarter_width, -1);
fill p_out;
fet_endchar;
mkdir -p $(dirname $mf)
cat <<EOF | $PYTHON - > $mf
print 'depth=' + ('../' * ( $d-1 ) )
-print 'include \$(depth)/config.make'
+print 'include \$(depth)/$CONFIGFILE.make'
print 'include \$(configure-srcdir)/$mf'
EOF
done
for mf in `cd $srcdir ; find -maxdepth $d -mindepth $d -name '*.make' | grep -v config.make `; do
mkdir -p $(dirname $mf)
cat <<EOF | $PYTHON - > $mf
-print 'include \$(depth)/config.make'
+print 'include \$(depth)/$CONFIGFILE.make'
print 'include \$(configure-srcdir)/$mf'
EOF
done