Hi,
I am working on a quite ambitious project. I would like to build my own groovebox. I already have all the hardware, including a couple of analog endless encoders.
They have two wipers and send values from 1 to 1024 per rotation. After they reach 1024, they start again from 1. I managed to build a script that basically only gives me a delta. When I rotate to the right, I get +1, and when I rotate to the left, I get -1.
So far, everything is working. I am sending OSC messages for each of the 8 encoders to SuperCollider. In SuperCollider, I decide what to do with those values, and then I send an OSC message back to the display so I can see the changes visually.
My issue is that, with this approach, I am constantly sending and receiving OSC messages, depending on how fast I poll the encoders. This seems to create a lot of traffic, and my encoders sometimes lag quite a bit. Occasionally, it even feels like OSC messages are getting dropped.
I was wondering if there is a better solution for this, or if my workflow is completely wrong. It would probably be better to send the encoder data directly to the display, but then I wouldn’t be able to tell SuperCollider what to do with it. Especially each encoder will have multiple purpose, depending on which display page I am. Thats why I decided for endless encoders in the first place.