+
+ if (script_ && !script_->get_parent (X_AXIS))
+ {
+ extract_grob_set (info.grob (), "note-heads", heads);
+ if (heads.size())
+ {
+ Grob *head = heads[0];
+ script_->set_parent (head, X_AXIS);
+ script_->add_offset_callback (Self_alignment_interface::centered_on_parent_proc,
+ X_AXIS);
+
+ }
+ }
+
+ if (cresc_)
+ {
+ if (!cresc_->get_bound (LEFT))
+ {
+ cresc_->set_bound (LEFT, info.grob ());
+ add_bound_item (line_spanner_, cresc_->get_bound (LEFT));
+ }
+ }
+
+ if (finished_cresc_ && !finished_cresc_->get_bound (RIGHT))
+ {
+ finished_cresc_->set_bound (RIGHT, info.grob ());
+ }
+ }
+
+ else if (Script_interface::has_interface (info.grob ()) && script_)
+ {
+ SCM p = info.grob ()->get_property ("script-priority");
+
+ /*
+ UGH.
+
+ DynamicText doesn't really have a script-priority field.
+ */
+ if (scm_is_number (p)
+ && scm_to_int (p)
+ < scm_to_int (script_->get_property ("script-priority")))
+ Side_position_interface::add_support (line_spanner_, info.grob ());