- if (ac->is_gain_like()) {
- /* 128 steps from fader position 0 to 1.0 ..
- */
- const double new_fader_position = min (1.0, max (0.0, ac->internal_to_interface (ac->get_value()) + ((1.0 / 128.0) * delta)));
- ac->set_value (ac->interface_to_internal (new_fader_position), PBD::Controllable::UseGroup);
- } else {
- /* 128 steps from min to max */
- ac->set_value (ac->get_value() + (((ac->upper() - ac->lower()) / 128.0) * delta) , PBD::Controllable::UseGroup);
- }
+ ac->set_value (ac->interface_to_internal (
+ min (ac->upper(), max (ac->lower(), ac->internal_to_interface (ac->get_value()) + (delta/256.0)))),
+ PBD::Controllable::UseGroup);