» How TUIO do?
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

How TUIO do?

Short Version

vvvv now has native support for both sending and receiving TUIO messages!
The following nodes are available in latest alphas:

  • TUIOCursor (Network Join/Split)
  • TUIOObject (Network Join/Split)
  • TUIOBlob (Network Join/Split)
  • TUIOBundler (Network)

For receiving TUIO messages the individual split nodes can be used directly. The TUIOBundler is used for combining different types of TUIO messages in order to send them in one bundle.

Some Background

vvvv has long had support for TUIO, a protocol for receiving data from multitouch surfaces. The TUIODecoder (Network) was contributed to the addonpack by Abomb years ago.

It did what it was supposed to with only two caveats:

  • since it used an input of type String it had troubles on windows systems with non-standard string encodings
  • it was only a decoder, lacking an encoder to also be able to send TUIO messages

Enter VL: While preparing the standard library for VL it was a good exercise to create probably the worlds-first implementation of the TUIO protocol in a visual programming language. And since we can make nodes we have in VL available as nodes in vvvv it was a just a few more clicks to make the new implementation even useable for non-vl patchers. You're welcome!

There is more to the nerds pleasing: TUIO is based on the OSC protocol which meant that before being able to implement TUIO, we needed an implementation of the OSC protocol. As we've pointed out before, in VL we have the possibility to import .net libraries. So one way to support OSC in VL would have certainly been to import one of the many existing OSC libraries for .net. In fact we did that and it was good to see that it just worked. Still the real challenge of course was to also create possibly the worlds-first implementation of OSC in a visual programming language. So here we are..

Snippet of the TUIO implmentation in VL

If you're interested in the implementations have a look at the VL files in:

 \packs\VL.IO.OSC
 \packs\VL.IO.TUIO

Otherwise just go ahead, use the nodes in vvvv and please report your findings in the comments or in the alpha forum.

joreg, Wednesday, Jul 27th 2016 Digg | Tweet | Delicious 0 comments  
  • 1

anonymous user login

Shoutbox

~26d ago

manuel: very cool to generate matcap / cubemap for reflections https://cables.gl/p/pDCOCw

~27d ago

joreg: Join us for the 19th #vvvv meetup on November 11th: https://thenodeinstitute.org/event/19-worldwide-vvvv-meetup/

~1mth ago

~2mth ago

joreg: @zaid please ask this in the forum: https://discourse.vvvv.org/

~2mth ago

zaid: how can i detect a changing spread in gamma? the old workflow with a change and select node isnt possible. cheers

~2mth ago

joreg: @dawoof such a question is probably better asked in the forum or chat

~2mth ago

dawoof: hey vvvvers, What are yall's fav depth-camera for body tracking? (dancing in this case) eyeing the ZED but the delivery time is long