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
On Dec 6 2022, at 6:52 am, John Allsup s.chalisque@gmail.com wrote:
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.
Hello John, That sounds cool, I'd love some custom Inkscape Hardware controls. I think probably the related technology that Inkscape uses is the GLib Actions that are exported over DBus. These can have various values and can be inspected over the bus. DBus does have network support, but it is generally not designed to work over network connections as it has different latency expectations. But if you're talking about a device that would use USB or something similar that could definitely work with some connecting software. https://en.wikipedia.org/wiki/D-Bus https://docs.gtk.org/gio/iface.Action.html Sounds like a fun project! Ted
participants (2)
-
John Allsup
-
Ted Gould