- /*
- also set distances in case the left or right ending of the rest is
- a broken column. This is very common: it happens if the rest is in
- the beginning of the line, or at the end.
-
- TODO: merge this code with other discretionary handling code.
-
- TODO: calc mmrest_x_minimum (see brew_molecule_p ())
- */
-
- Drul_array<Item*> discretionaries;
- Direction d = LEFT;
- do
- {
- Item *i = r.item_l_drul_[d]->find_prebroken_piece (-d);
- discretionaries[d] = i;
- if (i)
- {
- Rod k (r);
-
- k.item_l_drul_[d] = i;
- a.push (k);
- }
- }
- while ((flip (&d))!= LEFT);
-
- if (discretionaries[LEFT] && discretionaries[RIGHT])
+ Item* combinations[4][2]={{l,r}, {lb,r}, {l,rb},{lb,rb}};
+ Real staff_space = Staff_symbol_referencer::staff_space (me);
+ for (int i=0; i < 4; i++)