- announce_element (Score_element_info (text_p_, dreq_l));
- announce_element (Score_element_info (staff_side_p_, dreq_l));
+ Music *stop_ev = accepted_spanreqs_drul_ [STOP] ?
+ accepted_spanreqs_drul_[STOP] : script_ev_;
+
+ if (accepted_spanreqs_drul_[STOP] || script_ev_)
+ {
+ /*
+ finish side position alignment if the (de)cresc ends here, and
+ there are no new dynamics.
+ */
+
+
+ if (cresc_)
+ {
+ assert (!finished_cresc_ && cresc_);
+
+ cresc_->set_bound (RIGHT, script_
+ ? script_
+ : unsmob_grob (get_property ("currentMusicalColumn")));
+ add_bound_item (line_spanner_, cresc_->get_bound (RIGHT));
+
+
+ finished_cresc_ = cresc_;
+ cresc_ = 0;
+ current_cresc_ev_ = 0;
+ }
+ else if (accepted_spanreqs_drul_[STOP])
+ {
+ accepted_spanreqs_drul_[STOP]->origin ()->warning (_ ("can't find start of (de)crescendo"));
+ stop_ev = 0;
+ }
+
+ }
+
+ if (accepted_spanreqs_drul_[START])
+ {
+ if (current_cresc_ev_)
+ {
+ String msg = _ ("already have a decrescendo");
+ if (current_cresc_ev_->is_mus_type ("decrescendo-event"))
+ msg = _ ("already have a crescendo");
+
+ accepted_spanreqs_drul_[START]->origin ()->warning (msg);
+ current_cresc_ev_->origin ()->warning (_("Cresc started here"));