summaryrefslogtreecommitdiff
path: root/libs/surfaces/generic_midi/midicontrollable.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/surfaces/generic_midi/midicontrollable.cc')
-rw-r--r--libs/surfaces/generic_midi/midicontrollable.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/libs/surfaces/generic_midi/midicontrollable.cc b/libs/surfaces/generic_midi/midicontrollable.cc
index 08f90165bc..204332fc4b 100644
--- a/libs/surfaces/generic_midi/midicontrollable.cc
+++ b/libs/surfaces/generic_midi/midicontrollable.cc
@@ -182,6 +182,10 @@ MIDIControllable::midi_sense_note (Parser &p, EventTwoBytes *msg, bool is_on)
void
MIDIControllable::midi_sense_controller (Parser &, EventTwoBytes *msg)
{
+ if (controllable.touching()) {
+ return; // to prevent feedback fights when e.g. dragging a UI slider
+ }
+
if (control_additional == msg->controller_number) {
if (!bistate) {
controllable.set_value (midi_to_control(msg->value));