- Real sym_width = symbol_stencil (me, 0.0).extent (X_AXIS).length ();
-
- for (int i=0; i < 4; i++)
+ Grob *spacing = unsmob<Grob> (li->get_object ("spacing"));
+ if (!spacing)
+ spacing = unsmob<Grob> (ri->get_object ("spacing"));
+ if (spacing)
+ {
+ Spacing_options options;
+ options.init_from_grob (me);
+ Moment mlen = robust_scm2moment (li->get_property ("measure-length"),
+ Moment (1));
+ length += robust_scm2double (li->get_property ("full-measure-extra-space"), 0.0)
+ + options.get_duration_space (mlen.main_part_)
+ + (robust_scm2double (me->get_property ("space-increment"), 0.0)
+ * log_2 (robust_scm2int (me->get_property ("measure-count"), 1)));
+ }
+
+ length += 2 * robust_scm2double (me->get_property ("bound-padding"), 0.0);
+
+ Real minlen = robust_scm2double (me->get_property ("minimum-length"), 0.0);
+
+ Item *combinations[4][2] = {{li, ri},
+ {lb, ri},
+ {li, rb},
+ {lb, rb}
+ };
+
+ for (int i = 0; i < 4; i++)