2 of 4
2
[Solved] TUIO: "too many arguments"
Posted: 08 February 2009 09:02 PM   [ Ignore ]   [ # 16 ]
Avatar
RankRankRank
Joined  2008-06-16
Total Posts:  330
Sr. Member

Hello Seth,
I have one question about the session ID implementation in tBeta,
this is a “blind” question actually, I didn’t have a look at your code now, but I have observed that mistake in other implementations:

Do you use unique incremental session IDs for the cursor profiles?
Some implementations I have seem tend to “recycle” ID number, which is not correct and could cause these crashes.

thanks,
Martin

 Signature 

TUIO community site: http://www.tuio.org
reacTIVision framework: http://reactivision.sf.net
TUIO & reacTIVision CVS: http://sf.net/projects/reactivision
reacTIVision forum: http://sf.net/apps/phpbb/reactivision

Profile
 
 
Posted: 08 February 2009 09:14 PM   [ Ignore ]   [ # 17 ]
Avatar
RankRankRankRankRankRank
Joined  2007-04-08
Total Posts:  2539
Dedicated

Martin, we continue counting up forever and ever hehe. So yeah, we don’t go back down to 1 if there’s one blob. It’ll always increment.

The only one I think I saw that did that (go back to 1) was the touche tracker.

 Signature 

MTmini, MTbiggie, & Audiotouch creator & Community Core Vision Co-founder

Follow on:
My Blog | Facebook | Twitter | Youtube

Profile
 
 
Posted: 08 February 2009 09:27 PM   [ Ignore ]   [ # 18 ]
Avatar
RankRankRank
Joined  2008-06-16
Total Posts:  330
Sr. Member

OK thanks Seth,
I just wanted to rule that option out, since I had seen it somewhere.
Thanks for getting back that quickly, but I think the debugging I should do better tomorrow then.
best, Martin.K

 Signature 

TUIO community site: http://www.tuio.org
reacTIVision framework: http://reactivision.sf.net
TUIO & reacTIVision CVS: http://sf.net/projects/reactivision
reacTIVision forum: http://sf.net/apps/phpbb/reactivision

Profile
 
 
Posted: 09 February 2009 05:26 AM   [ Ignore ]   [ # 19 ]
Rank
Joined  2008-09-22
Total Posts:  19
New Member

It crashes at the same point: TuioClient.cpp, in ProcessMessage function, when it parses “/tuio/2DCur set”:

delete *closestCursor

Can I help you? I’ll try to generate traffic logs (from tbeta to TuioDump) and list logs (adding, updating and deleting from cursorList + freeCursorList).

 Signature 

http://spherik.blogspot.com/

Profile
 
 
Posted: 10 February 2009 04:44 AM   [ Ignore ]   [ # 20 ]
Rank
Joined  2008-09-22
Total Posts:  19
New Member

New info: TuioDump also crashes in Leopard. I’ve downloaded the code from de cvs and compiled wth Xcode v 3.0.

 Signature 

http://spherik.blogspot.com/

Profile
 
 
Posted: 10 February 2009 05:15 AM   [ Ignore ]   [ # 21 ]
Avatar
RankRankRank
Joined  2008-06-16
Total Posts:  330
Sr. Member

Hello Spheric,
I am also working on Leopard with the latest CVS version and so far I could not reproduce the crash.
As I said before I remember having this issues while I was developing the code, but I thought I had fixed that some time ago.
Just to make sure again, you are using the latest CVS checkout from the reacTIVIsion/TUIO repository on Sourceforge?
Are you using the plain version from there or did you apply some changes to the TuioClient?

cvs -d:pserver:anonymous@reactivision.cvs.sourceforge.net:/cvsroot/reactivision login
cvs -z3 -d:pserver:anonymous@reactivision.cvs.sourceforge.net:/cvsroot/reactivision co -P TUIO

If so, maybe you could send my your binary, so I can check myself ...
And which tracker are you using now, tBeta or reacTIVsion?

best,
Martin.K

 Signature 

TUIO community site: http://www.tuio.org
reacTIVision framework: http://reactivision.sf.net
TUIO & reacTIVision CVS: http://sf.net/projects/reactivision
reacTIVision forum: http://sf.net/apps/phpbb/reactivision

Profile
 
 
Posted: 10 February 2009 05:59 AM   [ Ignore ]   [ # 22 ]
Rank
Joined  2008-09-22
Total Posts:  19
New Member

Hi Martin,

I’m using the lastest code from sourceforge’s cvs. I’ve changed the code to use it with tbeta (numArguments>9).

The problem apears when there are a lot of blobs (>8? > 20?) and some times with fewer… In mac, the program does not crash in strinct sense but hangs (stops updating points).

I send you my binary via private message.

 Signature 

http://spherik.blogspot.com/

Profile
 
 
Posted: 10 February 2009 06:20 AM   [ Ignore ]   [ # 23 ]
Avatar
RankRankRank
Joined  2008-06-16
Total Posts:  330
Sr. Member

Hello Seth,
as an intermediate solution for the “too many arguments” issue that has been caused with the addition of undocumented values to the TUIO set message format I propose the following:

* tBeta should send standard TUIO messages as the default setting
* tBeta can add a check box that allows the user to activate the additional width and height values if desired
* for the 1.4 release of the TUIO client collection I will add some more robustness to the TuioClient implementations,
so they will also be able to deal with messages that are not following the documented format correctly.

I think this would be a very good solution until we have finished the definition and implementation of the next generation TUIO2 protocol.

what do you think?
Martin.K

 Signature 

TUIO community site: http://www.tuio.org
reacTIVision framework: http://reactivision.sf.net
TUIO & reacTIVision CVS: http://sf.net/projects/reactivision
reacTIVision forum: http://sf.net/apps/phpbb/reactivision

Profile
 
 
Posted: 23 February 2009 02:23 AM   [ Ignore ]   [ # 24 ]
Rank
Joined  2009-02-22
Total Posts:  5
New Member
Martin Kaltenbrunner - 10 February 2009 06:20 AM

* tBeta should send standard TUIO messages as the default setting
* for the 1.4 release of the TUIO client collection I will add some more robustness to the TuioClient implementations,
so they will also be able to deal with messages that are not following the documented format correctly.

I just implemented an OSC parser and TUIO parser as well and ran into the same problem. The generic OSC handles it fine, since the message properly specifies the data types it’s sending but I had a specialized TUIO parser expecting the format specified at the reactable site. I don’t think that it’s a good idea to ‘add a check box for nonstandard messages’ if there’s any kind of specification to adhere to. What good does the width/height do anyway since the coordinates are in percentages?

Sorry for being newb, I just found out about this site a few days ago and eagerly jumped on the bandwagon. One other question if anyone reads this: all I seem to get is fseq = 0 messages, is that expected?

Thanks,
-Keith

Profile
 
 
Posted: 23 February 2009 02:35 AM   [ Ignore ]   [ # 25 ]
Avatar
RankRankRankRankRankRank
Joined  2007-04-08
Total Posts:  2539
Dedicated

Hi and welcome kzantow,

Yes, the fseq = 0 is to be expected as it’s not fully implemented and past tuio clients didn’t utilize fseq in the proper way.

As for height/width, this is very important for certain people. Only sending x/y coordinates gives point information only, and height/width is the start of a foundation for sending more information (shape, pixels, etc) as utilizing more than just coordinates is very useful in certain applications.

 Signature 

MTmini, MTbiggie, & Audiotouch creator & Community Core Vision Co-founder

Follow on:
My Blog | Facebook | Twitter | Youtube

Profile
 
 
Posted: 23 February 2009 02:57 AM   [ Ignore ]   [ # 26 ]
Rank
Joined  2009-02-22
Total Posts:  5
New Member
Seth (cerupcat) - 23 February 2009 02:35 AM

Only sending x/y coordinates gives point information only, and height/width is the start of a foundation for sending more information (shape, pixels, etc) as utilizing more than just coordinates is very useful in certain applications.

I had assumed it was height/width of the surface, the intent is clear now. The profile being used is /tuio/2Dcur, I assume as in ‘cursor’; wouldn’t the information be better suited for /tuio/2Dobj in the case more ‘object’ information is present and needed?

I suppose this may be a moot point when TUIO 2 is more finalized.

Thanks,
-Keith

Profile
 
 
Posted: 23 February 2009 03:07 AM   [ Ignore ]   [ # 27 ]
Avatar
RankRankRankRankRankRank
Joined  2007-04-08
Total Posts:  2539
Dedicated

Ah yeah. Height/width of finger “cursor”. Currently 2Dobj is used for fiducials. I agree though, cursor really no longer is a proper term and something Martin may need to reconsider when expanding the cursor into shape information and more in TUIO 2.0.

 Signature 

MTmini, MTbiggie, & Audiotouch creator & Community Core Vision Co-founder

Follow on:
My Blog | Facebook | Twitter | Youtube

Profile
 
 
Posted: 23 February 2009 03:29 AM   [ Ignore ]   [ # 28 ]
Avatar
RankRankRank
Joined  2008-06-16
Total Posts:  330
Sr. Member
kzantow - 23 February 2009 02:23 AM

I just implemented an OSC parser and TUIO parser as well and ran into the same problem. The generic OSC handles it fine, since the message properly specifies the data types it’s sending but I had a specialized TUIO parser expecting the format specified at the reactable site. I don’t think that it’s a good idea to ‘add a check box for nonstandard messages’ if there’s any kind of specification to adhere to. What good does the width/height do anyway since the coordinates are in percentages?

Sorry for being newb, I just found out about this site a few days ago and eagerly jumped on the bandwagon. One other question if anyone reads this: all I seem to get is fseq = 0 messages, is that expected?

Hello Keith, thanks for joining in!
To make the obvious clearer, I fully support you here. The status quo of tBeta is that it is currently sending non-standard TUIO messages, which unfortunately has caused some confusion and crashing clients as documented in this thread. What I am trying is actually to convince the tBeta developers to switch back to a standard message implementation, and as an alternative I asked that they at least clearly mark their extensions or make them an optional choice if they think that this is necessary.

And yes, conceptually cursors do not have any spatial extension, a cursor is supposed to be a pointer. tBeta interprets blob regions as cursors, so it is somehow understandable that they would like to transmit some information about the blob size as well. Actually the right mechanism in TUIO for that would be the definition of a custom profile message. But it is probably also somehow my fault, since I didn’t implement custom profile interpretation in the TuioClient collection yet. But I will do so before the next 1.4 release of the TuioClient API, so this custom mechanism designed for that purpose becomes available as an option for similar situations.

It is also right that a custom width or height value should also be normalized to a floating point value in the range of 0..1 in order to follow the general logic of the other TUIO parameters. Finally, the fseq message is supposed to be an incrementing number that corresponds to the frame ID where the TUIO message was generated. For redundant TUIO messages the fseq should be set to -1.

Regarding the fully understandable need for blob description, you should have a look a the TUIO2 draft, which intends to solve this issue together with many other new features and improvements. http://mtg.upf.edu/reactable/?tuio2

cheers,
Martin.K

 Signature 

TUIO community site: http://www.tuio.org
reacTIVision framework: http://reactivision.sf.net
TUIO & reacTIVision CVS: http://sf.net/projects/reactivision
reacTIVision forum: http://sf.net/apps/phpbb/reactivision

Profile
 
 
Posted: 23 February 2009 03:56 AM   [ Ignore ]   [ # 29 ]
Avatar
RankRankRankRankRankRank
Joined  2007-04-08
Total Posts:  2539
Dedicated

Currently height and width is normalized between 0-1. As mentioned prior, touchlib (and bbtouch I believe) both have height/width parameters and this issue is not tbeta specific by any means. With that said, in upcoming updates we’ll be considering these issues for sure and hope to work together to avoid future problems. smile

 Signature 

MTmini, MTbiggie, & Audiotouch creator & Community Core Vision Co-founder

Follow on:
My Blog | Facebook | Twitter | Youtube

Profile
 
 
Posted: 23 February 2009 04:07 AM   [ Ignore ]   [ # 30 ]
Avatar
RankRankRank
Joined  2008-06-16
Total Posts:  330
Sr. Member
Seth (cerupcat) - 23 February 2009 03:56 AM

Currently height and width is normalized between 0-1. As mentioned prior, touchlib (and bbtouch I believe) both have height/width parameters and this issue is not tbeta specific by any means. With that said, in upcoming updates we’ll be considering these issues for sure and hope to work together to avoid future problems. smile

Hello Seth,
great that you are going to look into that!
And it is not a matter of how many implementations are doing it wrong, in order to determine what is right. bbtouch is sending the correct TUIO message format, and as for touchlib I don’t know when these extra parameters have been added. I think David’s original implementation was doing this correctly as well.
cheers, Martin.K

 Signature 

TUIO community site: http://www.tuio.org
reacTIVision framework: http://reactivision.sf.net
TUIO & reacTIVision CVS: http://sf.net/projects/reactivision
reacTIVision forum: http://sf.net/apps/phpbb/reactivision

Profile
 
 
   
2 of 4
2