Thanks for the reply, pljones! I contacted Hexler support about this and they said something about sent values that is related to what you wrote:
"Generally, TouchOSC only allows you to assign one OSC and/or MIDI message to a specific control.
There is an exception; in the TouchOSC Editor you can assign a parameter to the Touch parameter for MIDI - this will send the maximum value when the control is pressed, and the minimum value when it is released. However this only functions similar to a push button (for instance, using the Touch parameter with a fader will only send the max value when the fader is touched, and min value when the fader is released, unlike the fader itself which will send a range of values depending on its location).
So for general standard functionality, each control can only have one assigned OSC/MIDI message.
Depending on the receiving software, you may be able to manually assign the MIDI input to various controls. This is how this would be worked around in most scenarios. Instead of assigning 3 separate parameters to a single control in TouchOSC, assign the output (a single parameter) to the various FX parameters you want to control in your DAW. Note that it will send the same value for all controls, so this might not be the preferred method if the controls require different values. Depending on the DAW or receiving software you may be able to adjust the values on that end, but otherwise in that situation you may just want to create three separate buttons clumped together that you could easily hit simultaneously."
Unless someone has accomplished otherwise with TouchOSC, I think the take away is that it can only send one value if you're thinking of using a push button to set a parameter to a specific value. Use case example: you want to quickly dial up levels for three mic positions on 2+ instruments loaded into a single instance of Kontakt. Again, the ReaperOSC file states this is possible, but TouchOSC cannot send a message that works this way with Reaper. I think Lemur maybe can? Writing this brings another question to mind: What TouchOSC-like program is MOST compatible with Reaper and the Default ReaperOSC file?
Back to the use case example:
If I have Kontakt as only FX on a track with any spitfire instrument with Close, Tree and Ambient mics, then under host parameters set them to 000, 001, 002, respectively. Then using a button from TouchOSC to send /fxparam/1,2,3/value 0.25 0.5 0.75 does not work. I don't think it ever will work in TouchOSC again because you can only send a value by using the value range fields. Even though if you "Listen" to the OSC message in Reaper you'll see the whole string is sent. What does work however is if you send /fxparam/1/value and uncheck "Send on Release" in TouchOSC so the message is sent only when button is pressed. That will send whatever the upper value is specified in TouchOSC Editor value range to host parameter #000 inside of Kontakt. So if I put for value range upper limit 0.5, considering this example, that would set the level of the close mic right in the middle. This of course will only work if you have at a minimum the pattern n/fxparam/@/value written next to the Reaper action FX_PARAM_VALUE in the pattern config file. Like so:
FX_PARAM_VALUE n/fxparam/@/value
The script idea is something that occurred to me once I found the right script to use (because I have no experience writing scripts) and it does work. It's outlined here by pipelineaudio and mpl:
https://forum.cockos.com/showthread.php?t=202791
/*
Send MIDI CC channel 1 cc10 value 0
*/
// EEL Script for Reaper
// Author: pipelineaudio
/*
8 = Note Off
9 = Note On
10 = AfterTouch (ie, key pressure)
11 = Control Change
12 = Program (patch) change
13 = Channel Pressure
14 = Pitch Wheel
*/
msg_type = 11; // CC
channel = 0;
function main ()
(
StuffMIDIMessage(0, msg_type*16 + channel, 10, 0);
);
main ();
If you create your eel script and copy/paste the above code, you can change the last two numbers in the above example to send CC#'s and values that you want. Like if you wanted to send CC 10 with value of 0, you'd use the example above. If you wanted to send CC 47 with value of 64, then you'd change the 10, 0 to 47, 64. If you want to send multiple parameters and values from a single button, then you'd create the eel scripts as needed, save them as custom actions. Then, create a custom action that adds all the eel script actions you just made and bind them to a shortcut of your choice. Next, rather than send an OSC message with TouchOSC, send a Key message from TouchOSC which sends the shortcut key you tied to your new custom action full of eel scripts.
This method solved my problem but it is not a pure OSC way of dealing with things. I'm sure you could do this all via OSC, but just not when using TouchOSC and Reaper.
Mostly thinking out loud with all of this...if anyone has alternative solutions, would still be curious to see what they are!