- if (gh_number_p (cpos))
- Staff_symbol_referencer::set_position (clef_, gh_scm2int (cpos));
-
- SCM oct = get_property ("clefOctavation");
- if (gh_number_p (oct) && gh_scm2int (oct))
- {
- Item * g = make_item ("OctavateEight");
-
- int abs_oct = gh_scm2int (oct) ;
- int dir = sign (abs_oct);
- abs_oct = abs (abs_oct) + 1;
-
- g->set_grob_property ("text",
- scm_number_to_string (gh_int2scm (abs_oct),
- SCM_MAKINUM (10)));
- Side_position_interface::add_support (g,clef_);
-
- g->set_parent (clef_, Y_AXIS);
- g->set_parent (clef_, X_AXIS);
- g->set_grob_property ("direction", scm_int2num (dir));
- octavate_ = g;
- announce_grob(octavate_, SCM_EOL);
- }
+ if (scm_is_number (cpos))
+ clef_->set_property ("staff-position", cpos);
+
+ SCM oct = get_property ("clefOctavation");
+ if (scm_is_number (oct) && scm_to_int (oct))
+ {
+ Item *g = make_item ("OctavateEight", SCM_EOL);
+
+ int abs_oct = scm_to_int (oct);
+ int dir = sign (abs_oct);
+ abs_oct = abs (abs_oct) + 1;
+
+ SCM txt = scm_number_to_string (scm_from_int (abs_oct),
+ scm_from_int (10));
+
+ g->set_property ("text",
+ scm_list_n (ly_lily_module_constant ("vcenter-markup"),
+ txt, SCM_UNDEFINED));
+ Side_position_interface::add_support (g, clef_);
+
+ g->set_parent (clef_, Y_AXIS);
+ g->set_parent (clef_, X_AXIS);
+ g->set_property ("direction", scm_from_int (dir));
+ octavate_ = g;
+ }