-/*
- 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_from_int ((int) my_round (pos));
+ else
+ return scm_from_double (pos);
+}
+
+MAKE_SCHEME_CALLBACK (Staff_symbol_referencer, callback, 1);
+SCM
+Staff_symbol_referencer::callback (SCM smob)