source file of the GNU LilyPond music typesetter
- (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
const int at_beat = 1<<15;
int
-Beaming_info_list::best_splitpoint_index (Moment &beat_length,bool subdivide) const
+Beaming_info_list::best_splitpoint_index (Moment &beat_length, bool subdivide) const
{
int minden = infinity_i;
int minidx = -1;
Moment beat_pos;
- for (int i=1; i < infos_.size (); i++)
+ for (int i =1; i < infos_.size (); i++)
{
beat_pos = infos_[i].start_mom_ / beat_length;
int den = beat_pos.den ();
if (infos_[i].beams_i_drul_[LEFT] == infos_[i-1].beams_i_drul_[RIGHT] && !subdivide)
- den *= 4;
+ den *= 2;
if (den < minden)
{
minidx = i;
}
}
- return minidx|(minden==1 && subdivide ? at_beat : 0);
+ return minidx|(minden ==1 && subdivide ? at_beat : 0);
}
int
}
void
-Beaming_info_list::beamify (Moment &beat_length,bool subdivide)
+Beaming_info_list::beamify (Moment &beat_length, bool subdivide)
{
if (infos_.size () <= 1)
return;
Drul_array<Beaming_info_list> splits;
- int m = best_splitpoint_index (beat_length,subdivide);
+ 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[LEFT].infos_ = infos_.slice (0, m);
splits[RIGHT].infos_ = infos_.slice (m, infos_.size ());
Direction d = LEFT;
do
{
- splits[d].beamify (beat_length,subdivide);
+ splits[d].beamify (beat_length, subdivide);
}
while (flip (&d) != LEFT);
do
{
if (splits[d].infos_.size () != 1)
- {
- splits[d].infos_.boundary (-d, 0).beams_i_drul_[-d] = middle_beams;
- }
+ splits[d].infos_.boundary (-d, 0).beams_i_drul_[-d] = middle_beams;
}
while (flip (&d) != LEFT);