]> git.donarmstrong.com Git - lilypond.git/commitdiff
Issue 4357/3: Run preparatory script replacing listener macros
authorDavid Kastrup <dak@gnu.org>
Mon, 27 Apr 2015 19:11:31 +0000 (21:11 +0200)
committerDavid Kastrup <dak@gnu.org>
Tue, 12 May 2015 12:25:33 +0000 (14:25 +0200)
This script is

for i in $(git grep -l 'IMPLEMENT_LISTENER (')
do
    sed -i '/IMPLEMENT_LISTENER ([^)]*$/{N;s/\n\s*/ /}' $i
    sedscript=$(git grep -h 'IMPLEMENT_LISTENER (' $i|
       sed 's|^.*IMPLEMENT_LISTENER (\([^,]*\), \([^)]*\)).*$|s/GET_LISTENER (\\([_a-z]\\+->\\)\\?\2)/\\1GET_LISTENER (\1, \2)/|')
    sed -i "$sedscript" $i
done
sed -i '/IMPLEMENT_LISTENER (/d' $(git grep -l 'IMPLEMENT_LISTENER (')
sed -i 's/DECLARE_LISTENER (\([^)]*\));\?/void \1 (SCM);/' $(git grep -l 'DECLARE_LISTENER (')

23 files changed:
lily/context.cc
lily/dispatcher.cc
lily/engraver-group.cc
lily/global-context.cc
lily/grace-engraver.cc
lily/include/context.hh
lily/include/dispatcher.hh
lily/include/engraver-group.hh
lily/include/global-context.hh
lily/include/listener.hh
lily/include/scheme-listener.hh
lily/include/score-engraver.hh
lily/include/score-performer.hh
lily/include/translator-group.hh
lily/include/translator.hh
lily/include/translator.icc
lily/lyric-combine-music-iterator.cc
lily/midi-control-function-performer.cc
lily/part-combine-iterator.cc
lily/scheme-listener.cc
lily/score-engraver.cc
lily/score-performer.cc
lily/translator-group.cc

index 9dad38f269c623a9264966ebee9d1cd381ad0357..4c0caac040c8e24644bc729e964326ee6f8cc033 100644 (file)
@@ -226,14 +226,12 @@ Context::find_create_context (SCM n, const string &id, SCM operations)
   return ret;
 }
 
-IMPLEMENT_LISTENER (Context, acknowledge_infant);
 void
 Context::acknowledge_infant (SCM sev)
 {
   infant_event_ = Stream_event::unsmob (sev);
 }
 
-IMPLEMENT_LISTENER (Context, set_property_from_event);
 void
 Context::set_property_from_event (SCM sev)
 {
@@ -257,7 +255,6 @@ Context::set_property_from_event (SCM sev)
     }
 }
 
-IMPLEMENT_LISTENER (Context, unset_property_from_event);
 void
 Context::unset_property_from_event (SCM sev)
 {
@@ -272,7 +269,6 @@ Context::unset_property_from_event (SCM sev)
   Creates a new context from a CreateContext event, and sends an
   AnnounceNewContext event to this context.
 */
-IMPLEMENT_LISTENER (Context, create_context_from_event);
 void
 Context::create_context_from_event (SCM sev)
 {
@@ -302,19 +298,19 @@ Context::create_context_from_event (SCM sev)
   /* We want to be the first ones to hear our own events. Therefore, wait
      before registering events_below_ */
   new_context->event_source ()->
-  add_listener (GET_LISTENER (new_context->create_context_from_event),
+  add_listener (new_context->GET_LISTENER (Context, create_context_from_event),
                 ly_symbol2scm ("CreateContext"));
   new_context->event_source ()->
-  add_listener (GET_LISTENER (new_context->remove_context),
+  add_listener (new_context->GET_LISTENER (Context, remove_context),
                 ly_symbol2scm ("RemoveContext"));
   new_context->event_source ()->
-  add_listener (GET_LISTENER (new_context->change_parent),
+  add_listener (new_context->GET_LISTENER (Context, change_parent),
                 ly_symbol2scm ("ChangeParent"));
   new_context->event_source ()->
-  add_listener (GET_LISTENER (new_context->set_property_from_event),
+  add_listener (new_context->GET_LISTENER (Context, set_property_from_event),
                 ly_symbol2scm ("SetProperty"));
   new_context->event_source ()->
-  add_listener (GET_LISTENER (new_context->unset_property_from_event),
+  add_listener (new_context->GET_LISTENER (Context, unset_property_from_event),
                 ly_symbol2scm ("UnsetProperty"));
 
   new_context->events_below_->register_as_listener (new_context->event_source_);
@@ -362,7 +358,7 @@ Context::create_context (Context_def *cdef,
   /* TODO: This is fairly misplaced. We can fix this when we have taken out all
      iterator specific stuff from the Context class */
   event_source_->
-  add_listener (GET_LISTENER (acknowledge_infant),
+  add_listener (GET_LISTENER (Context, acknowledge_infant),
                 ly_symbol2scm ("AnnounceNewContext"));
   /* The CreateContext creates a new context, and sends an announcement of the
      new context through another event. That event will be stored in
@@ -372,7 +368,7 @@ Context::create_context (Context_def *cdef,
                      ly_symbol2scm ("type"), cdef->get_context_name (),
                      ly_symbol2scm ("id"), ly_string2scm (id));
   event_source_->
-  remove_listener (GET_LISTENER (acknowledge_infant),
+  remove_listener (GET_LISTENER (Context, acknowledge_infant),
                    ly_symbol2scm ("AnnounceNewContext"));
 
   assert (infant_event_);
@@ -551,7 +547,6 @@ Context::unset_property (SCM sym)
   properties_dict ()->remove (sym);
 }
 
-IMPLEMENT_LISTENER (Context, change_parent);
 void
 Context::change_parent (SCM sev)
 {
@@ -565,7 +560,6 @@ Context::change_parent (SCM sev)
 /*
   Die. The next GC sweep should take care of the actual death.
  */
-IMPLEMENT_LISTENER (Context, remove_context);
 void
 Context::remove_context (SCM)
 {
index a394a4b7a80e0bd6017d3eca5e865e8fb8e442d4..2d18b393add9b159711cdcf8e65934e66afb3ab7 100644 (file)
@@ -72,7 +72,6 @@ Event dispatching:
   combination of dispatchers, even if it matches more than one event
   type.
 */
-IMPLEMENT_LISTENER (Dispatcher, dispatch);
 void
 Dispatcher::dispatch (SCM sev)
 {
@@ -230,7 +229,7 @@ Dispatcher::internal_add_listener (Listener l, SCM ev_class, int priority)
         {
           int priority = scm_to_int (scm_cdar (disp));
           Dispatcher *d = Dispatcher::unsmob (scm_caar (disp));
-          d->internal_add_listener (GET_LISTENER (dispatch), ev_class, priority);
+          d->internal_add_listener (GET_LISTENER (Dispatcher, dispatch), ev_class, priority);
         }
       listen_classes_ = scm_cons (ev_class, listen_classes_);
     }
@@ -275,7 +274,7 @@ Dispatcher::remove_listener (Listener l, SCM ev_class)
       for (SCM disp = dispatchers_; scm_is_pair (disp); disp = scm_cdr (disp))
         {
           Dispatcher *d = Dispatcher::unsmob (scm_caar (disp));
-          d->remove_listener (GET_LISTENER (dispatch), ev_class);
+          d->remove_listener (GET_LISTENER (Dispatcher, dispatch), ev_class);
         }
       listen_classes_ = scm_delq_x (ev_class, listen_classes_);
     }
@@ -300,7 +299,7 @@ Dispatcher::register_as_listener (Dispatcher *disp)
 
   dispatchers_ = scm_acons (disp->self_scm (), scm_from_int (priority), dispatchers_);
 
-  Listener list = GET_LISTENER (dispatch);
+  Listener list = GET_LISTENER (Dispatcher, dispatch);
   for (SCM cl = listen_classes_; scm_is_pair (cl); cl = scm_cdr (cl))
     {
       disp->internal_add_listener (list, scm_car (cl), priority);
@@ -313,7 +312,7 @@ Dispatcher::unregister_as_listener (Dispatcher *disp)
 {
   dispatchers_ = scm_assq_remove_x (dispatchers_, disp->self_scm ());
 
-  Listener listener = GET_LISTENER (dispatch);
+  Listener listener = GET_LISTENER (Dispatcher, dispatch);
   for (SCM cl = listen_classes_; scm_is_pair (cl); cl = scm_cdr (cl))
     {
       disp->remove_listener (listener, scm_car (cl));
index 50009bd53d7af0c19d3c28cc7ae2aa7041295013..b7de6e9e77ac67cbcda0bb2a21079362a4b044c2 100644 (file)
@@ -26,7 +26,6 @@
 #include "translator-dispatch-list.hh"
 #include "warn.hh"
 
-IMPLEMENT_LISTENER (Engraver_group, override);
 void
 Engraver_group::override (SCM sev)
 {
@@ -37,7 +36,6 @@ Engraver_group::override (SCM sev)
            ev->get_property ("value"));
 }
 
-IMPLEMENT_LISTENER (Engraver_group, revert);
 void
 Engraver_group::revert (SCM sev)
 {
@@ -51,15 +49,15 @@ void
 Engraver_group::connect_to_context (Context *c)
 {
   Translator_group::connect_to_context (c);
-  c->event_source ()->add_listener (GET_LISTENER (override), ly_symbol2scm ("Override"));
-  c->event_source ()->add_listener (GET_LISTENER (revert), ly_symbol2scm ("Revert"));
+  c->event_source ()->add_listener (GET_LISTENER (Engraver_group, override), ly_symbol2scm ("Override"));
+  c->event_source ()->add_listener (GET_LISTENER (Engraver_group, revert), ly_symbol2scm ("Revert"));
 }
 
 void
 Engraver_group::disconnect_from_context ()
 {
-  context ()->event_source ()->remove_listener (GET_LISTENER (override), ly_symbol2scm ("Override"));
-  context ()->event_source ()->remove_listener (GET_LISTENER (revert), ly_symbol2scm ("Revert"));
+  context ()->event_source ()->remove_listener (GET_LISTENER (Engraver_group, override), ly_symbol2scm ("Override"));
+  context ()->event_source ()->remove_listener (GET_LISTENER (Engraver_group, revert), ly_symbol2scm ("Revert"));
   Translator_group::disconnect_from_context ();
 }
 
index 5e940a670d161959d191fbe133f4bbc211b6cbe3..9125a7e07ef2e53796e6246aa82c2fae454c4da9 100644 (file)
@@ -42,7 +42,7 @@ Global_context::Global_context (Output_def *o)
   /* We only need the most basic stuff to bootstrap the context tree */
   event_source ()->add_listener (GET_LISTENER (create_context_from_event),
                                  ly_symbol2scm ("CreateContext"));
-  event_source ()->add_listener (GET_LISTENER (prepare),
+  event_source ()->add_listener (GET_LISTENER (Global_context, prepare),
                                  ly_symbol2scm ("Prepare"));
   events_below ()->register_as_listener (event_source_);
 
@@ -88,7 +88,6 @@ Global_context::get_moments_left () const
   return extra_mom_pq_.size ();
 }
 
-IMPLEMENT_LISTENER (Global_context, prepare);
 void
 Global_context::prepare (SCM sev)
 {
index 4249a922a4addc0988973c757bf72d9d144048d7..42b6742dbc7274d0c33c6581fdab38ebfc856561 100644 (file)
@@ -38,7 +38,7 @@ protected:
   virtual void finalize ();
 
   TRANSLATOR_DECLARATIONS (Grace_engraver);
-  DECLARE_LISTENER (grace_change);
+  void grace_change (SCM);
 };
 
 Grace_engraver::Grace_engraver ()
@@ -48,7 +48,6 @@ Grace_engraver::Grace_engraver ()
 }
 
 // The iterator should usually come before process_music
-IMPLEMENT_LISTENER (Grace_engraver, grace_change);
 void
 Grace_engraver::grace_change (SCM)
 {
@@ -139,7 +138,7 @@ Grace_engraver::consider_change_grace_settings ()
   if (last_moment_ == Rational (-1))
     {
       Dispatcher *d = context ()->event_source ();
-      d->add_listener (GET_LISTENER (grace_change), ly_symbol2scm ("GraceChange"));
+      d->add_listener (GET_LISTENER (Grace_engraver, grace_change), ly_symbol2scm ("GraceChange"));
     }
   last_moment_ = now;
 }
@@ -150,7 +149,7 @@ Grace_engraver::finalize ()
   if (last_moment_ != Rational (-1))
     {
       Dispatcher *d = context ()->event_source ();
-      d->remove_listener (GET_LISTENER (grace_change), ly_symbol2scm ("GraceChange"));
+      d->remove_listener (GET_LISTENER (Grace_engraver, grace_change), ly_symbol2scm ("GraceChange"));
     }
 }
 
index dc13314277be9541b4f9ceac41084edbc00b7cf5..62c77017bf7a6e4aaab4a43ed7e89f535931ac2f 100644 (file)
@@ -79,8 +79,8 @@ protected:
   // UGH! initialises implementation_
   friend SCM ly_make_global_translator (SCM);
 
-  DECLARE_LISTENER (set_property_from_event);
-  DECLARE_LISTENER (unset_property_from_event);
+  void set_property_from_event (SCM);
+  void unset_property_from_event (SCM);
 
 public:
   string id_string () const { return id_string_; }
@@ -109,10 +109,10 @@ public:
   void internal_set_property (SCM var_sym, SCM value);
 
   Context *create_context (Context_def *, const string&, SCM);
-  DECLARE_LISTENER (create_context_from_event);
-  DECLARE_LISTENER (acknowledge_infant);
-  DECLARE_LISTENER (remove_context);
-  DECLARE_LISTENER (change_parent);
+  void create_context_from_event (SCM);
+  void acknowledge_infant (SCM);
+  void remove_context (SCM);
+  void change_parent (SCM);
   void disconnect_from_parent ();
   void check_removal ();
   string context_name () const;
index f4fe9156bcde77d5fe72a58029c6db17dc052468..5ce2081d97aeb2c1c9e84e898cf118463d227e5e 100644 (file)
@@ -38,7 +38,7 @@ private:
      (dist . priority) pair. */
   SCM dispatchers_;
   SCM listen_classes_;
-  DECLARE_LISTENER (dispatch);
+  void dispatch (SCM);
   /* priority counter. Listeners with low priority receive events
      first. */
   int priority_count_;
index bbb759b1ace6acbe03220b82087f934a619f0803..ec7c8f330dc708ef0a23a6bd128016b6aefafd33 100644 (file)
@@ -28,8 +28,8 @@ class Engraver_group : public Translator_group
 protected:
   vector<Grob_info> announce_infos_;
   Drul_array<SCM> acknowledge_hash_table_drul_;
-  DECLARE_LISTENER (override);
-  DECLARE_LISTENER (revert);
+  void override (SCM);
+  void revert (SCM);
 public:
   DECLARE_CLASSNAME (Engraver_group);
   Engraver_group ();
index 49436bcf87b04277b1bf8afa52d86d24c0bf4f44..e5dbc82deb06d0744d87e4920acb8a7317cddf23 100644 (file)
@@ -42,7 +42,7 @@ public:
   void apply_finalizations ();
   void add_finalization (SCM);
 
-  DECLARE_LISTENER (prepare);
+  void prepare (SCM);
   virtual SCM get_output ();
   virtual Output_def *get_output_def () const;
   virtual Moment now_mom () const;
index 3652a271b9b67dc66c60bbad3f2b48b1fb307653..24407e2939f1dc2859ca3949c2c161bda886563a 100644 (file)
@@ -30,7 +30,7 @@
   - declare the method using the DECLARE_LISTENER macro.
   class Foo
   {
-    DECLARE_LISTENER (method);
+    void method (SCM);
     ...
   };
   This macro declares the method to take a SCM as parameter, and to
@@ -38,7 +38,6 @@
     touched.
 
   - implement the method using IMPLEMENT_LISTENER:
-  IMPLEMENT_LISTENER (Foo, method)
   void method (SCM e)
   {
     write ("Foo hears an event!");
@@ -51,7 +50,7 @@
 
   Foo *foo = (...);
   Stream_distributor *d = (...);
-  Listener l = GET_LISTENER (foo->method);
+  Listener l = foo->GET_LISTENER (Foo, method);
   d->register_listener (l, "EventClass");
 
   Whenever d hears a stream-event ev of class "EventClass",
index f7d8eac8b5c579eb1e10179f04205e133d8de2c4..fecc95d5085a638bed262c3d58ef2cc1f7d790cf 100644 (file)
@@ -33,7 +33,7 @@ public:
   SCM mark_smob ();
   virtual ~Scheme_listener ();
   Scheme_listener (SCM callback);
-  DECLARE_LISTENER (call);
+  void call (SCM);
 private:
   SCM callback_;
 };
index b52f589f933993d7662474970d31e88643d5d2a3..9b7927ddab680a6be67089e4d0a85f6f193e35e3 100644 (file)
@@ -32,9 +32,9 @@ class Score_engraver : public Engraver_group
   void typeset_all ();
 
 protected:
-  DECLARE_LISTENER (finish);
-  DECLARE_LISTENER (prepare);
-  DECLARE_LISTENER (one_time_step);
+  void finish (SCM);
+  void prepare (SCM);
+  void one_time_step (SCM);
 
   /* Engraver_group_engraver interface */
   virtual void connect_to_context (Context *);
index b97c6736889eb6fe7249bbd92a1a95f0ee1efa1d..5830953aff5a0b22d8a5960688c107014c5bc842 100644 (file)
@@ -37,9 +37,9 @@ public:
   Score_performer ();
 
 protected:
-  DECLARE_LISTENER (finish);
-  DECLARE_LISTENER (prepare);
-  DECLARE_LISTENER (one_time_step);
+  void finish (SCM);
+  void prepare (SCM);
+  void one_time_step (SCM);
 
   /* Engraver_group_engraver interface */
   virtual void connect_to_context (Context *);
index 068a3bbcaed438dfc2037e76e6395968f9bfeb21..97906c1602da196ab31a84162e59153a447809aa 100644 (file)
@@ -64,7 +64,7 @@ private:
 
   SCM protected_events_;
 
-  DECLARE_LISTENER (create_child_translator);
+  void create_child_translator (SCM);
 
 public:
   DECLARE_CLASSNAME (Translator_group);
index d089f78d037239cb7a23f1006aa3874f0675be01..54a7f318f77d32c921c82faeec431a69f6deac63 100644 (file)
@@ -87,7 +87,7 @@ inline void listen_ ## m (Stream_event *);              \
 static void _internal_declare_ ## m ();                 \
 private:                                                \
  static Listener _get_ ## m ## _listener (void *, SCM); \
-DECLARE_LISTENER (_listen_scm_ ## m);
+void _listen_scm_ ## m (SCM);
 
 #define DECLARE_ACKNOWLEDGER(x) public : void acknowledge_ ## x (Grob_info); protected:
 #define DECLARE_END_ACKNOWLEDGER(x) public : void acknowledge_end_ ## x (Grob_info); protected:
index 9f4def39e08712c86975a0f3ea2234aff6d6c8bd..087fb4da19f4ed30345d884efe4fcb1189c7758c 100644 (file)
@@ -146,10 +146,9 @@ Listener                                                \
 {                                                       \
   cl *obj = (cl *) me;                                  \
   (void) unused; \
-  return obj->GET_LISTENER (_listen_scm_ ## m);         \
+  return obj->GET_LISTENER (cl, _listen_scm_ ## m);         \
 }                                                       \
                                                         \
-IMPLEMENT_LISTENER (cl, _listen_scm_ ## m)              \
 void                                                    \
 cl::_listen_scm_ ## m (SCM sev)                         \
 {                                                       \
index 031e6aabf09f4dc6ace693623bc11adcb8b40cc9..d0b31c4963ee94986fb09021f758d409d13babbc 100644 (file)
@@ -59,8 +59,8 @@ protected:
 private:
   bool start_new_syllable () const;
   Context *find_voice ();
-  DECLARE_LISTENER (set_busy);
-  DECLARE_LISTENER (check_new_context);
+  void set_busy (SCM);
+  void check_new_context (SCM);
 
   bool music_found_;
   bool lyrics_found_;
@@ -93,7 +93,6 @@ Lyric_combine_music_iterator::Lyric_combine_music_iterator ()
   associatedVoice switching, this routine may be triggered for
   the wrong music_context_
  */
-IMPLEMENT_LISTENER (Lyric_combine_music_iterator, set_busy)
 void
 Lyric_combine_music_iterator::set_busy (SCM se)
 {
@@ -113,13 +112,13 @@ Lyric_combine_music_iterator::set_music_context (Context *to)
   if (music_context_)
     {
       music_context_->events_below ()->
-      remove_listener (GET_LISTENER (set_busy), ly_symbol2scm ("rhythmic-event"));
+      remove_listener (GET_LISTENER (Lyric_combine_music_iterator, set_busy), ly_symbol2scm ("rhythmic-event"));
     }
 
   music_context_ = to;
   if (to)
     {
-      to->events_below ()->add_listener (GET_LISTENER (set_busy),
+      to->events_below ()->add_listener (GET_LISTENER (Lyric_combine_music_iterator, set_busy),
                                          ly_symbol2scm ("rhythmic-event"));
     }
 }
@@ -218,7 +217,7 @@ Lyric_combine_music_iterator::construct_children ()
     delayed when voices are created implicitly.
   */
   Global_context *g = get_outlet ()->get_global_context ();
-  g->events_below ()->add_listener (GET_LISTENER (check_new_context), ly_symbol2scm ("CreateContext"));
+  g->events_below ()->add_listener (GET_LISTENER (Lyric_combine_music_iterator, check_new_context), ly_symbol2scm ("CreateContext"));
 
   /*
     We do not create a Lyrics context, because the user might
@@ -227,7 +226,6 @@ Lyric_combine_music_iterator::construct_children ()
   */
 }
 
-IMPLEMENT_LISTENER (Lyric_combine_music_iterator, check_new_context)
 void
 Lyric_combine_music_iterator::check_new_context (SCM /*sev*/)
 {
index 0a02668c305a724f787095e2ba9ce8639a52c471..c35286c1eba8960e78c983b64b0839407ebf40fc 100644 (file)
@@ -39,7 +39,7 @@ class Midi_control_function_performer : public Performer
 {
 public:
   TRANSLATOR_DECLARATIONS (Midi_control_function_performer);
-  DECLARE_LISTENER (announce_function_value_change);
+  void announce_function_value_change (SCM);
   ~Midi_control_function_performer ();
 
   void connect_to_context (Context *c);
@@ -58,7 +58,7 @@ void
 Midi_control_function_performer::connect_to_context (Context *c)
 {
   c->events_below ()->
-    add_listener (GET_LISTENER (announce_function_value_change),
+    add_listener (GET_LISTENER (Midi_control_function_performer, announce_function_value_change),
                   ly_symbol2scm ("SetProperty"));
 }
 
@@ -66,12 +66,10 @@ void
 Midi_control_function_performer::disconnect_from_context (Context *c)
 {
   c->events_below ()->
-    remove_listener (GET_LISTENER (announce_function_value_change),
+    remove_listener (GET_LISTENER (Midi_control_function_performer, announce_function_value_change),
                      ly_symbol2scm ("SetProperty"));
 }
 
-IMPLEMENT_LISTENER (Midi_control_function_performer,
-                    announce_function_value_change)
 void
 Midi_control_function_performer::announce_function_value_change (SCM sev)
 {
index f84e70cc9ac00bcf903ccf42cb9797fb64e6d8ac..a96306d0847a3644c8d9c715d45cb6c129605522 100644 (file)
@@ -54,7 +54,7 @@ protected:
 
 private:
   /* used by try_process */
-  DECLARE_LISTENER (set_busy);
+  void set_busy (SCM);
   bool busy_;
   bool notice_busy_;
 
@@ -123,7 +123,7 @@ Part_combine_iterator::do_quit ()
     {
       Context *c = handles_[i].get_context ();
       if (c->is_alias (ly_symbol2scm ("Voice")))
-        c->event_source ()->remove_listener (GET_LISTENER (set_busy), ly_symbol2scm ("music-event"));
+        c->event_source ()->remove_listener (GET_LISTENER (Part_combine_iterator, set_busy), ly_symbol2scm ("music-event"));
       handles_[i].set_context (0);
     }
 }
@@ -322,7 +322,7 @@ Part_combine_iterator::construct_children ()
       c = c->find_create_context (type, outlet_names_[i], SCM_EOL);
       handles_[i].set_context (c);
       if (c->is_alias (ly_symbol2scm ("Voice")))
-        c->event_source ()->add_listener (GET_LISTENER (set_busy), ly_symbol2scm ("music-event"));
+        c->event_source ()->add_listener (GET_LISTENER (Part_combine_iterator, set_busy), ly_symbol2scm ("music-event"));
     }
 
   SCM lst = get_music ()->get_property ("elements");
@@ -336,7 +336,6 @@ Part_combine_iterator::construct_children ()
   set_context (shared);
 }
 
-IMPLEMENT_LISTENER (Part_combine_iterator, set_busy);
 void
 Part_combine_iterator::set_busy (SCM se)
 {
index 9df6960bdf0e2af166ba7e764b28874caf20045b..32c3dd1e6373d743c8e23a6aae950855ca6c2f2e 100644 (file)
@@ -19,7 +19,6 @@
 
 #include "scheme-listener.hh"
 
-IMPLEMENT_LISTENER (Scheme_listener, call)
 void
 Scheme_listener::call (SCM ev)
 {
index 08f7b9c460ef410928df82bc1ff428d005e12a6e..0415d5e4a1c72c6a6be52019b2553474b501358f 100644 (file)
@@ -49,14 +49,12 @@ Score_engraver::derived_mark () const
   Engraver_group::derived_mark ();
 }
 
-IMPLEMENT_LISTENER (Score_engraver, prepare);
 void
 Score_engraver::prepare (SCM)
 {
   precomputed_recurse_over_translators (context (), START_TRANSLATION_TIMESTEP, DOWN);
 }
 
-IMPLEMENT_LISTENER (Score_engraver, finish);
 void
 Score_engraver::finish (SCM)
 {
@@ -105,9 +103,9 @@ Score_engraver::connect_to_context (Context *c)
   Engraver_group::connect_to_context (c);
 
   Dispatcher *d = c->get_global_context ()->event_source ();
-  d->add_listener (GET_LISTENER (one_time_step), ly_symbol2scm ("OneTimeStep"));
-  d->add_listener (GET_LISTENER (prepare), ly_symbol2scm ("Prepare"));
-  d->add_listener (GET_LISTENER (finish), ly_symbol2scm ("Finish"));
+  d->add_listener (GET_LISTENER (Score_engraver, one_time_step), ly_symbol2scm ("OneTimeStep"));
+  d->add_listener (GET_LISTENER (Score_engraver, prepare), ly_symbol2scm ("Prepare"));
+  d->add_listener (GET_LISTENER (Score_engraver, finish), ly_symbol2scm ("Finish"));
 }
 
 /*
@@ -128,9 +126,9 @@ void
 Score_engraver::disconnect_from_context ()
 {
   Dispatcher *d = context ()->get_global_context ()->event_source ();
-  d->remove_listener (GET_LISTENER (one_time_step), ly_symbol2scm ("OneTimeStep"));
-  d->remove_listener (GET_LISTENER (prepare), ly_symbol2scm ("Prepare"));
-  d->remove_listener (GET_LISTENER (finish), ly_symbol2scm ("Finish"));
+  d->remove_listener (GET_LISTENER (Score_engraver, one_time_step), ly_symbol2scm ("OneTimeStep"));
+  d->remove_listener (GET_LISTENER (Score_engraver, prepare), ly_symbol2scm ("Prepare"));
+  d->remove_listener (GET_LISTENER (Score_engraver, finish), ly_symbol2scm ("Finish"));
 
   Engraver_group::disconnect_from_context ();
 }
@@ -143,7 +141,6 @@ Score_engraver::finalize ()
   typeset_all ();
 }
 
-IMPLEMENT_LISTENER (Score_engraver, one_time_step);
 void
 Score_engraver::one_time_step (SCM)
 {
index 7546cbd6307eba6ade23b91e93ddebe5a6afddda..0d0aa457a7e9b837138ba9f880b9ca8b70acbf30 100644 (file)
@@ -86,23 +86,22 @@ Score_performer::connect_to_context (Context *c)
   Performer_group::connect_to_context (c);
 
   Dispatcher *d = c->get_global_context ()->event_source ();
-  d->add_listener (GET_LISTENER (one_time_step), ly_symbol2scm ("OneTimeStep"));
-  d->add_listener (GET_LISTENER (prepare), ly_symbol2scm ("Prepare"));
-  d->add_listener (GET_LISTENER (finish), ly_symbol2scm ("Finish"));
+  d->add_listener (GET_LISTENER (Score_performer, one_time_step), ly_symbol2scm ("OneTimeStep"));
+  d->add_listener (GET_LISTENER (Score_performer, prepare), ly_symbol2scm ("Prepare"));
+  d->add_listener (GET_LISTENER (Score_performer, finish), ly_symbol2scm ("Finish"));
 }
 
 void
 Score_performer::disconnect_from_context ()
 {
   Dispatcher *d = context ()->get_global_context ()->event_source ();
-  d->remove_listener (GET_LISTENER (one_time_step), ly_symbol2scm ("OneTimeStep"));
-  d->remove_listener (GET_LISTENER (prepare), ly_symbol2scm ("Prepare"));
-  d->remove_listener (GET_LISTENER (finish), ly_symbol2scm ("Finish"));
+  d->remove_listener (GET_LISTENER (Score_performer, one_time_step), ly_symbol2scm ("OneTimeStep"));
+  d->remove_listener (GET_LISTENER (Score_performer, prepare), ly_symbol2scm ("Prepare"));
+  d->remove_listener (GET_LISTENER (Score_performer, finish), ly_symbol2scm ("Finish"));
 
   Performer_group::disconnect_from_context ();
 }
 
-IMPLEMENT_LISTENER (Score_performer, prepare);
 void
 Score_performer::prepare (SCM sev)
 {
@@ -114,7 +113,6 @@ Score_performer::prepare (SCM sev)
   precomputed_recurse_over_translators (context (), START_TRANSLATION_TIMESTEP, UP);
 }
 
-IMPLEMENT_LISTENER (Score_performer, finish);
 void
 Score_performer::finish (SCM)
 {
@@ -127,7 +125,6 @@ Score_performer::finish (SCM)
                             UP);
 }
 
-IMPLEMENT_LISTENER (Score_performer, one_time_step);
 void
 Score_performer::one_time_step (SCM)
 {
index df3eb6456549e79ad14f57946610c49edc6081b4..24f1efaae94ed35758ef85ab36c96d6591ce04d8 100644 (file)
@@ -58,7 +58,7 @@ Translator_group::connect_to_context (Context *c)
     }
 
   context_ = c;
-  c->event_source ()->add_listener (GET_LISTENER (create_child_translator),
+  c->event_source ()->add_listener (GET_LISTENER (Translator_group, create_child_translator),
                                     ly_symbol2scm ("AnnounceNewContext"));
   for (SCM tr_list = simple_trans_list_; scm_is_pair (tr_list); tr_list = scm_cdr (tr_list))
     {
@@ -75,7 +75,7 @@ Translator_group::disconnect_from_context ()
       Translator *tr = Translator::unsmob (scm_car (tr_list));
       tr->disconnect_from_context (context_);
     }
-  context_->event_source ()->remove_listener (GET_LISTENER (create_child_translator),
+  context_->event_source ()->remove_listener (GET_LISTENER (Translator_group, create_child_translator),
                                               ly_symbol2scm ("AnnounceNewContext"));
   context_ = 0;
   protected_events_ = SCM_EOL;
@@ -145,7 +145,6 @@ Translator_group::protect_event (SCM ev)
   Create a new translator for a newly created child context. Triggered
   by AnnounceNewContext events.
  */
-IMPLEMENT_LISTENER (Translator_group, create_child_translator);
 void
 Translator_group::create_child_translator (SCM sev)
 {