- if (r->is_mus_type ("pedal-event"))
- {
- for (Pedal_info*p = info_alist_; p->name_; p ++)
- {
- String nm = p->name_ + String ("Event");
- if (ly_c_equal_p (r->get_property ("name") ,
- scm_str2symbol (nm.to_str0())))
- {
- Direction d = to_dir (r->get_property ("span-direction"));
- p->req_l_drul_[d] = r;
- return true;
- }
- }
- }
- return false;
+ Direction d = to_dir (r->get_property ("span-direction"));
+ info_alist_[SOSTENUTO].event_drul_[d] = r;
+}
+
+IMPLEMENT_TRANSLATOR_LISTENER (Piano_pedal_performer, sustain);
+void
+Piano_pedal_performer::listen_sustain (Stream_event *r)
+{
+ Direction d = to_dir (r->get_property ("span-direction"));
+ info_alist_[SUSTAIN].event_drul_[d] = r;
+}
+
+IMPLEMENT_TRANSLATOR_LISTENER (Piano_pedal_performer, una_corda);
+void
+Piano_pedal_performer::listen_una_corda (Stream_event *r)
+{
+ Direction d = to_dir (r->get_property ("span-direction"));
+ info_alist_[UNA_CORDA].event_drul_[d] = r;