Hi,

A general topic I'm interested in, with many applications, is the possibility of using OSC or some custom UDP protocol for messages. As such, all the core application needs to do in its run loop is to check for pending packets and process any that have arrived (the rest of receiving could be on another thread).

For example, so that you could use essentially any device with rotary knobs or buttons to control things like line width or colour of the selected object or, more generally, anything else.

OSC is a common protocol used by some music software, but I'm interested in its use beyond music software. You could send messages like e.g.
/currentobject/linewidth/changeby 46 "pt"
to increase the line width by 46 pt
 
Essentially anywhere there is a numerical value the user could control via e.g. the toolbar or some slider somewhere, or something that could be toggled on/off, or stepped through, there is the scope for controlling it via something tactile like a rotary encoder on a Midi controller, or anything else. (You could easily have an external program which handles conversion to/from what an app understands.)

Just my general line of thinking.

My motivation for trying to get along with this idea is devices like the TourBox which, in absence of a protocol like OSC, is just a box and some (bloated) software that turns knobs and buttons into  keyboard shortcuts to control applications.

John Allsup