New Release v0.6
At last the v0.6 release is out in the wild! It took a little longer than expected but I ended up adding some stuff like the touchTargetDiscoveryMode that I had planned for a later release at first.
This release is all about events dispatched by the TuioManager. You can read this article to get started wit hthis fancy new class.
I will also update all the older articles in the following days so they make sense again in context of the new release.
I also added a first raw version of the ASDoc to the Documentary section. Right now it is just for overview purposes and there are a lot of things in it that shouldn't and most of the explanations are very short and without any examples or whatsoever.
Now a bit on things to come:
- UDP support: I already received some requests to support the new UDP classes in Air 2.0 and it will definitely be in one of the future releases although I'll probably wait for the Flash CS5 beta. So blame Adobe ...
- Native Multitouch: Another thing tied to the CS5 Beta is the dispatching of the new multitouch events introduced in flash 10.1 but it will be supported sooner or later in a way. Also I might modify the new TouchEvent so that it resembles the actual flash.events.TouchEvent or just use that one instead.
- ASDoc: My major priority right now is cleaning up the ASDoc to a level it is actually usable if you haven't coded a Tuio library yourself xD
- RTMFP: I am still hoping that one day the protocol will be reverse engineered so UDP can also be used in normal flash projects and not just Air.
That's it for now, have fun and please write me if you have any problems or happen to rouse some bugs.
February 12th, 2010 - 21:37
I love this!
February 12th, 2010 - 21:38
PS: I am in the prerelease program of CS5 but the udp socket classes aren’t available yet anyway…
February 12th, 2010 - 21:41
Glad you like it and thanks for the heads up on the status of the UDP implementation in CS5.
February 13th, 2010 - 16:45
@Bart: The UDP connection is actually implemented through the new DatagramSocket class in AIR 2.0 and therefore does not require Flash CS5.
@gimmix: I’ve updated version 0.6 to include support for UDP. More details are posted here: http://nuigroup.com/forums/viewthread/8288/P0/ and you can download the code here: http://www.techstylelab.com/TUIO_UDP_Connection.zip
Andy McDonald
Centre for Advanced Textiles
Glasgow School of Art
February 13th, 2010 - 17:12
Hi thx for the effort, I’ll have a look at it. I already have a UDP commision by one of the projectmembers but I’ll see if I can merge your code into the library as well but they seem to be pretty much the same since the udp integration is pretty much straight forward xD.
I just mentioned CS5 because I am used to working with Flash as a building environment and FD for scripting only
March 3rd, 2010 - 19:10
hello
I have been trying to make this library to work.
What should the demo example “TuioDemo.swf” that comes with library do?
Thanks
angela
March 3rd, 2010 - 21:00
It is merely an exported swf of the TuioDemo.fla project which has all its code in the TuioDemo.as
If you take a look in there you’ll see that it opens a LocalConnection and waits for incoming Tuio tracking data. The project is mostly explained in this article.
If it receives tracking data it draws circles at the corresponding points and also indicates with which tuio profile (cursor, object, blob) the data was sent.
I hope that helped if not keep asking
March 3rd, 2010 - 22:07
Hi gimmix,
Thanks for you anwser! So if every thing is ok the demo will show some circles when I simulate a touch event with tuio simulator?
( note: I have the udp-flashlc-bridge running ).
Thanks and sorry for the newb question =)
March 4th, 2010 - 11:49
Yes that is exactly what should be happening.
March 4th, 2010 - 15:29
I thing that my problem is to do with “DatagramSocket” when i try to run the TuioDemo.fla this error happen , and i already updated for air2beta sdk and Flex SDK 4 :
“[SWF] TuioDemo.swf – 32905 bytes after decompression
Error: Error #2002: Operation attempted on invalid socket.
at flash.net::DatagramSocket/internalBind()
at flash.net::DatagramSocket/bind()
at org.tuio.osc::UDPConnector()[/Users/hello/Sites/Multitouch/TuioFlashDemo/src/org/tuio/osc/UDPConnector.as:29]
at TuioDemo()[/Users/hello/Sites/Multitouch/TuioFlashDemo/src/TuioDemo.as:72]
at runtime::ContentPlayer/loadInitialContent()
at runtime::ContentPlayer/playRawContent()
at runtime::ContentPlayer/playContent()
at runtime::AppRunner/run()
at global/runtime::ADLEntry()”
any thoughts ?
March 4th, 2010 - 20:47
From the error trace I guess you are trying to use the demo of TechStyleLAB’s modified version? It looks like the UDPConnector can’t open the specified UDP port which per default is 3333. Maybe try to change that port by specifying it when you instanciate the UDPConnector -> e.g.: new UDPConnector(“127.0.0.1″, 3030);
You’ll also have to change the tracker’s settings to send its data to the chosen port.
March 9th, 2010 - 19:15
Hi gimmix,
I managed to get TUIO_library_v06 and the udp-flashlc-bridge to run and capture my input from MSARemote. Sweet!
The SWF is running at 60fps, my Mac and the iPhone are sharing a private, fast wireless connection, but still the responsiveness of of the circles in TuioManagerDemo.swf or TuioDemo.swf is very bad. Im am not getting anywhere near the performance shown in the video regarding the udp-bridge setup.
I also tried to use v05 of the library, which was not faster.
Any hints, how i might release the “handbrake”?
Cheers Frederik
March 9th, 2010 - 20:12
Maybe you could try if the performance is better if you use the UDPConnector included in the current svn revision. You’ll need the air2beta2 sdk though which you can get for free at labs.adobe.com
Does a single point only perform any better than multiple points? Is the response choppy or is it sirupy (if that even is a word xD)
March 10th, 2010 - 10:57
Hi gimmix,
the response is chopy, it is interuppted by lags. Also strange: The localConnection does not throw any errors when I open the swf twice (which is expected). Can this be caused by the way the localConnection is hacked?
The performance is bad for single and multi point inputs…
March 10th, 2010 - 11:45
I just swapped to tongseng tracker and my apple mighty mouse for input – it runs like a charm. So the problem is somewhere in between MSARemote and the udp-bridge.
March 10th, 2010 - 19:48
Thanks for the testing. I guess I’ll have to buy a iPod Touch at last even if it just for MSARemote xD
What could be the problem is that if the send rate of the MSARemote is higher than the shared memory read rate of flash so packets tend to get lost because the udp-lc-bridge does no buffering.
I am relieved that it works well with the tongseng tracker
And on the opening the swf twice: the LCConnector automatically checks if the connection name is already in use and appends a digit to the name if needed
March 12th, 2010 - 11:14
I am currently using the last CCV 1.3 version and TUIO library AS3 0.6. is it possible to use “Communication TCP BINARY” option in CCV and how? Because it looks as I am receiving some packets data but the parsing probably fails and I do not have any TUIO event received in my flash application?
my TUIO initialization is as follows
…
this._tuioClient = new TuioClient(new TCPConnector(“127.0.0.1″,3000));
this._tuioManager = new TuioManager(this.stage, this._tuioClient);
…
so, what’s wrong?
thanks
March 12th, 2010 - 18:33
Hi, that is because ccv seems to have chosen a different way to send raw tracking data via TCP than the one used in the TCPConnector.
I’ll try to add support to the svn revision asap.edit: I just had a closer look at ccv’s “binary tcp” mode and it looks like it doesn’t use TUIO at all to send the tracking data. So I don’t know if I will support this in the near future since this library is all about TUIO formatted tracking data :/
March 13th, 2010 - 10:31
Thanks for your reply and help. The reason I tried TCP binary option is because UDP + TUIO bridge does not work well for me. In fact, when stopping “abruptly” my application (e.g. stop debug from IDE flex), the communication is broken somewhere. I have to restart both my bridge and my application. Have you already noticed that?
March 13th, 2010 - 17:13
By udp + tuio bridge I guess you mean the udp-lc bridge. If yes than yes this is a known problem which is result of hijacking the localconnection which’s functionality is just reverse engineered and sometimes it happens that flash doesn’t close the old shared memory file so the bridge thinks that flash still reads from this memory file although it already opened another one.
Which version of flex are you using? In the flex4sdk beta and flash 10 this behaviour is less frequent or even next to zero.
March 14th, 2010 - 20:57
Right, I meant udp-lc bridge. I am using flex 3.2 sdk and flash 10. since I am using Flex Builder 3.0, I cannot move to flex4sdk as you suggested