Move ambitus print callback to scheme.
[lilypond/mpolesky.git] / lily / scheme-listener-scheme.cc
blob7b4f6991a3551d829a88aa1ee7e8da1cb6362f92
1 /*
2 scheme-listener-scheme.cc -- Connect listeners to Scheme through Scheme_listener
4 source file of the GNU LilyPond music typesetter
6 (c) 2006--2009 Erik Sandberg <mandolaerik@gmail.com>
7 */
9 #include "scheme-listener.hh"
11 LY_DEFINE (ly_make_listener, "ly:make-listener",
12 1, 0, 0, (SCM callback),
13 "Create a listener. Any time the listener hears an object,"
14 " it will call @var{callback} with that object.\n"
15 "\n"
16 "@var{callback} should take exactly one argument.")
18 LY_ASSERT_TYPE (ly_is_procedure, callback, 1);
19 Scheme_listener *l = new Scheme_listener (callback);
20 SCM listener = GET_LISTENER (l->call).smobbed_copy ();
21 l->unprotect ();
22 return listener;