From b942c76df918e68328b8220b0aa3eb47afb69f52 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sun, 2 Jul 2017 21:05:42 +0200 Subject: FP8: properly control enum+integer parameters. --- libs/surfaces/faderport8/actions.cc | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'libs/surfaces') diff --git a/libs/surfaces/faderport8/actions.cc b/libs/surfaces/faderport8/actions.cc index 212ecb14ba..a0879b1902 100644 --- a/libs/surfaces/faderport8/actions.cc +++ b/libs/surfaces/faderport8/actions.cc @@ -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)); } -- cgit v1.2.3