- if (Pitch::compare (pitch_min, pitch_max) <= 0)
- {
- int staff_position = pitch_min.steps ();
- SCM c0 = get_property ("centralCPosition");
- if (gh_number_p (c0))
- staff_position += gh_scm2int (c0);
- SCM segment = scm_list_n (column_scm,
- gh_int2scm (staff_position),
- pitch_min.smobbed_copy (),
- pitch_max.smobbed_copy (),
- SCM_UNDEFINED);
- segment = scm_list_n (segment, SCM_UNDEFINED);
- columns_scm = (columns_scm != SCM_EOL) ?
- gh_append2 (columns_scm, segment) : segment;
- }
- else
- {
- /* This timestep is caused by a different voice of the same
- staff and hence should be ignored. */
- }
- }