+ span_dynamic_ = new Audio_span_dynamic ();
+ announce_element (Audio_element_info (span_dynamic_, span_events_[START]));
+
+ span_dynamic_->grow_dir_ = grow_dir_[START];
+ }
+
+ if (script_event_
+ || span_dynamic_
+ || finished_span_dynamic_)
+ {
+ absolute_ = new Audio_dynamic ();
+
+ if (script_event_)
+ {
+ SCM proc = get_property ("dynamicAbsoluteVolumeFunction");
+
+ SCM svolume = SCM_EOL;
+ if (ly_is_procedure (proc))
+ {
+ // urg
+ svolume = scm_call_1 (proc, script_event_->get_property ("text"));
+ }
+
+ Real volume = robust_scm2double (svolume, 0.5);
+
+ last_volume_
+ = absolute_->volume_ = equalize_volume (volume);
+ }