» 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

~3mth ago

joreg: END OF SHOUTBOX! As this page has is now legacy, it will no longer feature new content. For latest news, see: http://vvvv.org

~4mth ago

joreg: vvvvTv S0204 is out: Custom Widgets with Dear ImGui: https://youtube.com/live/nrXfpn5V9h0

~4mth ago

joreg: New user registration is currently disabled as we're moving to a new login provider: https://visualprogramming.net/blog/2024/reclaiming-vvvv.org/

~4mth ago

joreg: vvvvTv S02E03 is out: Logging: https://youtube.com/live/OpUrJjTXBxM

~4mth ago

~4mth ago

joreg: Follow TobyK on his Advent of Code: https://www.twitch.tv/tobyklight

~4mth ago

joreg: vvvvTv S02E02 is out: Saving & Loading UI State: https://www.youtube.com/live/GJQGVxA1pIQ

~4mth ago

joreg: We now have a presence on LinkedIn: https://www.linkedin.com/company/vvvv-group

~4mth ago

joreg: vvvvTv S02E01 is out: Buttons & Sliders with Dear ImGui: https://www.youtube.com/live/PuuTilbqd9w

~5mth ago

joreg: vvvvTv S02E00 is out: Sensors & Servos with Arduino: https://visualprogramming.net/blog/2024/vvvvtv-is-back-with-season-2/