Missing encoder pulses when changing directions

74 views
Skip to first unread message

Cole

unread,
Jul 3, 2020, 1:00:36 AM7/3/20
to MIDI2LR
Hello,

I am having an issue where changing the direction of rotation of the knobs (encoders) of my control surface, causes the first pulse to be missed by lightroom.
I am using a custom MIDI controller with the Arduino Library "Control Surface". I set the output of the controller to binary offset, and I can confirm that I receive values of 63 and 65 when turning the encoders CCW and CW respectively. I noticed that if I rotate the knobs one direction, and then change direction, the application (where I configure the knobs) instantly updates to show the correct value corresponding to the direction change. However, in Lightroom, the first step or pulse after the direction change is not received. It basically takes two clicks (detents, pulses, etc...) of the encoders to register anything in lightroom when changing directions. I was wondering if anyone else who built their own controller has this issue, or if anyone has had the issue in general (or knows a fix!)? I believe that the issue lies in how the data is sent from the application to the plugin in Lightroom, as the application correctly receives the input. I also noticed that even if I change the MIDI controller to output twos complement or sign and magnitude, the issue is still there. I tried changing the resolution settings, but that does not seem to help either. I appreciate anyone's help with this!

Thanks!
MIDI2LRinfo.txt
MIDI2LR.log

Cole

unread,
Jul 4, 2020, 2:23:35 PM7/4/20
to MIDI2LR
Update:
After looking more closely at what actually happens when changing the direction of turning the knob, I noticed that it does not miss the first pulse after a direction change. Instead it repeats the same value that was just sent. For example, if turning the exposure knob CW four times, I will receive the following values:+0.04, +0.12, +0.20, and +0.27. When I go to change directions to CCW, the value +0.27 is repeated, so: +0.27, +0.20, +0.12, +0.04. I would expect that changing direction would give the following exposure values: +0.20, +0.12, +0.04, 0.00. Repeating the value upon a direction change means that it is more difficult to adjust settings by feel. As I mentioned before, the application shows different midi values when changing direction, so I think there is an issue with the plugin, that double counts a direction change and gives the same value. Does anyone know if there is a way to edit some file to modify this behavior?

Thanks for your help!

Rory Jaffe

unread,
Jul 8, 2020, 4:59:17 PM7/8/20
to MIDI2LR
By design, it does not filter out duplicate messages, as it is hard to know whether the duplicate represents a real duplicate. For example, you could set the exposure to 0.27 by the controller, use your mouse on the interface to change the exposure to 0.30 (which updates the MIDI controller's value too, then decide you want to go back to 0.27 by using the MIDI controller. The section of the software receiving messages from the MIDI controller would see two 0.27 requests in a row, and both would be valid.
Reply all
Reply to author
Forward
0 new messages