» VL: New OSC and TUIO nodes
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

VL: New OSC and TUIO nodes

Here is,

another addition to the series of things that took too long. But then they also say that it is never too late... VL was shipping with OSC and TUIO nodes from the beginning, but frankly, they were a bit cumbersome to use. So here is a new take on working with those two ubiquitous protocols:

OSC

Receiving OSC messages

To receive OSC messages you need to place an OSCServer node which you configure to the IP and Port you want to listen on. Immediately it will show you if it is receiving OSC messages at all on the Data Preview output.

Then use OSCReceiver nodes to listen to specific addresses. Either specify the address manually or, hit the "Learn" input to make the node listen to the address of the first OSC message it now receives.

Note, that the OSCReceiver is generic, meaning it'll connect to whatever datatype you want to receive. Supported typetags are:

  • i: Integer32, h: Integer64
  • f: Float32, d: Float64
  • s: String, c: Char
  • r: RGBA color
  • b: blob byte[]
  • T: true, F: false

In case of multiple floats, you can also directly receive them as vectors. And this works on spreads of the above types and even on tuples, in case you're receiving a message consisting of multiple different types.

Sending OSC messages

To send OSC messages you first need an OSCClient which you configure with a ServerIP and Port. Then you're using SendMessage nodes to specify the OSC address and arguments to send. Again note that the "Arguments" input is generic, so you can send any of the above types, spreads of those and even tuples combining different types!

By default, vvvv is collecting all the data you send and sends it out in bundles per frame. For optimal usage of UDP datagram size (depending on your network) you can even specify the maximum bundle size on the OSCClient node.

These are the basics. There are a couple of more things which are demonstrated in the howto patches!

TUIO

Receiving TUIO data

For receiving TUIO data you're using a TUIOClient which you configure to the IP and Port you want to listen on. The client already returns a spread of cursors, objects and blobs that you can readily access.

Sending TUIO data

For sending TUIO data you're using a TUIOTracker node which you configure with a ServerIP and Port. Then you give it a spread of cursors, objects and blobs to send out.


Available for testing now, in latest 2020.3 previews!

joreg, Wednesday, Dec 9th 2020 Digg | Tweet | Delicious 0 comments  
  • 1

anonymous user login

Shoutbox

~3d ago

CeeYaa: 16. vvvv Worldwide meetup RECORDING moved to: https://youtu.be/ecnUCMwEgJo

~3d ago

elektromeier: the meetup stream from yesterday seems to be a private video...

~4d ago

joreg: @barbarerik it is a VL example which you could adapt to gamma

~4d ago

barbarerik: @joreg I meant in Gamma

~8d ago

joreg: @barbarerik maybe this one helps: vvvv-beta\girlpower\VL\Curves\SplineTree

~9d ago

barbarerik: Can somebody point me to example how to Bezier in Gamma? some example of how to connect nodes. Thanks

~9d ago

karistouf: @joreg, thank you

~9d ago

joreg: @karistouf there are no freeframes in x64 but you can use Contours via VL.OpenCV in VL!

~9d ago

karistouf: is there any contour.dll (FreeFrame) in x64 ? thank you

~11d ago

joreg: @qoupas i'm afraid this is a rather unspecific question. please start a forum thread with more details so we can help you.