<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>benbritten.com &#187; openSoundControl</title>
	<atom:link href="http://benbritten.com/category/blog/opensoundcontrol/feed/" rel="self" type="application/rss+xml" />
	<link>http://benbritten.com</link>
	<description>Software should be simple.</description>
	<lastBuildDate>Wed, 09 May 2012 12:37:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>WWDC 2009</title>
		<link>http://benbritten.com/2009/05/18/wwdc-2009/</link>
		<comments>http://benbritten.com/2009/05/18/wwdc-2009/#comments</comments>
		<pubDate>Mon, 18 May 2009 07:36:50 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[multitouch]]></category>
		<category><![CDATA[openAL]]></category>
		<category><![CDATA[openSoundControl]]></category>

		<guid isPermaLink="false">http://benbritten.com/?p=354</guid>
		<description><![CDATA[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, &#8230; <a href="http://benbritten.com/2009/05/18/wwdc-2009/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I will be there.  </p>
<p>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: <a href="http://twitter.com/benbritten">http://twitter.com/benbritten</a>.  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.</p>
]]></content:encoded>
			<wfw:commentRss>http://benbritten.com/2009/05/18/wwdc-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BBTouch and the new TUIO</title>
		<link>http://benbritten.com/2009/01/27/bbtouch-and-the-new-tuio/</link>
		<comments>http://benbritten.com/2009/01/27/bbtouch-and-the-new-tuio/#comments</comments>
		<pubDate>Mon, 26 Jan 2009 23:37:54 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[BBTouch]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[multitouch]]></category>
		<category><![CDATA[openSoundControl]]></category>

		<guid isPermaLink="false">http://benbritten.com/?p=229</guid>
		<description><![CDATA[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 &#8230; <a href="http://benbritten.com/2009/01/27/bbtouch-and-the-new-tuio/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hey All,</p>
<p>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 &#8216;em.)</p>
<p>Anyway, from what i can gather in my 5 minutes of research (reading some NUI <a href="http://nuigroup.com/forums/viewthread/3374/P15/">forum</a> <a href="http://nuigroup.com/forums/viewthread/4218/">posts</a>) 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 &#8216;old&#8217; trackers are not working well with them.</p>
<p>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.  </p>
<p>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.  </p>
<p>That is all for now!<br />
Cheers!<br />
-b</p>
]]></content:encoded>
			<wfw:commentRss>http://benbritten.com/2009/01/27/bbtouch-and-the-new-tuio/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>BBTUIOTest bugfixes</title>
		<link>http://benbritten.com/2008/08/25/bbtuiotest-bugfixes/</link>
		<comments>http://benbritten.com/2008/08/25/bbtuiotest-bugfixes/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 00:22:54 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[multitouch]]></category>
		<category><![CDATA[openSoundControl]]></category>

		<guid isPermaLink="false">http://benbritten.com/?p=189</guid>
		<description><![CDATA[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 &#8230; <a href="http://benbritten.com/2008/08/25/bbtuiotest-bugfixes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The clever NUIGroup member Aureau found a nice juicy bug in BBTUIOTest app. (these sorts of things will happen :-)  </p>
<p>Turns out I had read the TUIO spec to say that the message order in the TUIO bundle are generally in the order:</p>
<p>source<br />
set<br />
alive<br />
fseq</p>
<p>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.  </p>
<p>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 &#8216;down&#8217;, in these instances, just hit command-option-ESC and it will reset the mouse events. You don&#8217;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 &#8216;faked&#8217; 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&#8217;t as many comments as there needs to be)</p>
<p>Anyhow, here is the code bundle, with binary:</p>
<p><a href='http://benbritten.com/wp-content/uploads/2008/08/bbtuiotest1.zip'>BBTUIOTest-1.app.zip</a> </p>
<p>I guess fairly soon i will have to make this into a real project on google code :-) it seems to be turning into a &#8216;thing&#8217;</p>
<p>Cheers!<br />
-b</p>
]]></content:encoded>
			<wfw:commentRss>http://benbritten.com/2008/08/25/bbtuiotest-bugfixes/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>More Bugfixes</title>
		<link>http://benbritten.com/2008/08/22/more-bugfixes/</link>
		<comments>http://benbritten.com/2008/08/22/more-bugfixes/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 06:11:43 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[multitouch]]></category>
		<category><![CDATA[openSoundControl]]></category>

		<guid isPermaLink="false">http://benbritten.com/?p=188</guid>
		<description><![CDATA[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, &#8230; <a href="http://benbritten.com/2008/08/22/more-bugfixes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here are a handful more bugfixes that I committed a few minutes ago:</p>
<li>thanks to the keen eyes of Georg of the <a href="http://gkaindl.com/software/touche/">Touche tracker</a> fame who spotted these bugs: The TUIO auxiliary parameters were all messed up.  (like velo, accel, etc) now they are fixed.
<li>fixed an anooying little display issue where the blob view would sometimes cut off one of the blobs.
<li>fixed a problem where the projection mesh rotation handles were in the wrong place on large resolution screens.
<li> 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)
<p>That is it for now :-)  let me know if there are more issues.  </p>
<p>Cheers!<br />
-b</p>
]]></content:encoded>
			<wfw:commentRss>http://benbritten.com/2008/08/22/more-bugfixes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Minor BBOSC framework update</title>
		<link>http://benbritten.com/2008/08/22/minor-bbosc-framework-update/</link>
		<comments>http://benbritten.com/2008/08/22/minor-bbosc-framework-update/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 21:58:43 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[multitouch]]></category>
		<category><![CDATA[openSoundControl]]></category>

		<guid isPermaLink="false">http://benbritten.com/?p=187</guid>
		<description><![CDATA[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 &#8216;finished&#8217; &#8230; <a href="http://benbritten.com/2008/08/22/minor-bbosc-framework-update/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>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.</p>
<p>This came about because i never really &#8216;finished&#8217; 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&#8217;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.</p>
<p>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 :-)</p>
<p>That is all for now!<br />
Cheers!<br />
-b   </p>
]]></content:encoded>
			<wfw:commentRss>http://benbritten.com/2008/08/22/minor-bbosc-framework-update/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Multi-boxing BBTouch</title>
		<link>http://benbritten.com/2008/08/21/multi-boxing-bbtouch/</link>
		<comments>http://benbritten.com/2008/08/21/multi-boxing-bbtouch/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 07:49:58 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[BBTouch]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[multitouch]]></category>
		<category><![CDATA[openSoundControl]]></category>

		<guid isPermaLink="false">http://benbritten.com/?p=183</guid>
		<description><![CDATA[I have given a great deal of thought to the idea of adding a nice distributed object system to BBTouch. that way you could have cocoa-based clients easily hook into the blob events to do their own thing. I have &#8230; <a href="http://benbritten.com/2008/08/21/multi-boxing-bbtouch/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have given a great deal of thought to the idea of adding a nice distributed object system to BBTouch.  that way you could have cocoa-based clients easily hook into the blob events to do their own thing.  I have used DO in a bunch of my other projects and it works well and is simple to use.</p>
<p>However, I also spent a bunch of time getting TUIO to work with BBTouch. And there are already a whole bunch of applications that can utilize BBTouch as a tracker because of the TUIO stuff.  So it occurred to me that since BBOSC is basically done (it could use a nice dispatch system, which i will add someday, not to mention lots of error checking and lots of general spiffying up, but i digress) it makes far more sense just to build any new BBTouch client apps using TUIO as the base protocol.  I dont think the performance gains I would get by going with DO would be all that staggering (if there we any at all). Also, if i write my cocoa client apps to be all tuio-friendly then people can use them with whatever tracker they want to (like a PC-based tracker or a yet to be designed all-hardware tracker.. whatever.)</p>
<p>And, the most important thing, as i mentioned earlier: it is already done. </p>
<p>So, I have hacked up a quick TUIO cocoa client app that plays nice with BBTouch (and theoretically should play nice with any TUIO tracker).</p>
<p><a href='http://benbritten.com/wp-content/uploads/2008/08/picture-36.png'><img src="http://benbritten.com/wp-content/uploads/2008/08/picture-36-300x169.png" alt="" title="picture-36" width="300" height="169" class="alignnone size-medium wp-image-184" /></a></p>
<p>isn&#8217;t it cute?  </p>
<p>Clever viewers will recognize many of the elements (since i basically just dragged them all from BBTouch into a new project and bolted on a TUIO dispatcher).</p>
<p>Anyhow it is super-duper simple. Anyone who wants to write a client app in cocoa for BBTouch (or for any tuio tracker) can use it as a starting point. It runs on nicely on really old hardware too. (at least it runs perfectly nicely on my 866MHz g4 laptop, which was collecting dust on my shelf, now it is my projection server :-)  </p>
<p>I should admit that the real reason i did this was because due to the craptacular firewaire destruction fest of two weeks ago, my second best machine is now without firewire support.  (it was the main machine I was using to test all this stuff on).  That left my main macBookPro as the only machine that could run everything.  This is fine except that I really really have my workspace all dialed in.  Big cinema display, keyboard at the right height yadda yadda.. hooking the MBP up to the table meant unhooking it from the big monitor :-( and that was a pain.  So I wrote this remote TUIO app mostly so I could still use the MBP as the &#8216;camera&#8217; machine, and still have the benefits of the big monitor for developing and whatnot, and my really old machine gets to be the &#8216;projector&#8217; machine, and my not that old but not that new machine gets to go back to being my entertainment center. everyone wins.</p>
<p>In any case, if anyone wants it: here is the TUIO Test app.  </p>
<p><a href='http://benbritten.com/wp-content/uploads/2008/08/bbtuiotest.zip'>BBTUIOTest.zip</a></p>
<p>As I mentioned before, if you want to write your own Multi-Touch client in Cocoa, this is a good seed to start off with.  It is the absolute bare bones TUIO + View implementation (with a tiny bit of gratuitous core animation). Have fun! </p>
<p>Cheers!<br />
-b</p>
]]></content:encoded>
			<wfw:commentRss>http://benbritten.com/2008/08/21/multi-boxing-bbtouch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testing distortion meshes for the touch calibration</title>
		<link>http://benbritten.com/2008/08/11/testing-distortion-meshes-for-the-touch-calibration/</link>
		<comments>http://benbritten.com/2008/08/11/testing-distortion-meshes-for-the-touch-calibration/#comments</comments>
		<pubDate>Mon, 11 Aug 2008 06:40:28 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[BBTouch]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[multitouch]]></category>
		<category><![CDATA[openSoundControl]]></category>

		<guid isPermaLink="false">http://benbritten.com/?p=128</guid>
		<description><![CDATA[So, in an attempt to keep this week from being a total loss, i thought i would do some iPhone development. I have been wanting to do a &#8216;real&#8217; port of the BBOSC stuff to iPhone (i did test the &#8230; <a href="http://benbritten.com/2008/08/11/testing-distortion-meshes-for-the-touch-calibration/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So, in an attempt to keep this week from being a total loss, i thought i would do some iPhone development.  I have been wanting to do a &#8216;real&#8217; port of the BBOSC stuff to iPhone (i did test the code on the simulator, but didnt make a real app) I thought it would be cool to make a quick little TUIO remote touchpad app for iPhone. </p>
<p>Except&#8230; you cant use the iPhone SDK on non-intel machines.. d&#8217;oh!  sigh&#8230;</p>
<p>Instead, I decided to write some quick test apps to at least try to get a jump on BBTouch stuff when i get my machine back.  I started today with a silly little app that tests my distortion mesh code.  (or i should say my distortion mesh theories, as the only code i had written was the method that converts the points, but without any structure around it)</p>
<p><a href='http://benbritten.com/wp-content/uploads/2008/08/picture-6.png'><img src="http://benbritten.com/wp-content/uploads/2008/08/picture-6-300x119.png" alt="" title="picture-6" width="300" height="119" class="alignnone size-medium wp-image-129" /></a></p>
<p>So here is a single view class that allows the user to create arbitrary distortion meshes, and posts it&#8217;s information to any other mesh views who take the point, and convert it into their local mesh coordinates. Above is what a mesh might look like if you had a very wide angle lens.</p>
<p>The views convert both ways, so you can click in one and see the result in the other mesh. </p>
<p><a href='http://benbritten.com/wp-content/uploads/2008/08/picture-7.png'><img src="http://benbritten.com/wp-content/uploads/2008/08/picture-7-300x119.png" alt="" title="picture-7" width="300" height="119" class="alignnone size-medium wp-image-130" /></a></p>
<p>As i said, you can do arbitrary meshes.  it doesn&#8217;t need to represent anything in particular.   </p>
<p>Anyway, it is a silly little app, and it feels like it should really be some sort of late 80s arcade game or something..<br />
The code also shows some simple use of Core Animation (to do the initial animation as well as using CALayers to draw all the vertex points, saving lots of time).<br />
The mesh code is some fairly straightforward <a href="http://en.wikipedia.org/wiki/Barycentric_coordinates_(mathematics)">barycentric</a> math.  Very standard 3d polygon kinda stuff.  </p>
<p>Here is the code if anyone is interested: (it is a single NSView subclass, you will need to add your own project)<br />
<a href='http://benbritten.com/wp-content/uploads/2008/08/bbmeshviewm.tar'>BBMeshView.m.tar</a></p>
<p>here is a pre-compiled app if you want to play with the useless program, but don&#8217;t want to compile your own:<br />
<a href='http://benbritten.com/wp-content/uploads/2008/08/bbmeshtestapp.zip'>BBMeshTest.app</a></p>
<p>enjoy!<br />
-b</p>
]]></content:encoded>
			<wfw:commentRss>http://benbritten.com/2008/08/11/testing-distortion-meshes-for-the-touch-calibration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BBTouch -&gt; Quartz Composer make nice tutorial</title>
		<link>http://benbritten.com/2008/07/30/bbtouch-quartz-composer-make-nice-tutorial/</link>
		<comments>http://benbritten.com/2008/07/30/bbtouch-quartz-composer-make-nice-tutorial/#comments</comments>
		<pubDate>Wed, 30 Jul 2008 09:12:58 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[BBTouch]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[multitouch]]></category>
		<category><![CDATA[openSoundControl]]></category>

		<guid isPermaLink="false">http://benbritten.com/?p=116</guid>
		<description><![CDATA[For anyone who is interested, the esteemed ScreamingDrills has put together a nice tutorial on how to get QC and BBTouch to play well together. (thanks Drills! and thanks Sandor for the other QC links) if you are looking to &#8230; <a href="http://benbritten.com/2008/07/30/bbtouch-quartz-composer-make-nice-tutorial/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>For anyone who is interested, the esteemed ScreamingDrills has put together a nice tutorial on how to get QC and BBTouch to play well together.  (thanks Drills! and thanks Sandor for the other QC links)</p>
<p>if you are looking to do that here are some links:<br />
QC vs BBTouch tutorial: (thanks Drills!)<br />
<a href="http://nuigroup.com/wiki/Quartz_Composer_with_BBTouch/">http://nuigroup.com/wiki/Quartz_Composer_with_BBTouch/</a></p>
<p>a working example of the TUIO plugin: (thanks Sandor!)<br />
<a href="http://workflow.cd-cologne.de/download/QC_surface.zip">http://workflow.cd-cologne.de/download/QC_surface.zip</a></p>
<p>have fun!</p>
<p>edit: i always forget to set the catagories! i suxx0r!</p>
]]></content:encoded>
			<wfw:commentRss>http://benbritten.com/2008/07/30/bbtouch-quartz-composer-make-nice-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BBOSC now as a framework</title>
		<link>http://benbritten.com/2008/07/28/bbosc-now-as-a-framework/</link>
		<comments>http://benbritten.com/2008/07/28/bbosc-now-as-a-framework/#comments</comments>
		<pubDate>Mon, 28 Jul 2008 01:47:56 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[multitouch]]></category>
		<category><![CDATA[openSoundControl]]></category>

		<guid isPermaLink="false">http://benbritten.com/?p=108</guid>
		<description><![CDATA[Hey All, Pawel Solyga has done a great thing, and converted the BBOSC project from the half-assed state that I had committed it, into a nice framework. So now it is easy to integrate into all your Cocoa-based OSC apps. &#8230; <a href="http://benbritten.com/2008/07/28/bbosc-now-as-a-framework/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hey All,</p>
<p><a href="http://solydzajs.wordpress.com/">Pawel Solyga</a> has done a great thing, and converted the BBOSC project from the half-assed state that I had committed it, into a nice framework.  So now it is easy to integrate into all your Cocoa-based OSC apps.</p>
<p>Just grab the code from the repository and compile with the framework project. Works great!</p>
<p>obligatory code link:<br />
<a href="http://code.google.com/p/bbosc/">http://code.google.com/p/bbosc/</a></p>
<p>thanks again Pawel!</p>
]]></content:encoded>
			<wfw:commentRss>http://benbritten.com/2008/07/28/bbosc-now-as-a-framework/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>TUIO support is Here!</title>
		<link>http://benbritten.com/2008/07/22/tuio-support-is-here/</link>
		<comments>http://benbritten.com/2008/07/22/tuio-support-is-here/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 05:19:44 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[BBTouch]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[multitouch]]></category>
		<category><![CDATA[openSoundControl]]></category>

		<guid isPermaLink="false">http://benbritten.com/?p=97</guid>
		<description><![CDATA[And it even seems to work! It is gratifying as a developer and code architect (not to toot my own horn, but, tooting my own horn :^) to be able to effectively use a chunk of my own code to &#8230; <a href="http://benbritten.com/2008/07/22/tuio-support-is-here/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>And it even seems to work!</p>
<p><a href='http://benbritten.com/wp-content/uploads/2008/07/5cursors.png'><img src="http://benbritten.com/wp-content/uploads/2008/07/5cursors-300x139.png" alt="" title="5cursors" width="300" height="139" class="alignnone size-medium wp-image-98" /></a></p>
<p>It is gratifying as a developer and code architect (not to toot my own horn, but, tooting my own horn :^) to be able to effectively use a chunk of my own code to add a fairly complex feature in just a few hours.  I started fresh on TUIO about 4 hours ago, and because the BBOSC stuff is really easy to deploy and BBTouch is designed to be easily extended, I was done with the main bit of code about 2 hours ago! (spent the next 2 hours fiddling with processing, taking screengrabs, and committing the code to the google repository, and now writing this, which is bringing em up to the 5 hours mark oh well..) (it helps that the TUIO spec is fairly straightforward, and that it closely parallels how the BBTouch internals are structured)</p>
<p>Anyhow, BBTouch now supports the generation of TUIO style events via OSC and UDP. w00t!</p>
<p><a href='http://benbritten.com/wp-content/uploads/2008/07/2cursors.png'><img src="http://benbritten.com/wp-content/uploads/2008/07/2cursors-300x140.png" alt="" title="2cursors" width="300" height="140" class="alignnone size-medium wp-image-99" /></a></p>
<p>OK, here are the details:</p>
<p>First up, since BBOSC is all ObjC 2.0 i went ahead and updated the objects I was stuck into on the BBtouch side as well (mostly just @properties and that sort of thing) the upside is that I saved lots of time implementing, the downside is that it is all OSX 10.5 only.  So if you are still on OSX 10.4, and you really really want to run this, it should be fine, but it will take you a bit of elbow grease to replace all the @properties and @synthesize with actual methods. If i am totally screwing you with this change, then let me know and I will try to find time to downgrade all the code.  but really, if you are into this stuff, then you are a geek like me and you should be running the bleeding edge OS :-)<br />
Also, i included all the BBOSC files in the BBTouch project, so you wont need to deal with downloading the BBOSC stuff separately.  (you really only need to do that if you want to build your own app on top of BBOSC)</p>
<p>Second: I updated the UI in BBtouch to add a TUIO config panel.  Now you can just add the hostname and port (defaults to localhost/127.0.0.1 and port 3333 which seems to be the &#8216;default&#8217; TUIO stuff), and turn on the &#8216;generate TUIO events&#8217; button and it will do just that.  (as long as you are also detecting blobs)</p>
<p><a href='http://benbritten.com/wp-content/uploads/2008/07/picture-11.png'><img src="http://benbritten.com/wp-content/uploads/2008/07/picture-11.png" alt="" title="picture-11" width="193" height="192" class="alignnone size-medium wp-image-100" /></a></p>
<p>Note: if you want to change the host and port, you need to shut off the TUIO event stream first.</p>
<p>Oh, and a quick note about BBTouch performance: I dont have any trouble running it on my macbookpro in full size (640&#215;480) but of you find yourself lagging a bit, you can close the config window and that will save a bunch of processing (since it wont need to be drawing all the raw video and whatnot). this leave BBTouch basically just a menu bar, but you can always get the config window back from the View Menu -> Show Config Window. (i noticed about a %20 drop in processor usage when I closed that window, although most of it is the raw video, so you can just shut that off too) Another Note: now that i have had a look at the processor usage %75!! yikes.. i guess the next thing is to do another optimization pass through the code.  that is wayyy too high for what it is doing.. next week maybe :-)</p>
<p>I used the Processing/TUIODemo sketch to test with. (found on the <a href="http://reactable.iua.upf.edu/?software">reactivision software page</a>) I plan on testing with some of the others as well, but I don&#8217;t have time today, and I know you guys are chompin at the bit to get this :-)</p>
<p>As always the code is available on google code: <a href="http://code.google.com/p/opentouch/">http://code.google.com/p/opentouch/</a> you will need XCode to compile it.<br />
If you already have some older code checked out, you should be able to update your project and get all the changes automatically.  </p>
<p><a href='http://benbritten.com/wp-content/uploads/2008/07/bentuio.png'><img src="http://benbritten.com/wp-content/uploads/2008/07/bentuio-300x139.png" alt="" title="bentuio" width="300" height="139" class="alignnone size-medium wp-image-101" /></a></p>
<p>I will leave you with the above image,  a lame finger-painting of mine during testing.. :-)</p>
<p>EDIT: here is a zipped binary of the app for anyone who doesn&#8217;t want to compile it from the source<br />
<a href='http://benbritten.com/wp-content/uploads/2008/07/bbtouchapp.zip'>bbtouchapp.zip</a> (Universal, but 10.5 only)</p>
]]></content:encoded>
			<wfw:commentRss>http://benbritten.com/2008/07/22/tuio-support-is-here/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>

