View Single Post
Old 12-09-2017, 01:40 AM   #3
Join Date: Feb 2014
Location: Moscow, Russia
Posts: 554

I'm also sitting on the same task now. The problem with flags is that they should be created for each and every toggle, from the start. If you have a physical button, which function/osc address is changed, based on the current bank selection, one should add flags for each possible osc address, like "\surf\bank9\button1\ 1.0" or "\surf\bank37\button1\ 1.0" and this would be a huge amount of work, while we don't have normal arrays in EEL2.

For example, my controller have "user assignable" mode for all available controls. There are 8 sets of 8 different controls. 16 banks. Which gives us 1024 OSC commands. Add 7 shift buttons, that can be pressed not only one at the time, but also in combinations with each other and the controls themself. You'll end up with more than 262 144 theoretically possible osc commands, that would be generated by the script. That's a huge number, I must say, and it can easily be multiplied with other available controls, like "pages", for example. It would be exhausting, adding flags for all of them. I don't say that so many controls are necessary, but that's not the point of my rant.

Technically, this could be solved with pre-generating empty arrays (not mapped to the particular memory slot range), which would be automatically populated with control's states later, during the actual session in Reaper.

I already have "assignable mode" code working properly, but encountered the very same issue as you did, when one can't map a button on the controller to the fx parameter in Reaper, that is also a button. It's possible, but not for toggling. If one wants that mapped parameter to be turned on, he should keep pressing the corresponding button all the time, which is obviously, not an option.

So, I think that adding "toggle" checkmark or "OSC mode" selector (like that "CC mode" option) to this menu could be the best workaround ever. Or enabling \b and \t OSC prefixes for mapping. For now, only \f or \n are properly working for mappings.
Encoders support would also be nice. Again, different modes are already implemented in "CC mode" list, but not for OSC.

P.S. "fundorin" in the address name isn't for vanity purposes. In fact, letters in the word are modified respectively by 8 shift buttons on the controller, generating that ridiculous amount of possible combinations of commands!

Last edited by fundorin; 12-09-2017 at 02:34 AM.
fundorin is offline   Reply With Quote