13
0

FP8: properly control enum+integer parameters.

This commit is contained in:
Robin Gareus 2017-07-02 21:05:42 +02:00
parent 7ed775a716
commit b942c76df9

View File

@ -432,6 +432,11 @@ FaderPort8::handle_encoder_link (int steps)
if (ac->desc().toggled) {
v = v > 0 ? 0. : 1.;
} else if (ac->desc().integer_step) {
v += steps / (1.f + ac->desc().upper - ac->desc().lower);
} else if (ac->desc().enumeration) {
ac->set_value (ac->desc().step_enum (ac->get_value(), steps < 0), PBD::Controllable::UseGroup);
return;
} else {
v = std::max (0.0, std::min (1.0, v + steps * .01));
}