- if (p->req_l_drul_[STOP])
- {
- if (!p->start_req_l_)
- {
- p->req_l_drul_[STOP]->warning (_f ("can't find start of piano pedal: %s", String (p->name_)));
- }
- else
- {
- Audio_piano_pedal* a = new Audio_piano_pedal;
- a->type_str_ = String (p->name_);
- a->dir_ = STOP;
- audio_p_arr_.push (a);
- }
- p->start_req_l_ = 0;
- }
-
- if (p->req_l_drul_[START])
- {
- p->start_req_l_ = p->req_l_drul_[START];
- Audio_piano_pedal* a = new Audio_piano_pedal;
- a->type_str_ = String (p->name_);
- a->dir_ = START;
- audio_p_arr_.push (a);
- }
+ string pedal_type = pedal_type_str (i);
+ if (p->event_drul_[STOP])
+ {
+ if (!p->start_event_)
+ p->event_drul_[STOP]->origin ()->warning (_f ("cannot find start of piano pedal: `%s'", pedal_type));
+ else
+ {
+ Audio_piano_pedal *a = new Audio_piano_pedal;
+ a->type_string_ = pedal_type;
+ a->dir_ = STOP;
+ audios_.push_back (a);
+ Audio_element_info info (a, p->event_drul_[STOP]);
+ announce_element (info);
+ }
+ p->start_event_ = 0;
+ }
+
+ if (p->event_drul_[START])
+ {
+ p->start_event_ = p->event_drul_[START];
+ Audio_piano_pedal *a = new Audio_piano_pedal;
+ a->type_string_ = pedal_type;
+ a->dir_ = START;
+ audios_.push_back (a);
+ Audio_element_info info (a, p->event_drul_[START]);
+ announce_element (info);
+ }
+ p->event_drul_[START] = 0;
+ p->event_drul_[STOP] = 0;