- if (Item* item = dynamic_cast<Item*> (i.grob_l_))
- {
- if (Note_column::has_interface (item))
- {
- if (volta_span_p_)
- Volta_spanner::add_column (volta_span_p_,item);
- }
- if (Bar_line::has_interface (item))
- {
- if (volta_span_p_)
- Volta_spanner::add_bar (volta_span_p_, item);
- if (end_volta_span_p_)
- Volta_spanner::add_bar (end_volta_span_p_ , item);
- }
- }
- else if (Staff_symbol::has_interface (i.grob_l_))
- {
- /*
- We only want to know about a single staff: then we add to the
- support. */
- if (staff_ != SCM_EOL)
- staff_ = SCM_UNDEFINED;
-
- if (staff_ != SCM_UNDEFINED)
- staff_ = i.grob_l_->self_scm();
- }
+ if (volta_bracket_)
+ Volta_bracket_interface::add_bar (volta_bracket_, i.item ());
+ if (end_volta_bracket_)
+ Volta_bracket_interface::add_bar (end_volta_bracket_, i.item ());
+
+ if (volta_spanner_)
+ Side_position_interface::add_support (volta_spanner_, i.grob ());