#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<Music_function> (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<Music_function> (x)->get_signature ();
}
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);
}
-