View Single Post
Old 01-15-2020, 11:13 AM   #6009
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 4,375
Default

Quote:
Originally Posted by MixMonkey View Post
Regarding FX parameters, there are essentially two separate, but related issues outstanding here.

The first (and potentially more serious) issue concerns particular parameters not "stopping" at their minimum or maximum values when fed from inc/dec encoders (the problem does not occur with Fader7Bit (absolute) controls)

Depending on the plugin, this can result in a loss of surface control or an outright crash of Reaper.

The solution would be to set bounds on the parameter in question so that no more inc/dec commands are sent when the boundary is reached. This would probably have to rely on the value returned from the plugin to CSI.

The second issue is those FX parameters expecting to receive a series of exact but non-contiguous values (ie "steps") These parameters can't be changed at all when fed inc/dec commands. Again, the problem does not exist for absolute controls.

The solution would be for the inc/dec commands to be translated internally into a series of stepped values, with each value sent on a tick of the encoder.

Because the solution for the stepped value issue inherently solves the first issue with bounds, I wonder whether there is a case for CSI always translating the inc/dec commands into an absolute value to be sent to the plugin?
The syntax and parsing are more or less complete, see any holes in this ?

Code:
Zone someFX
    someButton FXParam 3 [ 0.0 0.25 0.5 0.75 1.0 ]
    anotherButton FXParam 7 [ 0.0-1.0 ]
ZoneEnd
The first one defines stepped vales and the second one defines a range that cannot be exceeded.
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
EuCon software:
https://stash.reaper.fm/v/37947/reaper_csurf_EuCon.zip
Geoff Waddington is offline   Reply With Quote