CLAP plug-in parameter display values using Reaper's UI
Doing some testing with CLAP support (Linux). I noticed when I adjust a CLAP parameter value in Reaper's UI, in some cases its not possible to adjust to the full max and min values. In fact what appears to happen is that when a slider hits the 'end stop' no call is made to get the last human readable value - so you only get a display of the value before the max or min, even though the plug-in has been sent the correct value.
To break this down more, it seems that on moving a control, Reaper sends the param change event to the plug-in, then immediately asks the plug-in for the parameter value, asks the plug-in to translate this value to a human readable form, and displays it. Problem is that the parameter change event won't be seen by the plug-in until the next 'process' call. So what Reaper is actually getting back is the 'old' value from the plug-in and not the new one.
It could be something about my plug-in implementation, but the CLAP SDK appears to mandate that (understandably) parameter change events should only be dequeued in the process call. Any other dev's have some insight (is there something in the CLAP parameter API I'm not aware of? Does it even matter? (since the plug-in works perfectly using its own GUI) Is it a Reaper bug? (Perhaps Reaper - or hosts generally? - should just echo the adjusted param value to their own GUI locally, only using the plug-in's value_to_text call to get the human readable translation (assuming that's not already being done). That at least appears to fit better with the CLAP SDK design - as far as I can tell)
EDIT: This also appears to affect other plug-ins. For example adjusting the VMod1 parameters in Uhe's 'Diva' using the Reaper UI allows me to go from -93.20 to 99.40 instead of the expected -100 to +100 achievable using the Plug-in UI
Last edited by mike@overtonedsp; 08-03-2022 at 09:29 AM.
|