X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fstaff-symbol-referencer-scheme.cc;h=f8028e424a2cec1f0f95e8deb9355d9471787c29;hb=9e781b7dc83b60a543ce218aa1a5f139f74c760f;hp=1ac308dec2eafafe38ede852b3bfd2d62d78da47;hpb=bc95f4434f760d41191341ab4508b2064eb19025;p=lilypond.git diff --git a/lily/staff-symbol-referencer-scheme.cc b/lily/staff-symbol-referencer-scheme.cc index 1ac308dec2..f8028e424a 100644 --- a/lily/staff-symbol-referencer-scheme.cc +++ b/lily/staff-symbol-referencer-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2010 Han-Wen Nienhuys + Copyright (C) 1999--2014 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -30,7 +30,7 @@ LY_DEFINE (ly_grob_staff_position, "ly:grob-staff-position", Grob *g = unsmob_grob (sg); Real pos = Staff_symbol_referencer::get_position (g); - if (fabs (rint (pos) -pos) < 1e-6) // ugh. + if (fabs (rint (pos) - pos) < 1e-6) // ugh. return scm_from_int ((int) my_round (pos)); else return scm_from_double (pos); @@ -39,7 +39,7 @@ LY_DEFINE (ly_grob_staff_position, "ly:grob-staff-position", LY_DEFINE (ly_position_on_line_p, "ly:position-on-line?", 2, 0, 0, (SCM sg, SCM spos), "Return whether @var{spos} is on a line of the staff associated" - " with the the grob @var{sg} (even on an extender line).") + " with the grob @var{sg} (even on an extender line).") { LY_ASSERT_SMOB (Grob, sg, 1); LY_ASSERT_TYPE (scm_is_number, spos, 2); @@ -71,3 +71,14 @@ LY_DEFINE (ly_staff_symbol_staff_space, "ly:staff-symbol-staff-space", Real staff_space = Staff_symbol_referencer::staff_space (g); return scm_from_double (staff_space); } + +LY_DEFINE (ly_staff_symbol_staff_radius, "ly:staff-symbol-staff-radius", + 1, 0, 0, (SCM grob), + "Returns the radius of the staff associated with" + " @var{grob}.") +{ + LY_ASSERT_SMOB (Grob, grob, 1); + Grob *g = unsmob_grob (grob); + Real staff_radius = Staff_symbol_referencer::staff_radius (g); + return scm_from_double (staff_radius); +}