+ Performer_group::connect_to_context (c);
+
+ Dispatcher *d = c->get_global_context ()->event_source ();
+ 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 (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 ();
+}
+
+void
+Score_performer::prepare (SCM sev)
+{
+ Stream_event *ev = unsmob<Stream_event> (sev);
+ SCM sm = ev->get_property ("moment");
+ Moment *m = unsmob<Moment> (sm);
+ audio_column_ = new Audio_column (*m);
+ announce_element (Audio_element_info (audio_column_, 0));