if (infos_.size () == 1)
return infos_[0].beams_i_drul_[d];
- Beaming_info thisbeam = infos_.boundary (d, 0);
- Beaming_info next = infos_.boundary (d, 1);
+ Beaming_info thisbeam = boundary (infos_, d, 0);
+ Beaming_info next = boundary (infos_, d, 1);
return min (thisbeam.beams_i_drul_[-d], next.beams_i_drul_[d]);
}
Drul_array<Beaming_info_list> splits;
int m = best_splitpoint_index (beat_length, subdivide);
bool split = subdivide && (m & at_beat); m = m & ~at_beat;
- splits[LEFT].infos_ = infos_.slice (0, m);
- splits[RIGHT].infos_ = infos_.slice (m, infos_.size ());
+ splits[LEFT].infos_ = vector<Beaming_info> (infos_.begin (),
+ infos_.begin () + m);
+ splits[RIGHT].infos_ = vector<Beaming_info> (infos_.begin () + m,
+ infos_.end ());
Direction d = LEFT;
do
splits[d].beamify (beat_length, subdivide);
- while (flip (&d) != LEFT)
- ;
+ while (flip (&d) != LEFT);
int middle_beams = (split ? 1
: min (splits[RIGHT].beam_extend_count (LEFT),
do
{
if (splits[d].infos_.size () != 1)
- splits[d].infos_.boundary (-d, 0).beams_i_drul_[-d] = middle_beams;
+ boundary (splits[d].infos_, -d, 0).beams_i_drul_[-d] = middle_beams;
}
while (flip (&d) != LEFT);
infos_ = splits[LEFT].infos_;
- infos_.concat (splits[RIGHT].infos_);
+ infos_.insert (infos_.end (), splits[RIGHT].infos_.begin (), splits[RIGHT].infos_.end ());
clip_edges ();
}