- int count = (importance < 0 && options.subdivide_beams_)
- ? 1 : min (min (infos_[i].count (non_flag_dir),
+ int start_dur = intlog2(infos_[i+1].start_moment_.main_part_.den());
+ int count = (importance < 0 && options.subdivide_beams_)
+ ? max(start_dur,3)-2 // 1/8 note has one beam
+ : min (min (infos_[i].count (non_flag_dir),