(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <math.h>
+#include "tie.hh"
+
+#include <math.h>
#include "spanner.hh"
#include "lookup.hh"
-#include "paper-def.hh"
-#include "tie.hh"
+#include "output-def.hh"
#include "rhythmic-head.hh"
#include "bezier.hh"
#include "paper-column.hh"
#include "warn.hh"
#include "staff-symbol-referencer.hh"
#include "directional-element-interface.hh"
-#include "stencil.hh"
-#include "bezier-bow.hh"
+#include "bezier.hh"
#include "stem.hh"
#include "note-head.hh"
#include "tie-column.hh"
Tie::set_head (Grob*me,Direction d, Grob * h)
{
assert (!head (me,d));
- index_set_cell (me->get_grob_property ("head-pair"), d, h->self_scm ());
+ index_set_cell (me->get_property ("head-pair"), d, h->self_scm ());
dynamic_cast<Spanner*> (me)->set_bound (d, h);
me->add_dependency (h);
void
Tie::set_interface (Grob*me)
{
- me->set_grob_property ("head-pair", gh_cons (SCM_EOL, SCM_EOL));
+ me->set_property ("head-pair", scm_cons (SCM_EOL, SCM_EOL));
}
Grob*
Tie::head (Grob*me, Direction d)
{
- SCM c = me->get_grob_property ("head-pair");
+ SCM c = me->get_property ("head-pair");
- if (gh_pair_p (c))
+ if (scm_is_pair (c))
return unsmob_grob (index_get_cell (c, d));
else
return 0;
Real staff_space = Staff_symbol_referencer::staff_space (me);
- Real x_gap_f = robust_scm2double (me->get_grob_property ("x-gap"), 0);
+ Real x_gap_f = robust_scm2double (me->get_property ("x-gap"), 0);
Grob* l = me->get_bound (LEFT);
Grob* r = me->get_bound (RIGHT);
- SCM details = me->get_grob_property ("details");
+ SCM details = me->get_property ("details");
SCM lim // groetjes aan de chirurgendochter.
= scm_assq (ly_symbol2scm ("height-limit"),details);
- Real h_inf = gh_scm2double (ly_cdr (lim)) * staff_space;
- Real r_0 = gh_scm2double (ly_cdr (scm_assq (ly_symbol2scm ("ratio"),details)));
+ Real h_inf = scm_to_double (scm_cdr (lim)) * staff_space;
+ Real r_0 = scm_to_double (scm_cdr (scm_assq (ly_symbol2scm ("ratio"),details)));
Bezier b = slur_shape (width, h_inf, r_0);
*/
Real ypos = Tie::get_position (me) * staff_space/2
- + dir * gh_scm2double (me->get_grob_property ("y-offset"));;
+ + dir * scm_to_double (me->get_property ("y-offset"));;
/*
Make sure we don't start on a dots
if (Note_head::has_interface (l) && Rhythmic_head::get_dots (l))
{
Grob* dots = Rhythmic_head::get_dots (l);
- if(fabs (staff_space * Staff_symbol_referencer::get_position (dots) /2
+ if (fabs (staff_space * Staff_symbol_referencer::get_position (dots) /2
- ypos) < 0.5)
{
ypos += 0.5 * dir ;
Real diff = ry - y;
Real newy = y;
- Real clear = staff_space * gh_scm2double (me->get_grob_property ("staffline-clearance"));
+ Real clear = staff_space * scm_to_double (me->get_property ("staffline-clearance"));
if (fabs (y) <=
Staff_symbol_referencer::staff_radius (me) * staff_space + clear
SCM controls = SCM_EOL;
- for (int i= 4; i--;)
- controls = gh_cons (ly_offset2scm (b.control_[i]), controls);
+ for (int i = 4; i--;)
+ controls = scm_cons (ly_offset2scm (b.control_[i]), controls);
return controls;
}
{
Grob*me = unsmob_grob (smob);
- SCM cp = me->get_grob_property ("control-points");
- if (!gh_pair_p (cp)) // list is more accurate
+ SCM cp = me->get_property ("control-points");
+ if (!scm_is_pair (cp)) // list is more accurate
{
cp = get_control_points (smob);
- me->set_grob_property ("control-points", cp);
+ me->set_property ("control-points", cp);
}
- if (!gh_pair_p (cp))
+ if (!scm_is_pair (cp))
return Stencil ().smobbed_copy ();
Real thick
= Staff_symbol_referencer::line_thickness (me)
- * robust_scm2double (me->get_grob_property ("thickness"), 1);
+ * robust_scm2double (me->get_property ("thickness"), 1);
Bezier b;
int i = 0;
- for (SCM s= cp; s != SCM_EOL; s = ly_cdr (s))
+ for (SCM s = cp; s != SCM_EOL; s = scm_cdr (s))
{
- b.control_[i] = ly_scm2offset (ly_car (s));
+ b.control_[i] = ly_scm2offset (scm_car (s));
i++;
}