<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>Momo the Monster</title>
	
	<link>http://mmmlabs.com/b</link>
	<description>the continuing adventures</description>
	<lastBuildDate>Fri, 14 Jun 2013 07:01:02 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/MomoTheMonster" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="momothemonster" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FMomoTheMonster" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FMomoTheMonster" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FMomoTheMonster" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bloglines.com/sub/http://feeds.feedburner.com/MomoTheMonster" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FMomoTheMonster" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FMomoTheMonster" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FMomoTheMonster" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2FMomoTheMonster" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2FMomoTheMonster" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2FMomoTheMonster" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.newsalloy.com/?rss=http%3A%2F%2Ffeeds.feedburner.com%2FMomoTheMonster" src="http://www.newsalloy.com/subrss3.gif">Subscribe with NewsAlloy</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2FMomoTheMonster" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FMomoTheMonster" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.yourminis.com/subscribe.aspx?u=http%3A%2F%2Ffeeds.feedburner.com%2FMomoTheMonster" src="http://www.yourminis.com/images/addtoyourminisbadge.gif">Subscribe with Yourminis.com</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://download.attensa.com/app/get_attensa.html?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FMomoTheMonster" src="http://www.attensa.com/blogs/attensa/WindowsLiveWriter/BadgeredintoBadges_10C02/attensa_feed_button5.gif">Subscribe with Attensa for Outlook</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FMomoTheMonster" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://hub.netomat.net/account/account.autoSubscribe.jspa?urls=http%3A%2F%2Ffeeds.feedburner.com%2FMomoTheMonster" src="http://www.netomat.net/blogger/images/icon_netomat_feedbutton.gif">Subscribe with netomat Hub</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FMomoTheMonster" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.flurry.com/pushRssFeed.do?r=fb&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2FMomoTheMonster" src="http://www.flurry.com/images/flurry_rss_logo2.gif">Subscribe with Flurry</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2FMomoTheMonster" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2FMomoTheMonster" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><item>
		<title>Leap Lighting Experiment Six-Eleven</title>
		<link>http://mmmlabs.com/b/2013/06/leap-lighting-experiment-six-eleven/</link>
		<comments>http://mmmlabs.com/b/2013/06/leap-lighting-experiment-six-eleven/#comments</comments>
		<pubDate>Wed, 12 Jun 2013 06:56:43 +0000</pubDate>
		<dc:creator>Momo the Monster</dc:creator>
				<category><![CDATA[Experiments]]></category>
		<category><![CDATA[Leap Motion]]></category>
		<category><![CDATA[TouchDesigner]]></category>

		<guid isPermaLink="false">http://mmmlabs.com/b/?p=364</guid>
		<description />
				<content:encoded><![CDATA[<p><iframe src="http://player.vimeo.com/video/68185181" width="498" height="280" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p>Using the Leap Motion device to input 3D data, a MidiFighter Classic to provide button input, and Touch Designer to drive the visuals.</p>
<p>The top row of the MidiFighter records input when held down, and the buttons in the row just below play them back when held down. Everything is momentary for now.</p>
<p>I&#8217;m really digging the combo of the MidiFighter and the Leap &#8211; they have complementary strengths. Still have much work to do like smarter handling for the switch between live and recorded data, and enabling toggle vs momentary recordings.</p>
<p>Music is &#8216;This Beat&#8217; by Alex Beroza &#8211; Licensed CC-BY-NC</p>
<img src="http://feeds.feedburner.com/~r/MomoTheMonster/~4/GaqvE6WdSkI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mmmlabs.com/b/2013/06/leap-lighting-experiment-six-eleven/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creative Coding Reel</title>
		<link>http://mmmlabs.com/b/2013/06/creative-coding-reel/</link>
		<comments>http://mmmlabs.com/b/2013/06/creative-coding-reel/#comments</comments>
		<pubDate>Sat, 08 Jun 2013 06:59:18 +0000</pubDate>
		<dc:creator>Momo the Monster</dc:creator>
				<category><![CDATA[VJ]]></category>

		<guid isPermaLink="false">http://mmmlabs.com/b/?p=369</guid>
		<description />
				<content:encoded><![CDATA[<p><iframe src="http://player.vimeo.com/video/66883322" width="498" height="280" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p>As the old story goes, there never seems to be time to put together a proper reel.<br />
So here is a sample of what my work is like now.</p>
<p>These projects are all on <a href="http://vimeo.com/momothemonster/videos">Vimeo</a>, so browse through my videos for more on each one.</p>
<p>1. FiddlyBits &#8211; Cinder dev + design, Performance<br />
2. The Trip &#8211; Cinema4D Animation, Quartz Composer PreViz<br />
3. FiddlyBits iOS &#8211; openFrameworks dev + design, Performance<br />
4. Beyond Right Now &#8211; openFrameworks dev + design, Animation<br />
5. Lighting Experiment &#8211; TouchDesigner production using Leap Motion<br />
6. Three-Oh-Five &#8211; TouchDesigner production with Ableton Live integration<br />
7. Bridge Invaders &#8211; Android/AIR Development + Design<br />
8. Countdown &#8211; After Effects Animation and Illustration<br />
9. Cydrop &#8211; AIR dev + design<br />
10. Touch Me &#8211; Flash Animation, AIR software dev, Ableton Live integration<br />
11. Ho-Lee-Cow &#8211; Isadora dev, Ableton Live integration, AV Performance<br />
12. Push &amp; Rise &#8211; After Effects Animation<br />
13. You Should Smell The Air &#8211; After Effects Animation<br />
14. The Glitch Mob &#8211; openFrameworks dev, Live Visuals Performance<br />
15. Deadmau5 &#8211; Playback System Design, Live Visuals Performance<br />
16. AV Collaboration &#8211; Flash Animation, AIR software dev, Ableton Live integration<br />
17. Make Space Ship &#8211; openFrameworks iOS dev + design, Live Art</p>
<img src="http://feeds.feedburner.com/~r/MomoTheMonster/~4/uxJRA5XPMiY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mmmlabs.com/b/2013/06/creative-coding-reel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixing Orientation Issues with OpenFrameworks and iOS</title>
		<link>http://mmmlabs.com/b/2012/04/fixing-orientation-issues-with-openframeworks-and-ios/</link>
		<comments>http://mmmlabs.com/b/2012/04/fixing-orientation-issues-with-openframeworks-and-ios/#comments</comments>
		<pubDate>Thu, 12 Apr 2012 20:56:06 +0000</pubDate>
		<dc:creator>Momo the Monster</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://mmmlabs.com/b/?p=279</guid>
		<description />
				<content:encoded><![CDATA[<p>I&#8217;m using openFrameworks alongside standard UIKit elements to build my app &#8220;Make Space Ship&#8221;, where you draw cool things with triangles. I&#8217;m getting close to release, and I was having all sorts of problems getting the orientation to launch correctly.</p>
<h3>The Problem</h3>
<p>The app is meant to be used in landscape orientations, so I set:</p>
<pre class="wp-code-highlight prettyprint">ofxiPhoneSetOrientation(OF_ORIENTATION_90_RIGHT);</pre>
<p>As I&#8217;d seen in the openFrameworks examples, and then handled orientation in testApp using deviceOrientationChanged. However, this was causing two different issues when the app was launched in something other than Landscape Right.</p>
<p>When the App launches, I&#8217;ve got a Space Ship (the character in the middle of the pictures below) as well as Start and Tutorial buttons. These are made with UIKit in an .xib file called TitleScreen, and overlaid on the live starfield, which is the GLView created by openFrameworks. This was accomplished by adding the TitleScreen to the GLView, like this:</p>
<pre class="wp-code-highlight prettyprint">
titleScreen = [[TitleScreen alloc] initWithNibName:@&quot;MakeSpaceShip&quot; bundle:nil];

// now move the view to the GLView to allow touches, removed from window automatically
[ofxiPhoneGetGLView() addSubview:titleScreen.view];
</pre>
<p>Under some circumstances, I&#8217;d get the correct TitleScreen orientation, but the starfield would be set up with a portrait orientation, like in this picture:</p>
<p><img src="http://mmmlabs.com/b/wp-content/uploads/2012/04/mss_badstarfield.jpg" alt="" title="mss_badstarfield" width="802" height="602" class="alignleft size-full wp-image-280" /></p>
<p>You can see that the stars do not fill up the full screen &#8211; their placement is random within the current screen bounds (using ofGetWidth and ofGetHeight), so they were being initialized at 768&#215;1024 instead of 1024&#215;768. This fixed itself once they started moving around, but I found that unacceptable.</p>
<p>Another circumstance would find the GLView set up correctly, but the TitleScreen would be rotated 90 degrees out of place after it was added to the GLView, like this:</p>
<p><img src="http://mmmlabs.com/b/wp-content/uploads/2012/04/mss_rotated_screen.jpg" alt="" title="mss_rotated_screen" width="802" height="602" class="alignleft size-full wp-image-281" /></p>
<p>Terrible! I found <a href="http://code.compartmental.net/2012/01/13/auto-rotation-in-ios-with-openframeworks/">Damian&#8217;s blog post about orientation</a> and tried his method. It worked, but whenever I touched a part of my TitleScreen that was transparent, the touches would not make it through to the openFrameworks view below. These touches worked fine in the original method, so I knew there had to be another way around.</p>
<h3>The Solution</h3>
<p>I took some of what worked from Damian&#8217;s post, and combined it with the method that allowed touches to get through. Here&#8217;s how it goes:</p>
<p>There are three classes at work here. </p>
<ul>
<li><strong>TitleScreen</strong> is a UIViewController which contains the UIView for all my UIKit elements, which are present as GUI throughout the app.</li>
<li><strong>TestApp</strong> is the openFrameworks application.</li>
<li><strong>AppSettings</strong> is a C++ file which is injected into all my Manager classes (I&#8217;ve got a Manager for the Starfield, the Triangles, the Tutorial, etc.) and holds Application State Settings. It also acts as the communication channel between my TitleScreen and my app. It&#8217;s instantiated in the TestApp, and then I inject a pointer to it into every Manager Class when I create them.</li>
</ul>
<p>I don&#8217;t call ofxIphoneSetOrientation in my TestApp setup method at all. here&#8217;s what I do:</p>
<pre class="wp-code-highlight prettyprint">
   // create and initialize titleScreen
    titleScreen = [[TitleScreen alloc] initWithNibName:@&quot;MakeSpaceShip&quot; bundle:nil];

   // inject settings
    titleScreen.settings = settings;
    
    // adding the titlescreen to the main window sets the orientation properly
    [ofxiPhoneGetUIWindow() addSubview:titleScreen.view];

    // now move the view to the GLView to allow touches, removed from window automatically
    [ofxiPhoneGetGLView() addSubview:titleScreen.view];
</pre>
<p>Previously, I had been adding the TitleScreen to the GLView, which may or may not have already been rotated, and calls to all three methods of getting device orientation gave unpredictable results. Now, I&#8217;m adding the TitleScreen directly to the UIWindow at the top of the View hierarchy, so it orients itself correctly. However, leaving it here will cancel touch events going through to the oF app, so once it&#8217;s been oriented, I add it to the GLView, which automatically removes it from the Window, since UIViews can only have one SuperView.</p>
<p>There&#8217;s just one further piece missing after this, and it&#8217;s a method to rotate the GLView. openFrameworks provides a convenience method for this in TestApp called deviceOrientationChanged. However, I couldn&#8217;t get this to work right any way I tried. So instead, I added this to the TitleScreen implementation:</p>
<pre class="wp-code-highlight prettyprint">
- (void) willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
    settings-&gt;setOrientation(toInterfaceOrientation);
    // snap to new rotation
    [UIView setAnimationsEnabled:NO];
}
</pre>
<p>So once the TitleScreen decides that it&#8217;s ready to move to a new orientation, it tells the AppSettings class (via a pointer called settings) to run the setOrientation method using the new orientation. Here&#8217;s what that method looks like:</p>
<pre class="wp-code-highlight prettyprint">
    void setOrientation(int newOrientation) {
        switch (newOrientation) {
            case OF_ORIENTATION_90_LEFT:
                ofxiPhoneSetOrientation(OF_ORIENTATION_90_RIGHT);
                break;
                
            case OF_ORIENTATION_90_RIGHT:
                ofxiPhoneSetOrientation(OF_ORIENTATION_90_LEFT);
                break;
        }
    }
</pre>
<p>I&#8217;m using the ofxIphoneSetOrientation method, and flipping left and right since they seem to report backwards to what I expect. And with that, my app launches with correct orientation no matter which way the iPad is facing (Portrait, Upside-Down, Landscape-Left, Landscape-Right, sitting flat on the desk in Upside-Down mode, etc.), and correctly snaps to the right orientation if you flip it around. The final correct intro screen:</p>
<p><img src="http://mmmlabs.com/b/wp-content/uploads/2012/04/mss_correct.jpg" alt="" title="mss_correct" width="802" height="602" class="alignleft size-full wp-image-282" /></p>
<p>Woohoo!</p>
<p>I&#8217;ve learned a LOT through making this Application, so I&#8217;ll be documenting my experience here as time allows. I&#8217;ve got a new theme in the wings, too (this one dates back several years), and this blog will eventually be merged into the main mmmlabs.com site, which was not easily accomplished with the current theme there.</p>
<p>Hope this helps someone out!</p>
<img src="http://feeds.feedburner.com/~r/MomoTheMonster/~4/ZXFcEWSTfIA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mmmlabs.com/b/2012/04/fixing-orientation-issues-with-openframeworks-and-ios/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Digital Drawing Event Tonight</title>
		<link>http://mmmlabs.com/b/2010/12/digital-drawing-event-tonight/</link>
		<comments>http://mmmlabs.com/b/2010/12/digital-drawing-event-tonight/#comments</comments>
		<pubDate>Fri, 10 Dec 2010 00:51:40 +0000</pubDate>
		<dc:creator>Momo the Monster</dc:creator>
				<category><![CDATA[VJ]]></category>

		<guid isPermaLink="false">http://mmmlabs.com/b/?p=273</guid>
		<description />
				<content:encoded><![CDATA[<p><img src="http://mmmlabs.com/b/wp-content/uploads/2010/12/norman_draw.jpg" alt="norman_draw" title="norman_draw" width="600" height="358" class="aligncenter size-full wp-image-274" /></p>
<p>Join us tonight at theSlate in NW Portland and try out our two digital drawing installations while you munch on some <a href="http://koifusionpdx.com/">Koi Fusion</a> fantasticness.</p>
<p>Free<br />
Thursday, December 9th<br />
6pm-9pm<br />
<a href="http://maps.google.com/maps?q=2001+NW+19th+ave&#038;ie=UTF8&#038;hq=&#038;hnear=2001+NW+19th+Ave,+Portland,+Multnomah,+Oregon+97209&#038;gl=us&#038;ei=tnkBTdmALsH98AaOzIzrAg&#038;oi=geocode_result&#038;ved=0CBMQ8gEwAA&#038;z=16">2001 NW 19th Ave #104</a></p>
<img src="http://feeds.feedburner.com/~r/MomoTheMonster/~4/VUWRm6vl0b8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mmmlabs.com/b/2010/12/digital-drawing-event-tonight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bridge Invaders Released</title>
		<link>http://mmmlabs.com/b/2010/10/bridge-invaders-released/</link>
		<comments>http://mmmlabs.com/b/2010/10/bridge-invaders-released/#comments</comments>
		<pubDate>Fri, 08 Oct 2010 19:19:04 +0000</pubDate>
		<dc:creator>Momo the Monster</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[incredible]]></category>
		<category><![CDATA[VJ]]></category>

		<guid isPermaLink="false">http://mmmlabs.com/b/?p=261</guid>
		<description />
				<content:encoded><![CDATA[<style type="text/css"><!--
.entry-thumb {display:none;}
--></style>
<p><a href="market://details?id=air.BridgeInvaders"><img class="aligncenter" title="Get it Now" alt="" src="http://mmmlabs.com/serve/android/BridgeInvaders/get_it_now.png" width="800" height="450" /></a></p>
<p>I&#8217;m proud to announce the beta release of MMMLabs&#8217; first Android Application &#8211; Bridge Invaders!<br />
It&#8217;s a lo-res Drawing and Animation application Check out the video below for a taste:</p>
<p><iframe src="http://player.vimeo.com/video/15669177" width="498" height="280" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p>So you draw little 5-by-5 animations frame-by-frame, and then you can play them back, and tap in the tempo.<br />
You can save and load &#8211; to manage animations beyond that, you can do it directly &#8211; they&#8217;re all saved as XML files in SDCARD/BridgeInvaders</p>
<p>Please let me know if you have any problems or feature suggestions aside from the following:</p>
<ul>
<li>Feature: Copy/Paste Frames</li>
<li>Feature: Change Mirroring Modes</li>
<li>Feature: Delete Saved Files from GUI</li>
<li>Issue: Previous/Next Frame Buttons are laggy</li>
<li>Issue: Large animations take a LONG time to load</li>
</ul>
<h2>Geeky Details</h2>
<p>Bridge Invaders is developed using AIR for Android, which enables Actionscript 3 applications to run on the Android platform (AS3 is commonly known as the language that powers Flash). This application was originally developed as an installation for the <a href="http://pdxbridgefestival.org/">PDX Bridge Festival</a> as a large-scale interactive video project. Thanks to <a href="http://www.wk.com/wke">WKE</a> for sponsoring some of the development, <a href="http://www.fdt.powerflasher.com/">FDT</a> for their awesome dev tools, <a href="http://www.robotlegs.org/">Robotlegs</a> for keeping the code manageable, <a href="http://www.hypeframework.org/">the Hype Framework</a> for the shortcuts, and to <a href="http://levitated.net/daily/levInvaderFractal.html">Jared Tarbell</a> and <a href="http://www.space-invaders.com/sominv.html">Invader</a> for the inspiration.</p>
<h2>Direct Download</h2>
<h3>If you cannot find it in the market, it means it probably will not work on your phone.</h3>
<p>HOWEVER &#8211; if you want to install it anyway just to try, you can download it here: <a href="http://mmmlabs.com/serve/android/BridgeInvaders/BridgeInvadersDroid_latest.zip">Bridge Invaders for Android</a></p>
<img src="http://feeds.feedburner.com/~r/MomoTheMonster/~4/X1wwWcJ_h8o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mmmlabs.com/b/2010/10/bridge-invaders-released/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Scaling Nightmares in AIR</title>
		<link>http://mmmlabs.com/b/2010/09/scaling-nightmares-in-air/</link>
		<comments>http://mmmlabs.com/b/2010/09/scaling-nightmares-in-air/#comments</comments>
		<pubDate>Thu, 30 Sep 2010 20:04:54 +0000</pubDate>
		<dc:creator>Momo the Monster</dc:creator>
				<category><![CDATA[flash]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[full screen]]></category>
		<category><![CDATA[scaling]]></category>
		<category><![CDATA[secondary]]></category>
		<category><![CDATA[window]]></category>

		<guid isPermaLink="false">http://mmmlabs.com/b/?p=256</guid>
		<description />
				<content:encoded><![CDATA[<p>I spent way too long on this, hopefully someone else can benefit from my trials.</p>
<p>I&#8217;m currently developing a system for playback and control of live visuals using Ableton Live and Flash &#8211; more on the details of this project soon. One of the core needs is to have controls in one window and playback  in another, which is piped out to a projector.</p>
<p>So upon starting my Storyteller AIR application, I load controls into my main window, and spawn a secondary Utility window which holds all the movies for playback. These are all added to a single view object I call the PlayBox. The problem arises when the window is resized or full-screened. AIR doesn&#8217;t like using anything besides StageScaleMode.NO_SCALE, and Adobe&#8217;s documentation discourages using any other scaling mode.</p>
<h2>Fighting the System</h2>
<p>What I really want is StageScaleMode.SHOW_ALL, so that the whole of each movie will be shown, no matter the aspect ratio of the window, with black bars at the top or sides as necessary. Unfortunately, using this scale mode resulted in HUGE movies, of which I could see only a corner. I thought I&#8217;d hit the jackpot when I found <a href="http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7e31.html">this Adobe documentation</a> which spelled out what was going on and how to fix it:</p>
<p style="line-height: 19px; font-size: 13px; margin: 0px; border: 1px solid #f0f0f0;">&#8220;&#8230;When you create a NativeWindow object, AIR chooses an arbitrary relationship between the window size and the scale factor of 72:1. Thus, if your window is 72&#215;72 pixels, a 10&#215;10 rectangle added to the window is drawn the correct size of 10&#215;10 pixels. However, if the window is 144&#215;144 pixels, then a 10&#215;10 pixel rectangle is scaled to 20&#215;20 pixels. If you insist on using a <br />
<samp style="line-height: 21px; font-family: 'Courier New', Courier, monospace; font-size: 9pt;">scaleMode</samp>
<p> other than <br />
<samp style="line-height: 21px; font-family: 'Courier New', Courier, monospace; font-size: 9pt;">noScale</samp>
<p> for a window stage, you can compensate by setting the scale factor of any display objects in the window to the ratio of 72 pixels to the current width and height of the stage. For example, the following code calculates the required scale factor for a display object named <br />
<samp style="line-height: 21px; font-family: 'Courier New', Courier, monospace; font-size: 9pt;">client</samp>
<p>:</p>
<pre class="wp-code-highlight prettyprint">if(newWindow.stage.scaleMode != StageScaleMode.NO_SCALE){
client.scaleX = 72/newWindow.stage.stageWidth;
client.scaleY = 72/newWindow.stage.stageHeight;
}</pre>
<p>Unfortunately, this never worked quite right. I applied this formula to my main PlayBox view object before adding any loaded movies to it, but it was never quite tall or wide enough.</p>
<h2>Giving In</h2>
<p>So I scrapped that idea (after, of course, hours of trying to get this work way too late at night when my brain was fried and wouldn&#8217;t give it). The new plan was to use NO_SCALE, and instead listen for window resizing and adjust the PlayBox size and position to match.</p>
<p>It was still not as straightforward as I thought. The idea was simple enough &#8211; listen for NativeWindowBoundsEvent.RESIZE, take a look at the new afterBounds or stageWidth, scale to match, and center. The problem was in centering the PlayBox. The formula should be:</p>
<pre class="wp-code-highlight prettyprint">view.x = (rect.width * 0.5) - (view.width * 0.5);</pre>
<p>Where view is the PlayBox, and rect are the new bounds. I swear this was working earlier in development. The issue is that the view&#8217;s width does not directly correlate to anything I could see. If I were to take the bottom edge of the window and pull it straight down (making it taller), the view&#8217;s width would fluctuate in a Sine-like pattern. This means that I couldn&#8217;t do any calculations involving the width of the view.</p>
<h2>The Answer</h2>
<p>Ultimately, I devised a solution that works, though its reliance on constants isn&#8217;t ideal. I store two numbers for the original width and height of the window and stage &#8211; 640 and 480, in this case. These go in a Preferences model I&#8217;ll call prefs. On resize, I generate a newScale variable like this:</p>
<pre class="wp-code-highlight prettyprint">var newScale : Number = window.stage.stageHeight / prefs.playHeight;</pre>
<p>Then I can apply it to the PlayBox:</p>
<pre class="wp-code-highlight prettyprint">view.scaleX = newScale;
view.scaleY = newScale;
view.x = (view.stage.stageWidth - (prefs.playWidth *  newScale)) * 0.5;</pre>
<p>By taking the original playWidth variable and multiplying it by the new scale, I get a reliable width for the PlayBox. Then I subtract the width of the PlayBox from the width of the stage, which gives me the total number of &#8216;extra pixels&#8217; I have. Divide this by two (aka multiply by 0.5) and we&#8217;ve got the number of pixels that should be to the left of the PlayBox in order to center it. Phew!</p>
<img src="http://feeds.feedburner.com/~r/MomoTheMonster/~4/GS_uE09hqxw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mmmlabs.com/b/2010/09/scaling-nightmares-in-air/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SXSW Panels of Interest for Visualists</title>
		<link>http://mmmlabs.com/b/2010/08/sxsw-panels-of-interest-for-visualists/</link>
		<comments>http://mmmlabs.com/b/2010/08/sxsw-panels-of-interest-for-visualists/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 22:21:45 +0000</pubDate>
		<dc:creator>Momo the Monster</dc:creator>
				<category><![CDATA[VJ]]></category>

		<guid isPermaLink="false">http://mmmlabs.com/b/?p=254</guid>
		<description />
				<content:encoded><![CDATA[<p>SXSW Panel voting ends today. Here are the panels I found which may be of interest to VJs, Visualists, and Interactive Artists:</p>
<p>Throwing Beam for Fun and Profit<br />
<a style="color: #5c4520;" href="http://panelpicker.sxsw.com/ideas/view/7548" target="_blank">http://panelpicker.sxsw.com/ideas/view/7548</a></p>
<p>Motion Paintings, Visual Storytelling and Deaf Film<br />
<a style="color: #5c4520;" href="http://panelpicker.sxsw.com/ideas/view/7886" target="_blank">http://panelpicker.sxsw.com/ideas/view/7886</a></p>
<p>Beyond 3D: How Interactive Screenings Will Save Cinema<br />
<a style="color: #5c4520;" href="http://panelpicker.sxsw.com/ideas/view/7020" target="_blank">http://panelpicker.sxsw.com/ideas/view/7020</a></p>
<p>DIY Motion Tracking for Public Spaces<br />
<a style="color: #5c4520;" href="http://panelpicker.sxsw.com/ideas/view/7003" target="_blank">http://panelpicker.sxsw.com/ideas/view/7003</a></p>
<p>People as Peripherals: The Future of Gesture Interface<br />
<a style="color: #5c4520;" href="http://panelpicker.sxsw.com/ideas/view/5716" target="_blank">http://panelpicker.sxsw.com/ideas/view/5716</a></p>
<p>Developing Futuristic Multi-Touch / Multi-Screen Applications<br />
<a style="color: #5c4520;" href="http://panelpicker.sxsw.com/ideas/view/6154" target="_blank">http://panelpicker.sxsw.com/ideas/view/6154</a></p>
<p>Interactive Narratives: Creating the Future of Literature<br />
<a style="color: #5c4520;" href="http://panelpicker.sxsw.com/ideas/view/6462" target="_blank">http://panelpicker.sxsw.com/ideas/view/6462</a></p>
<p>3D Interfaces: A Primer on Stereoscopic Interaction Design<br />
<a style="color: #5c4520;" href="http://panelpicker.sxsw.com/ideas/view/5934" target="_blank">http://panelpicker.sxsw.com/ideas/view/5934</a></p>
<p>Data Visualization: Sci-Fi Interfaces in the Real World<br />
<a style="color: #5c4520;" href="http://panelpicker.sxsw.com/ideas/view/7358" target="_blank">http://panelpicker.sxsw.com/ideas/view/7358</a></p>
<p>Toss the Projector: Redefining the Presenter/Audience Dynamic<br />
<a style="color: #5c4520;" href="http://panelpicker.sxsw.com/ideas/view/6389" target="_blank">http://panelpicker.sxsw.com/ideas/view/6389</a></p>
<p>Hybridizing Interaction with Motion Design: User Interfaces<br />
<a style="color: #5c4520;" href="http://panelpicker.sxsw.com/ideas/view/5568" target="_blank">http://panelpicker.sxsw.com/ideas/view/5568</a></p>
<p>The Future of Touch User Interface Design<br />
<a style="color: #5c4520;" href="http://panelpicker.sxsw.com/ideas/view/5984" target="_blank">http://panelpicker.sxsw.com/ideas/view/5984</a></p>
<p>Fun With The Lights Off: Interactivity Without Graphics<br />
<a style="color: #5c4520;" href="http://panelpicker.sxsw.com/ideas/view/7208" target="_blank">http://panelpicker.sxsw.com/ideas/view/7208</a></p>
<p>Getting Touchy: Going Beyond the Keyboard and Mouse<br />
<a style="color: #5c4520;" href="http://panelpicker.sxsw.com/ideas/view/6662" target="_blank">http://panelpicker.sxsw.com/ideas/view/6662</a></p>
<p>Creating Interactive Art Through Social Media Collaboration<br />
<a style="color: #5c4520;" href="http://panelpicker.sxsw.com/ideas/view/7239" target="_blank">http://panelpicker.sxsw.com/ideas/view/7239</a></p>
<p>The Music of Interaction Design<br />
<a style="color: #5c4520;" href="http://panelpicker.sxsw.com/ideas/view/6643" target="_blank">http://panelpicker.sxsw.com/ideas/view/6643</a></p>
<p>Realtime Interactivity for Music, Broadcast and Art<br />
<a style="color: #5c4520;" href="http://panelpicker.sxsw.com/ideas/view/5400" target="_blank">http://panelpicker.sxsw.com/ideas/view/5400</a></p>
<p>Realtime Mixing In Video Games<br />
<a style="color: #5c4520;" href="http://panelpicker.sxsw.com/ideas/view/6648" target="_blank">http://panelpicker.sxsw.com/ideas/view/6648</a></p>
<img src="http://feeds.feedburner.com/~r/MomoTheMonster/~4/GmQ76IFU7_4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mmmlabs.com/b/2010/08/sxsw-panels-of-interest-for-visualists/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bridge Invaders AIR Drawing Application</title>
		<link>http://mmmlabs.com/b/2010/08/bridge-invaders-air-drawing-application/</link>
		<comments>http://mmmlabs.com/b/2010/08/bridge-invaders-air-drawing-application/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 04:46:15 +0000</pubDate>
		<dc:creator>Momo the Monster</dc:creator>
				<category><![CDATA[flash]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[VJ]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[incredible]]></category>

		<guid isPermaLink="false">http://mmmlabs.com/b/?p=245</guid>
		<description />
				<content:encoded><![CDATA[<div style="clear:both; height:10px">&nbsp;</div>
<div style="float:left; width:450px; font-size:14px; line-height:22px;">While I was freelancing at <a href="http://www.wk.com">Wieden+Kennedy</a>, the <a href="http://pdxbridgefestival.org/">PDX Bridgefest</a> crew got in touch, looking for collaborators, and WKE gave me the chance to jump on board! I decided to augment an application I was developing and create a way for festival attendees to tag on the bridge without breaking any laws, and thus the Bridge Invaders installation was born.</div>
<div style="float:left;margin-left:15px; background:#ccc; padding:5px;>[flickrvideo height="168" width="300"]http://www.flickr.com/photos/momo_the_monster/4851182810/[/flickrvideo]</div>
<div style="clear:both; height:1px">&nbsp;</div>
<hr />
<p>The application itself is an AIR app, so it&#8217;s all written in Actionscript 3, with the graphics designed in Flash. So there are actually three versions &#8211; one for the Installation, which runs as a full-screen AIR app on my netbook, a web version which will be up soon (which drops the saving capabilities), and my favorite &#8211; an Android app which runs on my HTC Incredible.</p>
<p><a href="http://mmmlabs.com/b/wp-content/uploads/2010/08/bi-android-medium.jpg" rel="fancybox[245]"><img class="aligncenter size-full wp-image-246" title="bi-android-medium" src="http://mmmlabs.com/b/wp-content/uploads/2010/08/bi-android-medium.jpg" alt="bi-android-medium" width="640" height="372" /></a></p>
<p>If you&#8217;re brave, you can download the file to run on your own phone &#8211; you&#8217;ll need an Android phone running FroYo (Android OS 2.2). You&#8217;ll also need to install the <a href="http://labs.adobe.com/technologies/air2/android/">pre-release Air for Android runtime</a>. This stuff will all be more accessible once Air for Android goes official later this year. If that&#8217;s not enough to scare you off, then <a href="http://mmmlabs.com/serve/android/BridgeInvaders/BridgeInvadersDroid_latest.zip">Download Bridge Invaders for Android!</a></p>
<h2>The Future</h2>
<p>I wanted to get the Android app out there to any early adopters and interested parties, while I get the desktop and web versions ready. There is, technically, a desktop version working &#8211; the one I used for the installation &#8211; but it requires a touchscreen for use. I developed it on my Lenovo S10-3t, which is a nifty little convertible touchscreen netbook &#8211; it&#8217;s a great Android dev machine, as it will do two-finger-touch, and run AIR apps in either portrait or landscape mode.</p>
<p>Beyond the installation, the underlying engine (which I call PixelAnimator, original, eh?) is designed for musical performance. The idea is that I can make these minimal animations wherever I am, and then save each one out, and load them into a performance application for playback alongside a musician, projected onto a proper backdrop. Thus PixelAnimator becomes a visual instrument, allowing me to work on my Performance Visuals anywhere I like. Additionally, the HTC Incredible allows me to send composite video out of the USB port, meaning I could perform directly from the phone itself!</p>
<p>Major thanks to Adobe for putting out the prerelease, <a href="http://www.wk.com/wke">WKE</a> for sponsoring some of the development, <a href="http://www.fdt.powerflasher.com/">FDT</a> for their awesome dev tools, <a href="http://www.robotlegs.org/">Robotlegs</a> for keeping the code manageable, <a href="http://www.hypeframework.org/">the Hype Framework</a> for the shortcuts, and to <a href="http://levitated.net/daily/levInvaderFractal.html">Jared Tarbell</a> and <a href="http://www.space-invaders.com/sominv.html">Invader</a> for the inspiration.</p>
<img src="http://feeds.feedburner.com/~r/MomoTheMonster/~4/PtqZlzayapU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mmmlabs.com/b/2010/08/bridge-invaders-air-drawing-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CopySwitch – Change Text in a Batch of FLAs</title>
		<link>http://mmmlabs.com/b/2010/04/copyswitch-change-text-in-a-batch-of-flas/</link>
		<comments>http://mmmlabs.com/b/2010/04/copyswitch-change-text-in-a-batch-of-flas/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 17:04:44 +0000</pubDate>
		<dc:creator>Momo the Monster</dc:creator>
				<category><![CDATA[flash]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[jsfl]]></category>
		<category><![CDATA[utility]]></category>

		<guid isPermaLink="false">http://mmmlabs.com/b/?p=240</guid>
		<description><![CDATA[A handy tool for banner slaves]]></description>
				<content:encoded><![CDATA[<h2><span style="font-weight: normal; font-size: 13px;">I&#8217;ve currently got the good fortune to be working with the Digital Studio team at <a href="http://www.wk.com/">W+K</a> on a big project with lots of banners that will be produced in-house as well as sent out to studios around the world.</span></h2>
<h2 style="font-size: 1.5em;">The Problem</h2>
<p>As is often the case with banners, we&#8217;ve got a lot of text that may change multiple times before we ship. Every foreign studio will need to switch out the text within each banner as well. I&#8217;ve been doing lots of localization work using AS3 loading language for XML files, but we don&#8217;t have that luxury in the world of banners, where any extra kilobyte of load code may take us over our filesize limits.</p>
<h2 style="font-size: 1.5em;">The Solution</h2>
<p>Enter <a href="http://help.adobe.com/en_US/Flash/10.0_ExtendingFlash/index.html">JSFL</a>. For those not yet in the know, it&#8217;s scripting for the Flash IDE &#8211; Javascript files which can control many aspects of the interface, like manipulating the library, timeline, tweens, renaming, organizing and more. I had a hunch that I could build something that would perform the text-switching functions of XML Language loading, but at authoring time instead of runtime, simplifying the resulting XML file.</p>
<h2 style="font-size: 1.5em;">How it works</h2>
<p>You create a text file which lists object names and the text they should have (the download includes an example file). It&#8217;s XML-like, but simplified to be easy to read an edit. You run the CopySwitch script (by double-clicking on it) and select the language file you just created when prompted. Flash will switch out all the text you described in any open Flash file. So you can change the copy in 20 banners in a matter of seconds. Works with static or dynamic text.</p>
<p><a href="http://mmmlabs.com/serve/mmmtools/CopySwitch_v1_0.zip">Download CopySwitch v1.0</a></p>
<img src="http://feeds.feedburner.com/~r/MomoTheMonster/~4/i5M3hQdIlyI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mmmlabs.com/b/2010/04/copyswitch-change-text-in-a-batch-of-flas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Custom VJ Box version 3</title>
		<link>http://mmmlabs.com/b/2009/09/custom-vj-box-version-3/</link>
		<comments>http://mmmlabs.com/b/2009/09/custom-vj-box-version-3/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 02:42:10 +0000</pubDate>
		<dc:creator>Momo the Monster</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://mmmlabs.com/b/?p=234</guid>
		<description />
				<content:encoded><![CDATA[<p><img class="alignright" title="Custom VJ Box v3" src="http://farm4.static.flickr.com/3482/3951513541_7bb5e40f7c.jpg" alt="Custom VJ Box version 3" width="500" height="333" /></p>
<p>I&#8217;m getting ready to head to Seattle tomorrow for the Decibel Festival. I&#8217;ll be performing graphics live for <a href="http://www.dbfestival.com/?p=437">Dilo</a> on <a href="http://www.dbfestival.com/?p=587">Friday night</a> and <a href="http://www.dbfestival.com/?p=427">Daedalus</a> on <a href="http://www.dbfestival.com/?p=606">Saturday</a>. I&#8217;ve spent much of the last two days prepping content and working on (yet another) new performance system/style, and decided to take a break from staring at the screen today to build prototype three of my VJ Box.</p>
<p>This version centers around the APC40, which can face the artist or the audience with a simple flip of the box. Inside the box will be my external hard drive(s), USB Hub, Power Strips and lots of cables. The idea is to plug in as much as possible beforehand, so you have only a few last connections to make once you&#8217;ve arrived at the venue.</p>
<p>Inspirational props go to <a href="http://www.vimeo.com/middleman">Middleman</a> for his amazing Plexiglass Table, <a href="http://www.pleasuretek.com/">Pleasuretek</a> for making me want a mobile rig, Daedalus for tilting his <a href="http://monome.org">monome</a> towards the audience for all to see, and <a href="http://www.theavclub.tv/">VJ Exavior</a> for showing off his Velcro-Filled VJ Coffin all those years ago.<br />
				<div id="gallery-081b368c" class="flickr-gallery photoset">
													<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=3952292890"><img class="photo" title="Custom VJ Box v3" src="http://farm3.static.flickr.com/2626/3952292890_c58a15d012_s.jpg" alt="Custom VJ Box v3" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=3952292674"><img class="photo" title="Custom VJ Box v3" src="http://farm3.static.flickr.com/2625/3952292674_02993f0013_s.jpg" alt="Custom VJ Box v3" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=3951514441"><img class="photo" title="Custom VJ Box v3" src="http://farm3.static.flickr.com/2511/3951514441_6215fafcfa_s.jpg" alt="Custom VJ Box v3" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=3951514239"><img class="photo" title="Custom VJ Box v3" src="http://farm3.static.flickr.com/2477/3951514239_4fc9291dfa_s.jpg" alt="Custom VJ Box v3" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=3952292010"><img class="photo" title="Custom VJ Box v3" src="http://farm3.static.flickr.com/2520/3952292010_ab249bef64_s.jpg" alt="Custom VJ Box v3" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=3951513755"><img class="photo" title="Custom VJ Box v3" src="http://farm3.static.flickr.com/2490/3951513755_1e049be62f_s.jpg" alt="Custom VJ Box v3" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=3951513541"><img class="photo" title="Custom VJ Box v3" src="http://farm4.static.flickr.com/3482/3951513541_7bb5e40f7c_s.jpg" alt="Custom VJ Box v3" /></a>
								</div>
												<div class="fg-clear"></div>
				</div>
													<div class="fg-clear alignright">Powered by <a href="http://co.deme.me/projects/flickr-gallery/">Flickr Gallery</a></div>
								<div class="fg-clear"></div>
							<script type="text/javascript">
											jQuery(document).ready(function(){
							jQuery("#gallery-081b368c .flickr-thumb img").flightbox({size_callback: get_sizes});
						});
										
										//-->
				</script>
			</p>
<img src="http://feeds.feedburner.com/~r/MomoTheMonster/~4/g984RryIGVY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mmmlabs.com/b/2009/09/custom-vj-box-version-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
