helgoboss / helgobox

Helgobox: ReaLearn & Playtime
https://www.helgoboss.org/projects/helgobox
GNU General Public License v3.0
207 stars 20 forks source link

Performance issues when mapping action "View: Move edit cursor (MIDI CC/OSC only - relative recommended)" to jog wheel #575

Open knochenhans opened 2 years ago

knochenhans commented 2 years ago

Hi, I mapped the action "View: Move edit cursor (MIDI CC/OSC only - relative recommended)" to a jog wheel and this seems to create a performance issue: When I move the wheel the cursor still moves for a noticeable time even after I stopped physically moving it, I guess because of buffered action calls still being processed. In contrast, when I map this function to the controller via REAPER’s regular learning feature for actions, the reaction is instant.

helgoboss commented 2 years ago

@knochenhans I just tried this in multiple fashions and couldn't reproduce the issue (macOS here).

Relative:

Absolute:

I need more info and a minimal example project (without 3rd-party plug-ins). Thanks.

knochenhans commented 2 years ago

Hi, thanks for looking into this. It seems this is only an issue with the jog wheels of a specific controller I'm using (https://support.hercules.com/en/product/djcontrolmp3e2-en/). The problem doesn't occur with another jog wheel or with regular endless encoders I tried. I don't think it's a hardware or driver issue though, as the specific jog wheel this is about works fine when using Reapers internal learn function.

Not sure if this helps in that case but here is a minimal example including the mapping to copy into ReaLearn: minimal project and MIDI logs.zip The ReaLearn instance is in the first track's FX chain,

I tested this in a freshly installed portable Reaper installation with ReaLearn 2.13.0-pre.6. Seems this problem is related to project contents, at least to a degree: it's barely noticeable in an empty test project but after adding a couple of empty tracks with empty MIDI items (as I did in the test project), moving the jog wheel left and right quickly for a couple of times builds up a noticeable lag in the movement of the editor cursor. Using relative mode for the target makes this even more pronounced.

I also did some logging with ReaControlMIDI for the jog wheels of the two devices mentioned above (one showing this issue, the other not) maybe this helps somehow. You'll find the logs in the 2 txt files in the zip. What I noticed is the jog wheel showing the issue sends these "GP Slider 2 LSB" messages which I haven't seen before. That being said, my knowledge about MIDI internals is limited...