This happened because IReaperControlSurfaceExtended() method was called with CSURF_EXT_SETFXPARAM and parm3 (the parameter value) was -1.0. I was aware already that this value can be > 1.0, but I'm very surprised that it can be a negative value. What does -1.0 as value represent? That a param was set to an invalid value or something? I asked Justin this question. Seems like we have to relax the reaper-rs ReaperNormalizedFxParamValue newtype restrictions a bit or (probably better) use Option - because we don't observe arbitrary negative values, just -1 which usually represents None.
The final fix of this is interpreting negative values as zero. In many cases, negative values reported by plug-ins are bugs, e.g. rounding errors. In rare cases they might represent values with special meaning. If yes, ReaLearn doesn't support this kind of values and just converts them to 0.0.
The text was updated successfully, but these errors were encountered: