X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fslur.cc;h=a5e4140275710438054695c92a6bf85a82ea82e4;hb=1384ea3714bfd327c32d7bdbf3e194f5ab473d66;hp=7a0f91f9413b840e644c17ca36cb135f82ae5b5b;hpb=a2441ac8c77d09651f4418bdb96bffea43066108;p=lilypond.git diff --git a/lily/slur.cc b/lily/slur.cc index 7a0f91f941..a5e4140275 100644 --- a/lily/slur.cc +++ b/lily/slur.cc @@ -29,7 +29,7 @@ #include "cross-staff.hh" #include "group-interface.hh" #include "staff-symbol-referencer.hh" -#include "lily-guile.icc" + class Slur_bezier_bow : public Bezier_bow @@ -668,7 +668,12 @@ Slur::set_control_points () } Bezier b = bb.get_bezier (); - SCM controls = array_to_scm (b.control_); + + + SCM controls = SCM_EOL; + for (int i= 4; i--;) + controls = gh_cons ( ly_offset2scm (b.control_[i]), controls); + set_elt_property ("control-points", controls); } @@ -677,9 +682,12 @@ Bezier Slur::get_curve () const { Bezier b; - Array controls (4); - scm_to_array (get_elt_property ("control-points"), &controls); - b.control_ = controls; + int i = 0; + for (SCM s= get_elt_property ("control-points"); s != SCM_EOL; s = gh_cdr (s)) + { + b.control_[i] = ly_scm2offset (gh_car (s)); + i++; + } Array enc (get_encompass_offset_arr ()); Direction dir = directional_element (this).get ();