+ for (vsize i = 0; i < cols.size (); i++)
+ {
+ Grob *stem = unsmob_grob (cols[i]->get_object ("stem"));
+ if (!stem)
+ continue;
+
+ if (to_boolean (stem->get_property ("cross-staff")))
+ return SCM_BOOL_T;
+
+ Grob *stem_staff = Staff_symbol_referencer::get_staff_symbol (stem);
+ if (staff_symbol && (stem_staff != staff_symbol))
+ return SCM_BOOL_T;
+ staff_symbol = stem_staff;
+ }
+ return SCM_BOOL_F;
+}
+
+ADD_INTERFACE (Tuplet_bracket,
+ "A bracket with a number in the middle, used for tuplets."
+ " When the bracket spans a line break, the value of"
+ " @code{break-overshoot} determines how far it extends"
+ " beyond the staff. At a line break, the markups in the"
+ " @code{edge-text} are printed at the edges.",