View Single Post
Old 12-09-2017, 10:13 AM   #6
Human being with feelings
Join Date: Feb 2016
Posts: 129

With a good understanding of the quantity of bank states to be determined and their fixed nesting structure (which you have done for the Novation's banks) then it's not too hard to statically encode each button flag as a bit in a look up table of bits (rather than bytes) and then be done by tracking the whole assumed state of the hardware device. The disliked table and its indexing can be hidden or abstracted from most of the code by suitable "lookup" and "set" functions.

It would be nice to move this state tracking into Reaper as suggested though, but the devs then face the same challenge, albeit perhaps dynamically only when a particular OSC string is actually mapped. Doing this could also also give some OSC feedback too to switch on button LEDs etc.

Alternatively one could, in your OSCII-bot script, have some kind of control surface configuration file so that buttons can have a varying pre-set function beyond, say just toggle. This file would be read in as part of the control surface @init section, and this then could give flexibility in a button's set up (ie its intended function) without needing script code changes. Such a config file could also be used to set a common function of a button across banks without repetitive manual learning at the Reaper end.

Last edited by goldenarpharazon; 12-09-2017 at 10:22 AM. Reason: SNAP! Michael came up with similar answer at the same time
goldenarpharazon is offline   Reply With Quote