-
-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feedback for Out-Of-Range=Min (bank select buttons) not working anymore in 2.10.0 pre-2 #396
Comments
If you could offer a test project with recorded MIDI that is routed to ReaLearn, it would be immensely helpful. Very low on time at the moment, so any preliminary work on bug author side much appreciated. Thanks! |
Tried a bit. Can't reproduce. Definitely going to need some test project. |
Hi Benjamin, I will try to create a test project, also for the other issue. Not sure when I have time. |
Test project attached. Tested with 2.10.0. pre-3. And with 2.9.1., it works correctly. |
I guess I could have a look at this with the new "log MIDI messages" option? |
I checked again. With 2.9.1., it still works fine (both with just the main mapping, as in the example project, or with my SY mapping combination controller+main). With 2.10.pre-6, It did not work in the example project (which has just a main mapping) at first. In my SY mappings (separated between Controller and Main Mappings), I use "Normal Mode" in Tuning, and the feedback is unreliable in 2.10-pre6. When I look at the Output Log, ReaLearn sends the correct messages, but X-Touch Mini does not light the LED. Any idea, why this problem did not occur in 2.9.1., and any workaround that I could use to make the SY mapping work correctly with feedback again in 2.10.pre? |
Does "Send feedback after control" help? I remember this was necessary e.g. with Behringer X-Touch Compact when using "Toggle buttons" because this device overwrites the last feedback it gets when releasing the button (stupid behavior). In any case, let's better not get down the road to find out why it worked in 2.9.1 and not anymore in 2.10 prereleases ... knowing that 2.10 sends the correct messages. It was probably a "fortunate bug" in 2.9.1 that made it work. Would be better to find out why exactly the X-Touch Mini needs 2 messages. But I strongly suspect above mentioned "feedback overwriting" to be the reason. |
"Send Feedback after control" did not make a difference With my "SY mappings" I noticed, that feedback never worked, when I pressed the X-Touch button longer (like 1 second between note-on and note-off). It did work sometimes when I pressed very quickly. By the way, the feedback always works for the buttons that are not mapped with the "bank switching" method (Target min=max, and out-of-range behavior = min), but just have an ordinary VST parameter as target. I thought "send feedback after control" would send the whole feedback round for the virtual target again, once the note-off is received. (I think this would solve the X-Touch's problem.) But this is not the case. I made a very simple example project, attached. Strangely, when I record two button switches, the feedback does not work.
|
I guess it would help if ReaLearn would send the feedback for "light on" again, after it receives the note-off. |
Mmh, I would expect ReaLearn to send feedback again after it receives a "note off" for a "Note velocity" source if "Send feedback after control" is checked. That's the whole point of that option. I will look into it, maybe something doesn't work correctly. |
Checked it in v2.10.0-pre.6. "Send feedback after control" works as expected, so it sends feedback even when receiving a "note off" that would otherwise not affect the target value (e.g. in "Toggle buttons" mode). One minor detail: For incoming messages, ReaLearn treats "NOTE OFF" and "NOTE ON with value zero" the same way. As outgoing message for 0% feedback, it always sends "NOTE ON with value zero", never "NOTE OFF". Not sure if this could be a reason why it doesn't work in your case? But don't think so because in general it seems to work, no? |
I checked it with the example project again (v3 above). I am afraid it does not work there, there is no feedback sent after the note-off (no matter whether "controller" manually or with the recording in the project). See the log output below.
|
I was wondering above
This is clear to me now. When the recording is played back, the controller is not controlling its own lights, so in this case the additional feedback after control is not required. |
Checked it. "Send feedback after control" works as expected for "Toggle buttons" mode. You use "Normal" mode and it doesn't work expected. Interestingly, when using "Press only", it sends feedback on releases. I'll have a look what's going wrong there. |
In any case: "Send feedback after control" is the correct option for your problem. I know another Behringer controller that doesn't behave in this annoying way when switching it to Mackie Control mode instead of custom mode. Maybe worth a try. |
- Option will now often send more feedback than necessary but at least not skip important feedback. - Add a bunch of integration test cases.
Okay, so the actual reason why it didn't send the feedback in your case was the combination of a rounding error and FX parameter polling (which is by default enabled since 2.10.0-pre.1 to make sure that automatic feedback is sent even in exotic corner cases, see #350). ReaLearn tries to omit sending feedback after control if it knows the automatic feedback will be sent anyway a moment after. However, the polling mechanism prevents automatic feedback to be sent if there's no significant value change (to not overload the controller with feedback messages) - so the automatic feedback was not sent at all. Instead of removing the polling or the overload prevention, I adjusted the "Send feedback after control" behavior to send feedback in any case, even at the cost of having a few more messages sent out than necessary. This can be improved in future. I also found another case where this should help to get reliable feedback when "Send feedback after control" is enabled: Retriggerable targets. In upcoming pre7 it should work again. |
Wow, quite a combination leading to the bug. |
is fixed |
If I revert to 2.9.1., it is working again.
Do you need more info/details?
The text was updated successfully, but these errors were encountered: