-/*
- should use offset callback!
- */
-Real
-Staff_symbol_referencer_interface::callback (Dimension_cache const * c)
+ SCM_ASSERT_TYPE (g, sg, SCM_ARG1, __FUNCTION__, "grob");
+ Real pos = Staff_symbol_referencer::get_position (g);
+
+ if (fabs (rint (pos) -pos) < 1e-6) // ugh.
+ return scm_int2num ((int) my_round (pos));
+ else
+ return scm_make_real (pos);
+}
+
+
+/* should use offset callback! */
+MAKE_SCHEME_CALLBACK (Staff_symbol_referencer,callback,2);
+SCM
+Staff_symbol_referencer::callback (SCM element_smob, SCM)