X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fmoment-scheme.cc;h=831ace9215512d7e7f163698dc3cae3c0b95ee6d;hb=a7f82e4dc22fc6219a9fe0f6874f8c91e3f31f24;hp=865431c6da63b9f84bfd7135c324c1355d31eaea;hpb=58bcc84c9480dae1b21bc24d8396b91fe19e0131;p=lilypond.git diff --git a/lily/moment-scheme.cc b/lily/moment-scheme.cc index 865431c6da..831ace9215 100644 --- a/lily/moment-scheme.cc +++ b/lily/moment-scheme.cc @@ -61,7 +61,7 @@ LY_DEFINE (ly_mul_moment, "ly:mul-moment", Moment *mb = unsmob_moment (b); SCM_ASSERT_TYPE (ma, a, SCM_ARG1, __FUNCTION__, "moment"); SCM_ASSERT_TYPE (mb, b, SCM_ARG2, __FUNCTION__, "moment"); - return (*ma * *mb).smobbed_copy (); + return (*ma * * mb).smobbed_copy (); } LY_DEFINE (ly_div_moment, "ly:div-moment", @@ -72,9 +72,40 @@ LY_DEFINE (ly_div_moment, "ly:div-moment", Moment *mb = unsmob_moment (b); SCM_ASSERT_TYPE (ma, a, SCM_ARG1, __FUNCTION__, "moment"); SCM_ASSERT_TYPE (mb, b, SCM_ARG2, __FUNCTION__, "moment"); - return (*ma / *mb).smobbed_copy (); + return (*ma / * mb).smobbed_copy (); } +LY_DEFINE (ly_mod_moment, "ly:mod-moment", + 2, 0, 0, (SCM a, SCM b), + "Modulo of two moments.") +{ + Moment *ma = unsmob_moment (a); + Moment *mb = unsmob_moment (b); + SCM_ASSERT_TYPE (ma, a, SCM_ARG1, __FUNCTION__, "moment"); + SCM_ASSERT_TYPE (mb, b, SCM_ARG2, __FUNCTION__, "moment"); + return (*ma % * mb).smobbed_copy (); +} + + +LY_DEFINE (ly_moment_grace_numerator, "ly:moment-grace-numerator", + 1, 0, 0, (SCM mom), + "Extract numerator from grace timing.") +{ + Moment *ma = unsmob_moment (mom); + SCM_ASSERT_TYPE (ma, mom, SCM_ARG1, __FUNCTION__, "moment"); + + return scm_from_int (ma->grace_part_.numerator ()); +} + +LY_DEFINE (ly_moment_grace_denominator, "ly:moment-grace-denominator", + 1, 0, 0, (SCM mom), + "Extract denominator from grace timing.") +{ + Moment *ma = unsmob_moment (mom); + SCM_ASSERT_TYPE (ma, mom, SCM_ARG1, __FUNCTION__, "moment"); + + return scm_from_int (ma->grace_part_.denominator ()); +} LY_DEFINE (ly_moment_main_numerator, "ly:moment-main-numerator", 1, 0, 0, (SCM mom), "Extract numerator from main timing.")