Let's say you have a ReaperOSC file with DEVICE_FX_PARAM_COUNT 48. If you have a VST with more than 48 fxparam's, wetdry is not received - because it's always listed *after* all other fxparam's! Some of my VST's have several hundred fxparam's, and I can't raise DEVICE_FX_PARAM_COUNT to let's say 500... It would take forever with 50+ tracks.

Why is such an important fxparam like wetdry last in line? Suggestions for workaround?

Let's say you have a ReaperOSC file with DEVICE_FX_PARAM_COUNT 48. If you have a VST with more than 48 fxparam's, wetdry is not received - because it's always listed *after* all other fxparam's! Some of my VST's have several hundred fxparam's, and I can't raise DEVICE_FX_PARAM_COUNT to let's say 500... It would take forever with 50+ tracks.

Why is such an important fxparam like wetdry last in line? Suggestions for workaround?

The wet/dry you mention is not part of the parameter set of the plugin but it's a Reaper parameter so it's appended to the FX parameters. I think this is how it should be, remember that most FX plugin already have their own 'mix' parameter. The Reaper FX wet/dry parameter is available as a separate addressable value but unfortunately this does not work.
You can switch FX parameter banks to get at the next 48, or get the previous bank and thus get to the end of the parameters. It depends on what you're trying to achieve, can you use smaller banks or do you really need to get a lot of paramaters at once?
Do you have a design for your controller with a list of requirements?
For my controller I decided on getting 48 parameters at once because this covers my needs and I'm of the opinion that FX plugins that have more parameters are of limited usefulness because the sheer number of parameters distracts from actually making music (or even just sound).

I completely agree on the number of fxparam's, maybe 48 is even over the top...

My "complain" here is: why is not Reaper's parameteres listed before the plugin? I mean, there's only a few anyway...

Yes, looping banks until the names of fxparam's starts to display as "" is a possibility, but there's a lot of extra code just to ensure wet/dry is always available for every plugin.

My controller designs are not final, I need to get a grip on what OSC can offer, or if I have to mix in MIDI. Basic idea is a combination of two controllers - foot controller, and hand controller (foot switches to use while playing, and hand controller between songs).

Gerrit - you're a massive resource to this subforum Maybe I will be one day as well. Thanks!

I completely agree on the number of fxparam's, maybe 48 is even over the top...

My "complain" here is: why is not Reaper's parameteres listed before the plugin? I mean, there's only a few anyway...

Yes, looping banks until the names of fxparam's starts to display as "" is a possibility, but there's a lot of extra code just to ensure wet/dry is always available for every plugin.

My controller designs are not final, I need to get a grip on what OSC can offer, or if I have to mix in MIDI. Basic idea is a combination of two controllers - foot controller, and hand controller (foot switches to use while playing, and hand controller between songs).

Gerrit - you're a massive resource to this subforum Maybe I will be one day as well. Thanks!

Thanks, it's my hope that the usage of OSC can be promoted by building OSC controllers.

I like the order of the parameters as is, if anything the FX_WETDRY parameter should be made to work. It's in the config:

I tested this but the values are not sent and sending this parameter to Reaper has no effect. If this where to be fixed then you always have access to this parameter independent of the FX parameter count.

I'm still curious as to why you PREFER "bypass" and "wet" to be the two LAST returned values - I can't see no reason whatsoever to not list them FIRST...

Do you ignore these two values in your controller if there's more than 48 fxparam's in a plugin, or loop through banks?

I use the FX bypass from the config:

Code:

FX_BYPASS b/fx/bypass b/fx/@/bypass b/track/@/fx/@/bypass

The bypass in the FX paramater list is actually redundant, same for the FX_WETDRY (apart from the fact that some aspects don't seem to work), that's why I rather see them at the end or even completely removed. These two parameters are part of Reaper, not of the FX plugin parameter set, and as far as I'm concerned the FX plugin parameters should come first. Apart from that almost every plugin has it's own pair of bypass and wet/dry parameters.

At this point I'm tempted to use MySQL as a "man in the middle", and use websockets to feed/update my displays, since OSC seems to have a few weaknesses on the response side... Storing data in a database gives me another feature - storing "presets", for easy switching on device side. Increased graphical update time on device is the obvious cost, but maybe just barely.

At this point I'm tempted to use MySQL as a "man in the middle", and use websockets to feed/update my displays, since OSC seems to have a few weaknesses on the response side... Storing data in a database gives me another feature - storing "presets", for easy switching on device side. Increased graphical update time on device is the obvious cost, but maybe just barely.

I don't see why you'd want to add this amount of complexity.
Storing the state of 32 channels(excluding the FX parameters but including FX name, bypass and wet/dry), the selected channel and 48 FX parameters for the selected plugin in a structure of structs takes up less than 40% of the memory of a Teensy 3.6. Here're the struct definitions for the the tracks :

The 40% memory usage is with NAME_LENGTH=18, VALUE_LENGTH=16, NUM_OF_SENDS=6 and NUM_OF_INSERTS=8.
It doesn't take much code to save this to SD card on the build in card reader, the required libraries are all included in the Teensyduino installation. My controller also doubles as a MIDI controller for hardware synths and it can receive complete program dumps from synths and store them on SD card for retrieval.