-
-Music*
-make_music_by_name (SCM sym)
-{
- SCM make_music_proc = ly_scheme_function ("make-music");
- SCM rv = scm_call_1 (make_music_proc, sym);
-
- /* UGH. */
- scm_gc_protect_object (rv);
- return unsmob_music (rv);
-}
-
-LY_DEFINE (ly_music_length, "ly:music-length",
- 1, 0, 0, (SCM mus),
- "Get the length of music expression @var{mus}, and return as a @code{Moment} object.")
-{
- Music *sc = unsmob_music (mus);
- SCM_ASSERT_TYPE (sc, mus, SCM_ARG1, __FUNCTION__, "music");
- return sc->get_length ().smobbed_copy ();
-}
-
-LY_DEFINE (ly_music_property,
- "ly:music-property", 2, 0, 0, (SCM mus, SCM sym),
- "Get the property @var{sym} of music expression @var{mus}.\n"
- "If @var{sym} is undefined, return @code{' ()}.\n" )
-{
- Music * sc = unsmob_music (mus);
- SCM_ASSERT_TYPE (sc, mus, SCM_ARG1, __FUNCTION__, "music");
- SCM_ASSERT_TYPE (ly_c_symbol_p (sym), sym, SCM_ARG2, __FUNCTION__, "symbol");
-
- return sc->internal_get_property (sym);
-}
-
-LY_DEFINE (ly_music_set_property, "ly:music-set-property!",
- 3, 0, 0, (SCM mus, SCM sym, SCM val),
- "Set property @var{sym} in music expression @var{mus} to @var{val}.")