From 37906d067e44927e6ad575ff8a757a8837fbb4cf Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 19 Dec 2012 01:28:41 +0000 Subject: [PATCH] feedback for toggled MIDI controls now sends 0 or 127, not various in-between values (should fix #5117, without any bad side-effects git-svn-id: svn://localhost/ardour2/branches/3.0@13680 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/surfaces/generic_midi/midicontrollable.cc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libs/surfaces/generic_midi/midicontrollable.cc b/libs/surfaces/generic_midi/midicontrollable.cc index 96d2c1772c..71021e9c84 100644 --- a/libs/surfaces/generic_midi/midicontrollable.cc +++ b/libs/surfaces/generic_midi/midicontrollable.cc @@ -163,6 +163,14 @@ MIDIControllable::control_to_midi (float val) float control_max = controllable->upper (); const float control_range = control_max - control_min; + if (controllable->is_toggle()) { + if (val >= (control_min + (control_range/2.0f))) { + return max_value_for_type(); + } else { + return 0; + } + } + return (val - control_min) / control_range * max_value_for_type (); }