code, iPhone, multitouch, openAL, openSoundControl

WWDC 200918 May

I will be there.

If you are also going to be there, and you want to meet up and get a beer, or talk about anything on my blog or anything else really, then drop me a line at support@benbritten.com, or follow my rarely updated twitter: http://twitter.com/benbritten. I plan to use it during WWDC to help people find me and to help me find people. Otherwise I rarely use it, so dont go looking for profound wisdom from my twitter feed.

BBTouch, code, multitouch, openSoundControl

BBTouch and the new TUIO27 Jan

Hey All,

I must apologize as I have been out of the loop on NUI group happenings for a few months due to high levels of busyness. Luckily, Sandor has pointed me at some TUIO formatting discussions and I am going to try and keep BBTouch up to date with those sorts of things (i fully support expanding the TUIO protocol in a nice standard way, It sounds like tBeta is leading that charge and good on 'em.)

Anyway, from what i can gather in my 5 minutes of research (reading some NUI forum posts) is that currently some of the Quartz composer and Max plugins that NUI group helps maintain are basically advancing in TUIO protocol technology and BBTouch and some of the other 'old' trackers are not working well with them.

This is due to the fact that tBeta is using a slightly newer form of TUIO which includes the height and width of the cursor object in the data stream (ie the blob bounding box) I think this is a great addition and could use it in my own TUIO client apps straight away.

Anyhow, I am going to try and add the height and width params to the BBTouch TUIO stream (in some configurable way so that you can choose to not use them if you are using an older client) hopefully by the end of this week, busyness permitting.

That is all for now!
Cheers!
-b

code, multitouch, openSoundControl

BBTUIOTest bugfixes25 Aug

The clever NUIGroup member Aureau found a nice juicy bug in BBTUIOTest app. (these sorts of things will happen :-)

Turns out I had read the TUIO spec to say that the message order in the TUIO bundle are generally in the order:

source
set
alive
fseq

however, this is not necessarily the case. (at least not using the reactivision TUIO Simulator java app, which sends source,alive,set,fseq). SO! my bad. Anyhow, it is now fixed for that bug.

I also added the ability to fake mouse events, however, i will say that I have not worked all the kinks out of that transaction, so use at your own risk. (I have done some testing and the worst thing that seems to happen is that the mouse gets stuck 'down', in these instances, just hit command-option-ESC and it will reset the mouse events. You don't need to actually force quit anything, just the act of opening that window will reset the mouse events) Also, the mouse events will be 'faked' on the selected screen, presumably the same screen that you have setup for your projection. (also note: that code is still a bit raw, so there probably aren't as many comments as there needs to be)

Anyhow, here is the code bundle, with binary:

BBTUIOTest-1.app.zip

I guess fairly soon i will have to make this into a real project on google code :-) it seems to be turning into a 'thing'

Cheers!
-b

code, multitouch, openSoundControl

More Bugfixes22 Aug

Here are a handful more bugfixes that I committed a few minutes ago:

  • thanks to the keen eyes of Georg of the Touche tracker fame who spotted these bugs: The TUIO auxiliary parameters were all messed up. (like velo, accel, etc) now they are fixed.
  • fixed an anooying little display issue where the blob view would sometimes cut off one of the blobs.
  • fixed a problem where the projection mesh rotation handles were in the wrong place on large resolution screens.
  • made the drop dead detection shutoff time 4 seconds instead of 1. (i still need to make some of these magic numbers into configuration options)

    That is it for now :-) let me know if there are more issues.

    Cheers!
    -b

  • code, multitouch, openSoundControl

    Minor BBOSC framework update22 Aug

    I forgot to mention yesterday that I committed a minor update to the BBOSC framework. It was a single method call to allow convenient access to the attached objects of a packet.

    This came about because i never really 'finished' the dispatch side of things. Now (with the one added method call) you can in fact add your own dispatch code pretty easily. I had thought to bolt on a nice registered callback kinda thing that decompressed the messages and bundles and sends them to callback registered by address, but i haven't done that yet. It still works fine without that nice feature, it jsut means a tad bit more work if you want to do any complicated message dispatching.

    In any case, if you are a big BBOSC user, you should probably get the updated code and recompile. (I know that the TUIOTestapp i wrote yesterday requires it :-)

    That is all for now!
    Cheers!
    -b

    About

    meMy full name is Ben Britten Smith.

    I go by Ben Britten because Ben Smith is a bit too common and using my full name is a mouthful.

    I live in Melbourne, Australia and service clients all over the globe.

    Contact

    Have some questions?

    Feel free to contact me directly at support@benbritten.com with any questions you might have about any of the applications I support.

    Thanks!

    PHVsPjxsaT48c3Ryb25nPndvb19hYm91dDwvc3Ryb25nPiAtIGFib3V0LXdpZGdldDwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2JlbG93X2ltYWdlPC9zdHJvbmc+IC0gaHR0cDovL2JlbmJyaXR0ZW4uY29tL3dwLWNvbnRlbnQvdGhlbWVzL3ZpYnJhbnRjbXMvaW1hZ2VzL2FkNDY4LmpwZzwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2JlbG93X3VybDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FsdF9zdHlsZXNoZWV0PC9zdHJvbmc+IC0gYmVuYnJpdHRlbi5jc3M8L2xpPjxsaT48c3Ryb25nPndvb19ibG9ja19pbWFnZTwvc3Ryb25nPiAtIGh0dHA6Ly9iZW5icml0dGVuLmNvbS93cC1jb250ZW50L3RoZW1lcy92aWJyYW50Y21zL2ltYWdlcy9hZDMzNi5qcGc8L2xpPjxsaT48c3Ryb25nPndvb19ibG9ja191cmw8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb208L2xpPjxsaT48c3Ryb25nPndvb19ibG9nPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX2Jsb2djYXQ8L3N0cm9uZz4gLSAvY2F0ZWdvcnkvYmxvZy88L2xpPjxsaT48c3Ryb25nPndvb19jYXRfbWVudTwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fY29udGFjdDwvc3Ryb25nPiAtIGNvbnRhY3Q8L2xpPjxsaT48c3Ryb25nPndvb19jdXN0b21fY3NzPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fY3VzdG9tX2Zhdmljb248L3N0cm9uZz4gLSBodHRwOi8vYmVuYnJpdHRlbi5jb20vZmF2aWNvbi5pY288L2xpPjxsaT48c3Ryb25nPndvb19mZWF0cGFnZXM8L3N0cm9uZz4gLSA1NDk8L2xpPjxsaT48c3Ryb25nPndvb19mZWVkYnVybmVyX3VybDwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2dvb2dsZV9hbmFseXRpY3M8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19ncmF2YXRhcjwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19sYXlvdXQ8L3N0cm9uZz4gLSBkZWZhdWx0LnBocDwvbGk+PGxpPjxzdHJvbmc+d29vX2xvZ288L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19tYW51YWw8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vc3VwcG9ydC90aGVtZS1kb2N1bWVudGF0aW9uL3ZpYnJhbnRjbXMvPC9saT48bGk+PHN0cm9uZz53b29fbmF2X2V4Y2x1ZGU8L3N0cm9uZz4gLSAyLDgyLDU0OSw1NTMsNTY3LDUzMiw1MzQsNTM3LDgzMjwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3J0bmFtZTwvc3Ryb25nPiAtIHdvbzwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3dfYWQ8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3dfbXB1PC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19zdGVwczwvc3Ryb25nPiAtIDEuLCAyLiwgMy48L2xpPjxsaT48c3Ryb25nPndvb190YWJiZXI8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX3RoZW1lbmFtZTwvc3Ryb25nPiAtIFZpYnJhbnRDTVM8L2xpPjwvdWw+