X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fmusic-function-scheme.cc;h=5246b6dbe6282c3dc0e67e41c74611d3a49e9d5c;hb=90e4d7057f3857da049dfda3d130017d4719bd6b;hp=93c7e0fbc4773cbc121ca45779b1c71db26c8c96;hpb=0c61221b46addec50e2406e04af44a7d460443d4;p=lilypond.git diff --git a/lily/music-function-scheme.cc b/lily/music-function-scheme.cc index 93c7e0fbc4..5246b6dbe6 100644 --- a/lily/music-function-scheme.cc +++ b/lily/music-function-scheme.cc @@ -1,19 +1,21 @@ #include "music-function.hh" -LY_DEFINE (ly_music_function_p, "ly:music-function?", 1, 0, 0, +LY_DEFINE (ly_music_function_extract, "ly:music-function-extract", 1, 0, 0, (SCM x), - "Is @var{x} a @code{music-function}?") + "Return the Scheme function inside@tie{}@var{x}.") { - return is_music_function (x) ? SCM_BOOL_T : SCM_BOOL_F; + LY_ASSERT_SMOB (Music_function, x, 1); + + return unsmob (x)->get_function (); } -LY_DEFINE (ly_music_function_extract, "ly:music-function-extract", 1, 0, 0, +LY_DEFINE (ly_music_function_signature, "ly:music-function-signature", 1, 0, 0, (SCM x), - "Return the Scheme function inside@tie{}@var{x}.") + "Return the function signature inside@tie{}@var{x}.") { - LY_ASSERT_TYPE (is_music_function, x, 1); + LY_ASSERT_SMOB (Music_function, x, 1); - return SCM_CELL_OBJECT_1 (x); + return unsmob (x)->get_signature (); } LY_DEFINE (ly_make_music_function, "ly:make-music-function", 2, 0, 0, @@ -39,6 +41,5 @@ LY_DEFINE (ly_make_music_function, "ly:make-music-function", 2, 0, 0, } } - return make_music_function (signature, func); + return Music_function::make_smob (signature, func); } -