- p->set_staff_side (ss);
- ss->set_elt_property (script_priority_scm_sym, priority);
- if (SCM_NUMBERP (paddingprop))
- ss->set_elt_property (padding_scm_sym, paddingprop);
-
+ if (ly_dir_p (force_dir) && to_dir (force_dir))
+ p->set_grob_property ("direction", force_dir);
+ else if (to_dir (relative_stem_dir))
+ p->set_grob_property ("side-relative-direction", relative_stem_dir);
+
+
+ /*
+ FIXME: should figure this out in relation with basic props!
+ */
+ SCM axisprop = get_property ("scriptHorizontal");
+ bool xaxis = to_boolean (axisprop);
+ Side_position_interface::set_axis (p, xaxis ? X_AXIS : Y_AXIS);
+
+ if (!follow_staff && ! xaxis)
+ p->set_grob_property ("staff-support", SCM_BOOL_T);
+
+ if (!xaxis && follow_staff)
+ p->add_offset_callback (Side_position_interface::quantised_position_proc, Y_AXIS);
+
+
+ p->set_grob_property ("script-priority", gh_int2scm (priority));