stem_dir_correction (me, right_col, increment, &ideal, &min_desired_space);
Spring ret (ideal, min_dist);
- ret.set_inverse_compress_strength (max (0.0, ideal - max (min_dist, min_desired_space)));
+ ret.set_inverse_compress_strength (max (0.0, ideal - min_desired_space));
ret.set_inverse_stretch_strength (max (0.1, base_space - increment));
return ret;
}
for (vsize i = 0; i < items.size (); i++)
{
Item *it = dynamic_cast<Item *> (items[i]);
+ if (!Note_column::has_interface (it))
+ continue;
/*
don't correct if accidentals are sticking out of the right side.
Real avg_distance = 0;
Real min_distance = 0;
Real avg_stretch = 0;
+ Real avg_compress = 0;
for (vsize i = 0; i < springs.size (); i++)
{
avg_distance += springs[i].distance ();
avg_stretch += springs[i].inverse_stretch_strength ();
+ avg_compress += 1 / springs[i].inverse_compress_strength ();
min_distance = max (springs[i].min_distance (), min_distance);
}
avg_stretch /= springs.size ();
+ avg_compress /= springs.size ();
avg_distance /= springs.size ();
avg_distance = max (min_distance + 0.3, avg_distance);
Spring ret = Spring (avg_distance, min_distance);
ret.set_inverse_stretch_strength (avg_stretch);
+ ret.set_inverse_compress_strength (1 / avg_compress);
return ret;
}