X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Flistener.cc;h=4194c836184d388afb609b010f5b97ee086f4a96;hb=90d3233da87b372e02690978f89b2add3863fba6;hp=cb966adc9a9c20e5b4117b7412c7340ec0b2073a;hpb=f4abbfff5f0d985a457e15586dbcc3ae473b0dee;p=lilypond.git diff --git a/lily/listener.cc b/lily/listener.cc index cb966adc9a..4194c83618 100644 --- a/lily/listener.cc +++ b/lily/listener.cc @@ -18,9 +18,10 @@ */ #include "listener.hh" -#include "ly-smobs.icc" #include "warn.hh" +ADD_SMOB_INIT (Listener); + Listener::Listener () { target_ = 0; @@ -45,21 +46,13 @@ void Listener::listen (SCM ev) const } SCM -Listener::mark_smob (SCM sm) +Listener::mark_smob () { - Listener *me = (Listener *) SCM_CELL_WORD_1 (sm); - if (me->type_) - (me->type_->mark_callback) (me->target_); + if (type_) + (type_->mark_callback) (target_); return SCM_EOL; } -int -Listener::print_smob (SCM, SCM p, scm_print_state *) -{ - scm_puts ("#", p); - return 1; -} - SCM Listener::equal_p (SCM a, SCM b) { @@ -69,5 +62,4 @@ Listener::equal_p (SCM a, SCM b) return (*l1 == *l2) ? SCM_BOOL_T : SCM_BOOL_F; } -IMPLEMENT_SIMPLE_SMOBS (Listener); -IMPLEMENT_TYPE_P (Listener, "ly:listener?"); +const char Listener::type_p_name_[] = "ly:listener?";