2 music-wrapper.cc -- implement Music_wrapper
4 source file of the GNU LilyPond music typesetter
6 (c) 1998--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
10 #include "music-wrapper.hh"
12 Music_wrapper::Music_wrapper (SCM x)
15 if (!ly_c_procedure_p (length_callback_))
16 length_callback_ = length_callback_proc;
17 if (!ly_c_procedure_p (start_callback_))
18 start_callback_ = length_callback_proc;
21 MAKE_SCHEME_CALLBACK(Music_wrapper, start_callback, 1);
23 Music_wrapper::start_callback (SCM m)
25 Music *me = unsmob_music (m);
26 Music *elt = unsmob_music (me->get_property ("element"));
27 return elt->start_mom ().smobbed_copy ();
30 MAKE_SCHEME_CALLBACK(Music_wrapper, length_callback, 1);
32 Music_wrapper::length_callback (SCM m)
34 Music * me = unsmob_music (m);
35 Music *elt = unsmob_music (me->get_property ("element"));
36 return elt->get_length ().smobbed_copy ();
40 Music_wrapper::element () const
42 return unsmob_music (get_property ("element"));
46 ADD_MUSIC (Music_wrapper);