- Drul_array<Item *> bound (me->get_bound (LEFT),
- me->get_bound (RIGHT));
-
- Real gap = robust_scm2double (me->get_property ("gap"), 0.0);
-
- Offset ofxy (gap, 0); /* offset from start point to start of line */
- Offset dxy;
- Offset my_off;
- Offset his_off;
-
- Real extra_dy = robust_scm2double (me->get_property ("extra-dy"),
- 0.0);
-
- if (bound[RIGHT]->break_status_dir ())
- {
- if (bound[LEFT]->break_status_dir ())
- {
- programming_error ("line-spanner with two broken ends. Farewell sweet world.");
-
- me->suicide ();
- return SCM_EOL;
- }
-
- /*
- This is hairy. For the normal case, we simply find common
- parents, and draw a line between the bounds. When two note
- heads are on different systems, there is no common parent
- anymore. We have to find the piano-staff object.
- */
-
- Spanner *next_sp = me->broken_neighbor (RIGHT);
- Item *next_bound = next_sp->get_bound (RIGHT);
-
- if (next_bound->break_status_dir ())
- {
- programming_error ("no note heads for the line spanner on next line?"
- " Confused.");
- me->suicide ();
- return SCM_EOL;
- }
-
- Grob *commonx = bound[LEFT]->common_refpoint (bound[RIGHT], X_AXIS);
- commonx = me->common_refpoint (commonx, X_AXIS);
+ Interval_t<Moment> moments = me->spanned_time ();
+ /*
+ We remove the line at the start of the line. For piano voice
+ indicators, it makes no sense to have them at the start of the
+ line.