» 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

~2d ago

ravazquez: indeed!

~2d ago

schlonzo: kickass shader @evvvvil

~3d ago

evvvvil: "Reclaim the streets" - Winning shader live coded live at revision 2021 shader showdown semi final. https://www.shadertoy.com/view/fdSGWw

~3d ago

karistouf: sorry 3080 10G vs 3090 24go ?

~3d ago

karistouf: RTX 3090 24go or 3090 10go ar really doing difference ith textures and VVVV beta ?

~4d ago

joreg: and beta42 previews now include VL 2021.3.2: downloads/previews

~4d ago

joreg: bugfix release vvvv gamma 2021.3.2 is out: https://thegraybook.vvvv.org/changelog/2021.3.html

~10d ago

joreg: @soundreactor looks really odd. could this be some strict antivirus or firewall settings?