<?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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>VJ Kung Fu</title>
	
	<link>http://vjkungfu.com</link>
	<description>A Motion Magazine for DIY Video Artists</description>
	<lastBuildDate>Wed, 02 Nov 2011 02:40:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/VjKungFu" /><feedburner:info uri="vjkungfu" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Playtime for Selkie and Momo</title>
		<link>http://feedproxy.google.com/~r/VjKungFu/~3/zo96SsoDUsE/</link>
		<comments>http://vjkungfu.com/archive/playtime-for-selkie-and-momo/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 02:38:30 +0000</pubDate>
		<dc:creator>Momo the Monster</dc:creator>
				<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://vjkungfu.com/?p=240</guid>
		<description><![CDATA[Selkie is the Aerialist who performs with The Glitch Mob. After the LA Show, we got together to play with some realtime projection + dancing stuff. I had only my phone (Samsung Droid Charge) to record with, hence the low-res image. The first video is an openFrameworks visual I&#8217;m working on, controlled here with the [...]]]></description>
			<content:encoded><![CDATA[<p>Selkie is the Aerialist who performs with The Glitch Mob. After the LA Show, we got together to play with some realtime projection + dancing stuff. I had only my phone (Samsung Droid Charge) to record with, hence the low-res image.</p>
<p>The first video is an openFrameworks visual I&#8217;m working on, controlled here with the touchpad on my MacBook Pro, which can read multiple fingers at once.</p>
<p>The second video is FiddlyBits running on an iPad2. You can get it free at <a href="http://fiddlybits.mmmlabs.com" onclick="javascript:pageTracker._trackPageview('/outbound/article/fiddlybits.mmmlabs.com');">fiddlybits.mmmlabs.com</a>.</p>
<p>The third video is Animata, controlled by a Kinect and OSCeleton. I got all the info on how to do this from  <a href="http://github.com/?Sensebloom/?OSCeleton" onclick="javascript:pageTracker._trackPageview('/outbound/article/github.com');">github.com/?Sensebloom/?OSCeleton</a></p>
<p>The music is the CC-Licensed track &#8220;Lightyear&#8221; by 	<a href="http://myspace.com/?anitek123" onclick="javascript:pageTracker._trackPageview('/outbound/article/myspace.com');">Anitek</a><br />
.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/VjKungFu?a=zo96SsoDUsE:6yGCr0yHJ74:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/VjKungFu?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/VjKungFu/~4/zo96SsoDUsE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://vjkungfu.com/archive/playtime-for-selkie-and-momo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://vjkungfu.com/archive/playtime-for-selkie-and-momo/</feedburner:origLink></item>
		<item>
		<title>New Movie Loader in Quartz Composer for Snow Leopard</title>
		<link>http://feedproxy.google.com/~r/VjKungFu/~3/ZeNRtpsMqpc/</link>
		<comments>http://vjkungfu.com/archive/new-movie-loader-in-quartz-composer-for-snow-leopard/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 17:21:01 +0000</pubDate>
		<dc:creator>Momo the Monster</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[quartz composer]]></category>
		<category><![CDATA[snow leopard]]></category>

		<guid isPermaLink="false">http://vjkungfu.com/?p=205</guid>
		<description><![CDATA[Exploring the awesome updates to the Movie Loader patch in the new Quartz Composer for Snow Leopard]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-208" title="playMovie" src="http://vjkungfu.com/wp-content/uploads/2009/08/playMovie.jpg" alt="playMovie" width="656" height="111" /></p>
<p>Quartz Composer has always had an easy way to play movies. You drag and drop your movie into the editor, connect the image ports and the movie plays. However, its control over movies has left much to be desired. We can set the timebase to external for a movie, which the exposes the <em>Patch Time</em> parameter. If we change that the movie shuttles to our new position, but we can&#8217;t get it playing again without changing our timebase. And you can&#8217;t change the timebase with an external controller, so this method is out for live performance.</p>
<p>Also, to play the audio track of a movie, you have to switch to Asynchronous mode. In Leopard, this also meant losing any control over playback.</p>
<p>The movie loader in Snow Leopard changes all of that. We can zoom between positions in our movie, while the video and audio play continuously.</p>
<p>Let&#8217;s take a look.</p>
<p><img class="alignright size-full wp-image-210" title="movieLoader" src="http://vjkungfu.com/wp-content/uploads/2009/08/movieLoader.jpg" alt="movieLoader" width="224" height="119" />Asynchronous mode in Snow Leopard gives us a lot more options than it did before. Here are the new parameters we&#8217;ll focus on:</p>
<dl>
<dt>Reset Signal:</dt>
<dd> Shuttles the movie back to the <em>Selection Start</em> and continues playing.</dd>
<dt>Selection Start:</dt>
<dd> The playhead, effectively. Changing this will not affect current position until <em>Reset</em> = True.</dd>
<dt>Rate:</dt>
<dd> Playback speed for audio and video. Slow-mo effect also pitches audio up and down. Works in reverse.</dd>
</dl>
<h3>Building it Yourself</h3>
<p>In this short tutorial, you&#8217;ll learn how to use these parameters to control your video and audio.</p>
<ol>
<li>Start a new composition and add a <strong>Clear</strong> patch and a <strong>Billboard</strong>.</li>
<li>Set the <strong>Billboard&#8217;s</strong> <em>Width</em> to 2.</li>
<li>Drag in a movie from your hard disk (an SSD is highly recommended). You can download a free high-quality countdown movie at the end of this article.</li>
<li>Connect the <em>Image</em> output of your <strong>Movie Loader</strong> to the <em>Image</em> input of your <strong>Billboard</strong>.</li>
<li>Use the Inspector (Command-i) on your <strong>Movie Loader</strong> to turn on Asynchronous mode.</li>
<li>Set the<strong> Movie Loader&#8217;s</strong> <em>Rate</em> to 0 to stop playback.</li>
<li>Change the <em>Selection Start </em>to an arbitrary amount and check the <em>Reset</em> box to see your movie jump to the new point. Note that you have to uncheck and then recheck the box to get it to jump again.</li>
</ol>
<p>Now we just have to combine these actions &#8211; setting a new Selection Start and resetting the movie. I&#8217;ve got a finished version of this page available for download at the end of this article. I recommend you download it and open it up.</p>
<h3>Playing With My Version</h3>
<p><img class="aligncenter size-full wp-image-213" title="movieControlAdv" src="http://vjkungfu.com/wp-content/uploads/2009/08/movieControlAdv.jpg" alt="movieControlAdv" width="683" height="202" /></p>
<p>In this setup,  we still have the Movie connecting to the Billboard, and we&#8217;ve got two new additional patches. We&#8217;ve got the <strong>Keyboard</strong> patch, which sends key signals through the <strong>Javascript</strong> patch, which interprets them, sends the <em>Position</em> data out to the <em>Selection Start</em> on the <strong>Movie</strong>, and also sends a <em>Reset</em> signal.</p>
<p>Notice that the <strong>Movie&#8217;s</strong> <em>Duration</em> is being fed into the <strong>Javascript</strong> patch. This is how the <strong>Javascript</strong> patch knows where in the movie to jump to. For the curious, here&#8217;s the Javascript code:</p>
<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;height:300px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span>__number position<span style="color: #339933;">,</span> __boolean reset<span style="color: #009900;">&#41;</span> main <span style="color: #009900;">&#40;</span>__number inputNumber<span style="color: #009900;">&#91;</span>8<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> __number duration<span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
<span style="color: #003366; font-weight: bold;">var</span> result <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Object<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #003366; font-weight: bold;">var</span> slice <span style="color: #339933;">=</span> duration<span style="color: #339933;">/</span><span style="color: #CC0000;">8</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> inputNumber<span style="color: #009900;">&#91;</span>0<span style="color: #009900;">&#93;</span> <span style="color: #339933;">&gt;</span> 0 <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
result.<span style="color: #660066;">position</span> <span style="color: #339933;">=</span> slice<span style="color: #339933;">*</span>1<span style="color: #339933;">-</span>slice<span style="color: #339933;">;</span><br />
result.<span style="color: #660066;">reset</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span><br />
<br />
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> inputNumber<span style="color: #009900;">&#91;</span>1<span style="color: #009900;">&#93;</span> <span style="color: #339933;">&gt;</span> 0 <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
result.<span style="color: #660066;">position</span> <span style="color: #339933;">=</span> slice<span style="color: #339933;">*</span>2<span style="color: #339933;">-</span>slice<span style="color: #339933;">;</span><br />
result.<span style="color: #660066;">reset</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span><br />
<br />
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> inputNumber<span style="color: #009900;">&#91;</span>2<span style="color: #009900;">&#93;</span> <span style="color: #339933;">&gt;</span> 0 <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
result.<span style="color: #660066;">position</span> <span style="color: #339933;">=</span> slice<span style="color: #339933;">*</span>3<span style="color: #339933;">-</span>slice<span style="color: #339933;">;</span><br />
result.<span style="color: #660066;">reset</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span><br />
<br />
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> inputNumber<span style="color: #009900;">&#91;</span>3<span style="color: #009900;">&#93;</span> <span style="color: #339933;">&gt;</span> 0 <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
result.<span style="color: #660066;">position</span> <span style="color: #339933;">=</span> slice<span style="color: #339933;">*</span>4<span style="color: #339933;">-</span>slice<span style="color: #339933;">;</span><br />
result.<span style="color: #660066;">reset</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span><br />
<br />
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> inputNumber<span style="color: #009900;">&#91;</span>4<span style="color: #009900;">&#93;</span> <span style="color: #339933;">&gt;</span> 0 <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
result.<span style="color: #660066;">position</span> <span style="color: #339933;">=</span> slice<span style="color: #339933;">*</span>5<span style="color: #339933;">-</span>slice<span style="color: #339933;">;</span><br />
result.<span style="color: #660066;">reset</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span><br />
<br />
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> inputNumber<span style="color: #009900;">&#91;</span>5<span style="color: #009900;">&#93;</span> <span style="color: #339933;">&gt;</span> 0 <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
result.<span style="color: #660066;">position</span> <span style="color: #339933;">=</span> slice<span style="color: #339933;">*</span>6<span style="color: #339933;">-</span>slice<span style="color: #339933;">;</span><br />
result.<span style="color: #660066;">reset</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span><br />
<br />
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> inputNumber<span style="color: #009900;">&#91;</span>6<span style="color: #009900;">&#93;</span> <span style="color: #339933;">&gt;</span> 0 <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
result.<span style="color: #660066;">position</span> <span style="color: #339933;">=</span> slice<span style="color: #339933;">*</span>7<span style="color: #339933;">-</span>slice<span style="color: #339933;">;</span><br />
result.<span style="color: #660066;">reset</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span><br />
<br />
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> inputNumber<span style="color: #009900;">&#91;</span>7<span style="color: #009900;">&#93;</span> <span style="color: #339933;">&gt;</span> 0 <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
result.<span style="color: #660066;">position</span> <span style="color: #339933;">=</span> slice<span style="color: #339933;">*</span>8<span style="color: #339933;">-</span>slice<span style="color: #339933;">;</span><br />
result.<span style="color: #660066;">reset</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span><br />
result.<span style="color: #660066;">reset</span><span style="color: #339933;">=</span><span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #000066; font-weight: bold;">return</span> result<span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>Using the home row keys on your keyboard (a, s, d, f, j, k, l, ;), you can jump to 8 different spots in the movie. You can also change the <em>Rate</em> for some fun time-bending effects. So there you have it &#8211; controlling a movie &#8211; With Audio &#8211; in the new Quartz Composer for Snow Leopard.</p>
<p>Next time we&#8217;ll take a look at swapping out this keyboard patch for a Midi Notes receiver so we can control our videos with Ableton Live.</p>
<h3>Coming in early 2010: Realtime Graphics With Quartz Composer</h3>
<h4>The first how-to book on using this awesome language. Co-authored by Surya Buchwald (Momo the Monster) and Graham Robinson (VJ Shakinda).</h4>
<div class="clear">&nbsp;</div>
<div class="callOut">Download: <a href="http://mmmlabs.com/serve/vjkungfu/movieControl.zip" onclick="javascript:pageTracker._trackPageview('/outbound/article/mmmlabs.com');">MovieControl QTZ File for Snow Leopard</a></div>
<div class="clear">&nbsp;</div>
<div class="callOut">Download: <a href="http://mmmlabs.com/serve/vjkungfu/movieControlWVid.zip" onclick="javascript:pageTracker._trackPageview('/outbound/article/mmmlabs.com');">MovieControl QTZ File for Snow Leopard ( Includes Video File )</a></div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/VjKungFu?a=ZeNRtpsMqpc:fj9i7sNVD3U:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/VjKungFu?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/VjKungFu/~4/ZeNRtpsMqpc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://vjkungfu.com/archive/new-movie-loader-in-quartz-composer-for-snow-leopard/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://vjkungfu.com/archive/new-movie-loader-in-quartz-composer-for-snow-leopard/</feedburner:origLink></item>
		<item>
		<title>Structure in VJ Performance</title>
		<link>http://feedproxy.google.com/~r/VjKungFu/~3/VIRXfwB2Dp8/</link>
		<comments>http://vjkungfu.com/archive/structure-in-vj-performance/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 04:39:40 +0000</pubDate>
		<dc:creator>Momo the Monster</dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://vjkungfu.com/?p=181</guid>
		<description><![CDATA[An exploration of Structure - 4 Layers for Visual Performance.]]></description>
			<content:encoded><![CDATA[<p>I love improvisation. I was a MAJOR theatre geek in high school &#8211; even made Captain of my school&#8217;s Varsity Improv Team (no, seriously). So much of Visual Performance is improv &#8211; anticipating where things are going and reacting in interesting ways. I was thinking about this recently, and about how I&#8217;m always winging it when it comes to preparing for a show (unless it&#8217;s one where I&#8217;ve gotten to really practice with the Audio artist). I remembered how much easier it was to practice improv comedy through the use of games &#8211; with real structure. With a head full of nostalgia (and a healthy dose of MVC and Framework research I&#8217;ve been doing recently for work), I set out to create a structure for my performances.</p>
<p>For my first foray, I&#8217;m working on a Four Layer system.</p>
<p><img class="aligncenter" title="4 Layer VDMX" src="http://mmmlabs.com/serve/vjkungfu/VDMX_Screencap.jpg" alt="" width="690" height="161" /></p>
<ol>
<li>Background &#8211; Scene-setting clips.</li>
<li>Playground &#8211; Video Instruments (Quartz Composer)</li>
<li>Foreground &#8211; Elements on black, textures.</li>
<li>Overlay &#8211; Logos, text.</li>
</ol>
<h3>Take Control</h3>
<p>I&#8217;m a gear-hound. It used to take me HOURS to get ready for a gig as I packed every device, cable, work surface, and display device into my poor old &#8217;85 Corolla. One of the advantages to sussing out a system like this is that I get a chance to refine my physical interface.</p>
<h3>Software: VDMX</h3>
<p>I chose VDMX for this setup because of its tight integration with Quartz Composer, which is integral to this particular structure. It can read my native QTZ files,  generates GUI elements for published inputs, and can use QC compositions as pass-through FX. Don&#8217;t worry if that&#8217;s all gobbledy-gook to you for now. Just trust me when I say it&#8217;s the bee&#8217;s knees for QC integration.</p>
<h3>Faders/Knobs: Evolution UC-33</h3>
<p><img class="alignleft" title="UC-33" src="http://mmmlabs.com/serve/vjkungfu/UC33.png" alt="" width="340" height="211" />The (now-discontinued) UC-33 packs a metric tonne (or so) of faders and knobs into a reasonably compact, bus-powered interface. Yes, the knobs are a bit close together and the faders certainly aren&#8217;t going to win you the <a href="http://www.dmcdjchamps.com/news.asp" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.dmcdjchamps.com');">DMC</a> &#8211; but it will get this jobbie done.</p>
<h3>Buttons: Monome 128</h3>
<p><img class="aligncenter" title="Monome w VDMX Overlay" src="http://mmmlabs.com/serve/vjkungfu/vdmx_monome.jpg" alt="" width="690" height="396" />The patron saints of Compactness, Versatility, Minimalism and Sustainability had at each other one wine-filled night, and the <a href="http://monome.org" onclick="javascript:pageTracker._trackPageview('/outbound/article/monome.org');">Monome</a> is the only earthly record. Or it&#8217;s just a box of buttons that can light up. Thanks to some beyond-the-call-of-duty programming by Dave Lublin, I was able to use the Monome to fully control my clips. 4&#215;4 groups of buttons control 4&#215;4 grids of clips, with additional controls for switching Media Bins on the fly and scrolling up and down through larger bins. The Monome also acts as a 12-key MIDI keyboard for the Quartz Composer patches that will be looking for one.</p>
<h3>Fun Factor: Logitech Gamepad</h3>
<p><img class="alignleft" title="Gamepad" src="http://mmmlabs.com/serve/vjkungfu/4layer-gamepad.png" alt="" width="486" height="362" />I love working with a gamepad. It takes two hands, which can be tricky when you&#8217;re trading to fade layers in and out. I&#8217;m still working on that part. But it&#8217;s a barrel of monkeys  to work with (translation: fun), and introduces another interesting structure to work with. Also, it&#8217;s hella cheap. No worries about handing one of these to the 5-year-old kid at Maker Faire (just keep yer paws off my Monome).</p>
<h3>The Verdict: Oh yeah.</h3>
<p>I built this system just in time for the &#8217;08 Decibel Festival. Even though a lot of the programming didn&#8217;t come together until the last minute, I had a solid, <strong>fun</strong> show. It certainly helps that I was playing with an awesome band, but having that structure there really gave me something to focus on. And I&#8217;ve got a host of ideas for real 4-layer scenes I want to build. For the sake of the tutorial (and the performance), I just wedged my existing content into this new framework. I think once I&#8217;ve had some time to build fresh content for this system, I&#8217;m going to have a really solid, extensible show on my hands.</p>
<p>Has anyone else thought through their performances like this?</p>
<div class="callOut">Download: <a href="http:///mmmlabs.com/serve/vjkungfu/momo4Layer.vdmx.zip" onclick="javascript:pageTracker._trackPageview('/outbound/article/');">VDMX 4-Layer Setup by Momo the Monster</a></div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/VjKungFu?a=VIRXfwB2Dp8:pAe7aveGv3E:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/VjKungFu?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/VjKungFu/~4/VIRXfwB2Dp8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://vjkungfu.com/archive/structure-in-vj-performance/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		<feedburner:origLink>http://vjkungfu.com/archive/structure-in-vj-performance/</feedburner:origLink></item>
		<item>
		<title>Cut Up Video using Lucifer and Ableton Live</title>
		<link>http://feedproxy.google.com/~r/VjKungFu/~3/-GWIEENnNjU/</link>
		<comments>http://vjkungfu.com/archive/cut-up-video-using-lucifer-and-ableton-live/#comments</comments>
		<pubDate>Fri, 08 Feb 2008 21:49:47 +0000</pubDate>
		<dc:creator>Momo the Monster</dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://vjkungfu.com/archive/cut-up-video-using-lucifer-and-ableton-live/</guid>
		<description><![CDATA[Make realtime AV Cutups the easy way - with Lucifer and Ableton Live]]></description>
			<content:encoded><![CDATA[<p>I was introduced to the Lucifer plugin courtesy of <a href="http://urbanthink.eegsolutions.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/urbanthink.eegsolutions.com');">Stephan Vankov</a>, who showed it to me when we started jamming on ideas for what eventually became our <a href="http://createdigitalmotion.com/2008/01/22/karate-kid-av-remix/" onclick="javascript:pageTracker._trackPageview('/outbound/article/createdigitalmotion.com');">Karate Kid AV Remix</a>.</p>
<p>If you&#8217;re not familiar with Lucifer, it&#8217;s a VST/AU plugin for realtime beat-based cutup/repeats of audio. If you&#8217;re not already a Lucifer user, this article may not interest you much &#8211; but I do suggest you check out the video to see what&#8217;s possible.</p>
<p>What you&#8217;re going to do is route the MIDI from Lucifer out to another program that will do Video cutups. This is useful for more than just video &#8211; with the MIDI signals coming out of Lucifer, you can control and trigger and MIDI-capable software and hardware. But if you&#8217;re still reading at this point, you probably already knew that.</p>
<p><img id="image99" src="http://vjkungfu.com/wp-content/uploads/2008/02/lucitut_graph.png" alt="lucitut_graph.png" /><br />
The first thing you do is set up a new graph in Lucifer. Under the &#8216;Effects&#8217; tab, select &#8216;MIDI CCs LAT&#8217; and turn on the effect by clicking the little red button just to the left of the dropdown menu. Now for video use, we want a perfect rising graph in 64th-note intervals. <span style="text-decoration: line-through;">Yes, you&#8217;ll have to draw this by hand &#8211; but it&#8217;s easier if you start with bigger chunks and work your way up to the finer control of the 64th notes.</span> Update: <a href="http://xferrecords.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/xferrecords.com');">Steve Duda</a> tells me that you can use the &#8216;shape&#8217; tool to draw the graph automatically. Thanks, Steve!<span style="text-decoration: line-through;"><br />
</span></p>
<p>Then copy-and-paste this graph to all of the other graph sets for which you want MIDI out.</p>
<p><img id="image100" src="http://vjkungfu.com/wp-content/uploads/2008/02/lucitout_midiout.png" alt="lucitout_midiout.png" /><br />
The last step within Lucifer is to set the MIDI Control that will be sent out by doing a click-and-drag in the box just to the right of this MIDI symbol. In my example, I use CC#125.<br />
The last bits you need to do are in Live. Set up a MIDI track, turn its monitor to IN, and set it to receive MIDI FROM whatever track Lucifer is on. If Lucifer is the only MIDI item in that track, it should come up in a little box below the Track Name you&#8217;ve selected. If not, the select it, silly.</p>
<p>Now you set the track&#8217;s MIDI TO port to send wherever we like. On a Mac, you can use the IAC bus. In this case, I used Isadora Virtual In, which is generated by Isadora whenever it&#8217;s running.</p>
<p>This tutorial has covered enough ground without going into a step-by-step Isadora tutorial. I&#8217;ll give you the general idea of what I did to get the video working. If you&#8217;ve used any node-based languages: Max/MSP, Quartz Composer, Reaktor, Cinema 4D Expresso &#8211; Isadora is quite similar, it just has different names for things.<br />
In Isadora, I have a MIDI CC Watcher that routes the value information from Lucifer into a Movie Player, hooked up to a Projector for playback.  I also use a Real-Time Watcher to observe the incoming MIDI Clock information from Ableton Live and calculate the Loop Length needed to play the video at 1x speed in time with my loops from Live.</p>
<p>If you want any more info, or some clarification &#8211; leave a comment and I&#8217;ll see what I can do to satisfy you.</p>
<p>Roadmap:</p>
<ul>
<li>Only allow control via Lucifer while a modifier key is held down (otherwise the Audio in Isadora suffers)</li>
<li>Map Lucifer modifer and gridset keys to Monome.</li>
<li>Map &#8216;Reverse&#8217; key in Lucifer to also reverse video in Isadora.</li>
<li>Your suggestion?</li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/VjKungFu?a=-GWIEENnNjU:r30XkC53yiM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/VjKungFu?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/VjKungFu/~4/-GWIEENnNjU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://vjkungfu.com/archive/cut-up-video-using-lucifer-and-ableton-live/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://vjkungfu.com/archive/cut-up-video-using-lucifer-and-ableton-live/</feedburner:origLink></item>
		<item>
		<title>Quartz Composer: 3D Cubes and Audio Input</title>
		<link>http://feedproxy.google.com/~r/VjKungFu/~3/XDVOiKsMiaE/</link>
		<comments>http://vjkungfu.com/archive/quartz-composer-lighting-3d-cubes-and-moving-them-with-audio-input/#comments</comments>
		<pubDate>Tue, 04 Dec 2007 21:35:05 +0000</pubDate>
		<dc:creator>Momo the Monster</dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://vjkungfu.com/archive/quartz-composer-lighting-3d-cubes-and-moving-them-with-audio-input/</guid>
		<description><![CDATA[A Beginner's Tutorial on Lighting, Cubes and Audio Input to make an Interactive Toy in Quartz Composer.]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re going to make a 3D cube that responds to our voice.<br />
<img id="image77" src="http://vjkungfu.com/wp-content/uploads/2007/11/launchqc.jpg" alt="launchqc.jpg" /><br />
First we start up Quartz Composer. The icon will be different depending on whether you&#8217;re running OS X 10.5 or 10.4.<br />
<img id="image78" src="http://vjkungfu.com/wp-content/uploads/2007/11/qc_new.png" alt="qc_new.png" /><br />
From the File menu, choose New Blank (or simply &#8216;New&#8217; in Tiger).</p>
<p><img id="image79" src="http://vjkungfu.com/wp-content/uploads/2007/11/qc_clear.png" alt="qc_clear.png" /><br />
In Leopard, we need to open the Patch Creator. In Tiger, this is always open, and called the Patch Library, found anchored to the left side of the Editor. Type &#8216;Clear&#8217; into the search field to drill down to the patch we want. Drag-and-drop the Clear patch to the Editor.<br />
<img id="image80" src="http://vjkungfu.com/wp-content/uploads/2007/11/qc_dragcube.png" alt="qc_dragcube.png" /><br />
Now we&#8217;ll do the same with a cube. Type &#8216;cube&#8217; into the search field, and then drag the patch into the Editor.<br />
<img id="image81" src="http://vjkungfu.com/wp-content/uploads/2007/11/qc_apple_i.png" alt="qc_apple_i.png" /><br />
Select the Cube and press Apple-i to bring up the Inspector. This is where we can hand-adjust all the aspects of our Cube.<br />
<img id="image82" src="http://vjkungfu.com/wp-content/uploads/2007/11/qc_whd.png" alt="qc_whd.png" /><br />
The cube is a little too big to work with, so we&#8217;ll take it down in size. Type 0.25 into the Width, Height and Depth fields.<br />
<img id="image83" src="http://vjkungfu.com/wp-content/uploads/2007/11/qc_zpos_cube.png" alt="qc_zpos_cube.png" /><br />
Now let&#8217;s play with the X, Y and Z positions of the cube. Spin the dials to the right of the text fields labeled X Position, Y Position and Z Position and watch how the cube moves around in space. To change the values, you need to click and hold on a dial, and the move the mouse in small clockwise circles to raise the value, and counter-clockwise circles to lower it.<br />
<img id="image84" src="http://vjkungfu.com/wp-content/uploads/2007/11/qc_xyz_0.png" alt="qc_xyz_0.png" /><br />
Let&#8217;s reset these values to 0 by typing directly into the fields.</p>
<p><img id="image85" src="http://vjkungfu.com/wp-content/uploads/2007/11/qc_xrot.png" alt="qc_xrot.png" /><br />
Now let&#8217;s play with the X Rotation property. You&#8217;ll notice that the changes we&#8217;re making are very small. This is because Rotation is measured in degrees, so to go all the way around once, we need to increment from 0 to 360. Hold down the Shift key for faster rotation. We can recognize that the Cube is three-dimensional, but it&#8217;s hard to tell, and not very pleasing to look at. Let&#8217;s add some lighting to flesh out the look.<br />
<img id="image86" src="http://vjkungfu.com/wp-content/uploads/2007/11/qc_addlighting.png" alt="qc_addlighting.png" /><br />
Type &#8216;lighting&#8217; into the patch search, then drag and drop a Lighting environment into your composition. Notice the square edges on this patch. Our previous two patches, which are both Renderers, have rounded edges. The squared edges of this Lighting Environment patch tell us that we can put other patches inside of it.<br />
<img id="image87" src="http://vjkungfu.com/wp-content/uploads/2007/11/qc_breadcrumbs.png" alt="qc_breadcrumbs.png" /><br />
Select the cube and press Apple-X to Cut it to your clipboard just like you would with a Word Processor. Double-click on the Lighting patch and press Apple-V to paste your Cube back inside. In Leopard, you&#8217;ll see the above breadcrumb trail letting you know that we&#8217;re inside the Lighting Patch, which is inside the Root patch of our composition. In Tiger, you may have to click on the &#8216;Hierarchy Browser&#8217; to see this. Click &#8216;Edit Parent&#8217; to return to our Root Patch.<br />
<img id="image88" src="http://vjkungfu.com/wp-content/uploads/2007/12/qc_lightatt.png" alt="qc_lightatt.png" /><br />
Back in our Root Patch, click on Lighting and press Apple-i to bring up the Inspector. Change Attenuation to 0.1 to smooth out the lighting, and play  around with the Light 1 XY and Z Position to see how it affects the composition.</p>
<p><img id="image89" src="http://vjkungfu.com/wp-content/uploads/2007/12/qc_lightcolor.png" alt="qc_lightcolor.png" /><br />
Click on the color box next to Light 1 Color to bring up a color wheel. Pick a new color and observe the changes in your viewer.<br />
<img id="image90" src="http://vjkungfu.com/wp-content/uploads/2007/12/qc_add_interp.png" alt="qc_add_interp.png" /><br />
Next we&#8217;re going to bring in an Interpolation patch which will provide some automated control.</p>
<p><img id="image91" src="http://vjkungfu.com/wp-content/uploads/2007/12/qc_interp_inspect.png" alt="qc_interp_inspect.png" /><br />
In the Inspector for the Interpolation patch, choose a Start and End Value of 0 and 360, respectively. This tells the Interpolator what values we want it to output.<br />
<img id="image92" src="http://vjkungfu.com/wp-content/uploads/2007/12/qc_intrp_cube.png" alt="qc_intrp_cube.png" /><br />
Connect the Result from the Interpolation patch to Y Rotation on Cube. Now the Interpolation patch is counting from 0 to 360 (using decimals in-between for a smooth output) and we&#8217;re using those numbers to change the Y Rotation on the cube. Change the Duration of your Interpolation from 1 to 0.1 and watch it go freakishly fast. Change it to 10 and observe it slow down. Revert it to 1 second and let&#8217;s move on.</p>
<p>Next we&#8217;ll add an Audio Input patch so we can interact with our composition.</p>
<p><img id="image94" src="http://vjkungfu.com/wp-content/uploads/2007/12/qc_audio_2_cube.png" alt="qc_audio_2_cube.png" /><br />
Connect the &#8216;Volume Peak&#8217; output to the &#8216;Height&#8217; input on the Cube.<br />
In your viewer, your cube should now be responding to your default system input &#8211; on a laptop, this will be your internal Mic. On a desktop, you may need to plug in a Mic or some other External Audio source to see it respond.</p>
<p>NOTE: It is possible to redirect iTunes to your QC comp using a utility called Soundflower &#8211; look for a tutorial on this topic soon.</p>
<p><img id="image95" src="http://vjkungfu.com/wp-content/uploads/2007/12/qc_route_thr_math.png" alt="qc_route_thr_math.png" /><br />
Looking at the viewer, you&#8217;ll notice that our Cube is not hitting the top and bottom of the display area. In order to change this, we&#8217;ll add a Math patch. We&#8217;ll route the signal through the Math patch (as pictured above) before sending it along to the cube.</p>
<p>In the Math Patch Inspector, we&#8217;ll change the Operation to Multiply, and try &#8217;4&#8242; for the amount. In Tiger you will default to having two operations &#8211; you can leave the other one blank.</p>
<p><img id="image96" src="http://vjkungfu.com/wp-content/uploads/2007/12/qc_cube_tall.png" alt="qc_cube_tall.png" /><br />
Now we should see the cube stretch all the way to the top and bottom of the screen. We can play with the multiplication amount until we find a spot we like.</p>
<p>Now it&#8217;s time to experiment on your own. Open up patches and change some values, see what happens. When you find a change you like, hook up an Interpolation or Audio Input patch to it. Stick Math patches in your routing streams to take control of your values. Experimenting like this works to cement the ideas you learn, and steadily increase your understanding of the Quartz Composer System.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/VjKungFu?a=XDVOiKsMiaE:JuNz7j-uhP4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/VjKungFu?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/VjKungFu/~4/XDVOiKsMiaE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://vjkungfu.com/archive/quartz-composer-lighting-3d-cubes-and-moving-them-with-audio-input/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://vjkungfu.com/archive/quartz-composer-lighting-3d-cubes-and-moving-them-with-audio-input/</feedburner:origLink></item>
		<item>
		<title>AV Challenge 2: Part One, Making the Clips</title>
		<link>http://feedproxy.google.com/~r/VjKungFu/~3/lzRYCV_8tbU/</link>
		<comments>http://vjkungfu.com/archive/av-challenge-2-part-one-making-the-clips/#comments</comments>
		<pubDate>Sat, 10 Nov 2007 18:01:19 +0000</pubDate>
		<dc:creator>Momo the Monster</dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://vjkungfu.com/archive/av-challenge-2-part-one-making-the-clips/</guid>
		<description><![CDATA[Momo the Monster's Method for AV Madness]]></description>
			<content:encoded><![CDATA[<p>As part of the AV Challenge, I decided to document my process. I&#8217;m new to this AV Performance thing, and it&#8217;s great to have people who are figuring it out along with me. I have no idea how this will turn out &#8211; I&#8217;m going to take it one step at a time and see where I wind up.<img id="image70" title="momocam.jpg" src="http://vjkungfu.com/wp-content/uploads/2007/11/momocam.jpg" alt="momocam.jpg" align="right" /></p>
<p>So for this first part, I had to find something related to &#8216;water&#8217; to videotape. Thankfully, there&#8217;s a fountain right near my office (the one at <a href="http://www.google.com/url?sa=t&amp;ct=res&amp;cd=1&amp;url=http%3A%2F%2Fwww.thegrovela.com%2F&amp;ei=teY1R5j4EKGIpwTK-ri7DA&amp;usg=AFQjCNEw5BUgdVktTLScJsIMvy2F8plJFw&amp;sig2=PPL-eNdGVVqtTS6tJJbd0Q" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.google.com');">the Grove</a> for any Los Angeles readers). I always carry <a href="http://www.usa.canon.com/consumer/controller?act=ModelInfoAct&amp;fcategoryid=145&amp;modelid=14227" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.usa.canon.com');">my little camera</a> around in my man-bag, so on the way to work one morning I stopped by the fountain and videotaped it like all the other tourists.</p>
<p>After work, I transferred the vids over to my laptop, brought them into Final Cut and started cutting them up to short clips &#8211; I specifically looked for ones that had rather defined movement, which would help in matching them up with audio.</p>
<p>Next, I decided to spice up my clips a little bit. The colors on my lil camera are alright, but nothing to write home about. I fired up some color-correction tools and made the water a bit more aqua to help it pop on-screen. Then I used a combination of the contrast tool and the trusty ol&#8217; Kaleidescope to abstract the clips a bit.<img id="image71" src="http://vjkungfu.com/wp-content/uploads/2007/11/fcpfount.jpg" alt="fcpfount.jpg" /></p>
<p>Since I took the video in a public place, I knew on-location audio recording was out. So once I had a nice selection of clip possibilities, I opened up Ableton Live.</p>
<p><img title="midiclip.png" src="http://vjkungfu.com/wp-content/uploads/2007/11/midiclip.png" alt="midiclip.png" align="right" />In Ableton, I fooled around with a free subtractive synth I&#8217;d found called <a href="http://www.kvraudio.com/get/1552.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.kvraudio.com');">Automat</a>. Once I had a sound I liked, I made up a few patterns, and then started flipping back and forth between Final Cut and Ableton live to see what might match up. When I found a pair that looked close, I would fine-tune it a bit in Ableton, and then export it to Final Cut. Rinse and Repeat.</p>
<p>After about an hour, I had sounds for all my Final Cut clips. I lined them up, trimmed the clips to match the sound lengths (making sure that the first frame of video started on the sound) and set up a Batch Export.</p>
<p>My specs:<br />
640&#215;480<br />
Motion-JPEG B at about 85% Quality<br />
Linear PCM Audio</p>
<p>Once done, I uploaded them to <a href="http://www.archive.org/details/AVC2-Water" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.archive.org');">archive.org</a> and compiled all the clips into the <a href="http://vjkungfu.com/av-challenge-2-clip-packs/" onclick="javascript:pageTracker._trackPageview('/outbound/article/vjkungfu.com');">AV Challenge #2 Clip Packs</a>.</p>
<p>In Part Two (coming soon) &#8211; I&#8217;ll load the clips up and start making beats and melodies!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/VjKungFu?a=lzRYCV_8tbU:CiIcBQTzrKg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/VjKungFu?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/VjKungFu/~4/lzRYCV_8tbU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://vjkungfu.com/archive/av-challenge-2-part-one-making-the-clips/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://vjkungfu.com/archive/av-challenge-2-part-one-making-the-clips/</feedburner:origLink></item>
		<item>
		<title>Wii to MIDI Walkthrough for Windows</title>
		<link>http://feedproxy.google.com/~r/VjKungFu/~3/Xq9K9nmvPK0/</link>
		<comments>http://vjkungfu.com/archive/wii-to-midi-walkthrough-for-windows/#comments</comments>
		<pubDate>Wed, 20 Jun 2007 18:31:33 +0000</pubDate>
		<dc:creator>mr creosote</dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://vjkungfu.com/archive/wii-to-midi-walkthrough-for-windows/</guid>
		<description><![CDATA[Everything you need to get started making some interactive video on a Windows PC]]></description>
			<content:encoded><![CDATA[<p><strong>WII to MIDI WALKTHRU for Windows<br />
by MR CREOSOTE</strong></p>
<p>This is a tutorial on how to mix video using a Nintendo Wii controller and VJ Software such as Resolume or Isadora for your PC. I used a Dell Inspiron 8100 with a gig of ram running WinBlows XP, some kinda ATI video card that has disappointed me in the past, and a 2.4 MHZ processor. Running Vista? Haven&#8217;t tried it yet. If you have Vista and this walkthrough works for you, let me know.<strong></strong></p>
<p><strong>About the Wii</strong> (from the excellent wii to midi walkthru by <a href="http://www.antivj.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.antivj.com');">ANTIVJ.com</a>)<br />
In addition to the traditional buttons, force feedback and the integrated mini-speaker, the true innovation is the presence of a gravity and acceleration sensor (the ADXL330, used in the army or automobile safety, for airbags systems) inside the Wiimote which collects the movements and acceleration of the Wiimote on each of the 3 axis, X, Y et Z.The good news is that rather than using a proprietary protocol to transmit the infos from the Wiimote to the Wii, and then lock its hardware to keep an exclusive use of it, Nintendo has made the excellent decision (probably by commercial will) to use the Bluetooth protocol, standard of communication on PC and Mac for several years. This means that you can connect your Wiimote to your computer, and program it rather simply for any use you want.<strong></strong></p>
<p><strong>About this tutorial</strong><br />
Use this tutorial however you want, feel free to add to it, be sure to forward it to whomever and give it away for free. If you charge some lazy bastard for this tutorial, you suck. If you use it for a performance and you make money&#8211; you rock!<strong></strong></p>
<p><strong>What you will need</strong><br />
- A Wiimote, of course (approximately $35 online or at your local video games shop).<br />
- A <a href="http://www.bestbuy.com/site/olspage.jsp?skuId=7424227&amp;st=bluetooth%2Badapter&amp;type=product&amp;id=1124431844886" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.bestbuy.com');">Bluetooth Dongle</a> (if your computer doesn&#8217;t have Bluetooth already, about $30).<br />
- <a href="http://www.bluesoleil.com/download/index.asp?topic=bluesoleil_edr" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.bluesoleil.com');">Bluesoleil</a> (shareware, it usually comes for free with Bluetooth dongles).<br />
- <a href="http://carl.kenner.googlepages.com/glovepie_download" onclick="javascript:pageTracker._trackPageview('/outbound/article/carl.kenner.googlepages.com');">GlovePie</a> (freeware). Converts the signals sent from your wiimote to Midi (or anything else).<br />
- <a href="http://www.midiox.com/index.htm?http://www.midiox.com/myoke.htm#Download" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.midiox.com');">MidiOX</a> (freeware). Manages MIDI. Although I can use it to route my in and outputs, I really only use it as a MIDI monitor. You can contribute to MIDIOX thru Amazon.com&#8211; I gave them 10 bucks.<strong></strong></p>
<p><strong>Other resources:</strong><br />
Using the wiimote with Resolume (very excellent walkthru, complete with midi scripts for RSLume):<br />
<a href="http://www.resolume.com/forum/viewthread.php?tid=3102%20" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.resolume.com');">http://www.resolume.com/forum/viewthread.php?tid=3102 </a><br />
Wiimote to Midi tutorial from AntiVJ:<br />
<a href="http://crustea.vjfrance.com/article-130714.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/crustea.vjfrance.com');">http://crustea.vjfrance.com/article-130714.html </a></strong></p>
<p><strong>STEPS: </strong><br />
1) Connect your wiimote to your pc<br />
2) Convert the signals the wiimote sends to MIDI<br />
3) Rock it, rockstar!</strong></p>
<p><strong>STEP ONE: Connect your wiimote to the PC</strong></p>
<p><strong>If you have Bluetooth built into your computer skip to part 2. If you dont, you may take this opportunity to install a ridiculously expensive Bluetooth adapter and construct a delicate web of buggy freeware&#8211; PC only, of course.</strong></p>
<p><strong><img src="http://ericmedine.com/images/7424227_sa.jpg" alt="" width="117" height="135" align="left" /><strong>A. Install your Bluetooth USB adapter</strong> (I used a <a href="http://www.bestbuy.com/site/olspage.jsp?skuId=7424227&amp;st=bluetooth%2Badapter&amp;type=product&amp;id=1124431844886" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.bestbuy.com');">$30 Kensington dongle from Best Buy</a>). I had to install the drivers for a minute, plug the thing in, etc. Eventually you should get that little message that says &#8220;your hardware is ready to use&#8221;. If not, re-install, unplug it then plug it back in, go to the manufacturer&#8217;s website and try to install the drivers there, make sure your adapter is compatible with your PC and with a wiimote&#8211; you know the drill. I have heard of people using <a href="http://www.bluesoleil.com/download/index.asp?topic=bluesoleil_edr" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.bluesoleil.com');">Bluesoleil software</a> to access their Bluetooth, but I always like to use the software that comes with the device, and I thought <a href="http://www.bluesoleil.com/download/index.asp?topic=bluesoleil_edr" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.bluesoleil.com');">Bluesoleil</a> was kinda buggy.</strong></p>
<p><strong><img src="http://ericmedine.com/images/welcome.jpg" alt="" width="502" height="399" align="left" /><strong>B. Configure your Bluetooth adapter. </strong>Once your driver and the Bluetooth adapter is installed, you should see the funky blue Bluetooth logo in your toolbar. Right click on it (or go thru your Start menu) and do a &#8220;Explore My Bluetooth Places&#8221;. A folder will open up, click on &#8220;Bluetooth Setup Wizard&#8221;, and you will get this dialog box.Click on the second radio button to &#8220;find a specific Bluetooth device and configure how this computer will use its services&#8221;. Hit the 1 and 2 buttons simutaneously on your wiimote (switches it to &#8220;discoverable mode&#8221;) then hit &#8220;next&#8221; in the dialog box. Watch the flashing blue lights while the wiimote tries to talk to your Bluetooth adapter!</strong></p>
<p><strong><img src="http://ericmedine.com/images/devicedetection.jpg" alt="" width="502" height="399" align="left" /><strong>C. Select your Bluetooth device (in this case, a wiimote).</strong> Now the dialog box will say &#8220;Select a Device&#8221; and there will (hopefully) be a picture of your wiimote to select. Select it, then hit &#8220;Next!&#8221; If your wiimote does not show up, try to re-initiate: hit &#8220;search again&#8221; in the dialog box, switch to &#8220;discoverable mode&#8221; on your wiimote (hit the 1 and 2 buttons simultaneously), etc.Once you select your wiimote and hit &#8220;next&#8221;, you will get to the &#8220;pairing&#8221; screen. Ignore it&#8211; hit &#8220;skip pairing&#8221;. I tried to initiate pairing, but I couldn&#8217;t find a number on my wiimote, except some weird serial number that didn&#8217;t seem to do anything. What is pairing? I don&#8217;t know. This is taking too long.</strong></p>
<p><strong><img src="http://ericmedine.com/images/deviceselection.jpg" alt="" width="502" height="399" align="left" /><strong>D. Configure your wiimote.</strong> Now that your computer sees your wiimote, you need to select it. Again. It seems like I needed to constantly switch to &#8220;discoverable mode&#8221; on my wiimote (hit the 1 and 2 buttons simultaneously) during this entire process.Hit &#8220;Finish&#8221;. Your Bluetooth logo in your toolbar should turn green. Your wiimote is now connected to your PC!At one point, when installing on a Dell Inspirion5100 this step did not work&#8211; I went back, uninstalled, re-installed, and it worked fine. Also, these type of networky softwares seem to work poorly with P2P software such as Limewire and Bittorrent- be warned!</strong></p>
<p><strong>STEP TWO: Convert the signals the wiimote sends to MIDI</strong></p>
<p><strong>Now that your wiimote is talking to your computer, it&#8217;s time to configure some softwares to listen to what it says! You will be using <a href="http://carl.kenner.googlepages.com/glovepie_download" onclick="javascript:pageTracker._trackPageview('/outbound/article/carl.kenner.googlepages.com');">GlovePie</a>, a program that was originally created to work with the<a href="http://www.robotgroup.net/index.cgi/P5Glove" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.robotgroup.net');"> Essential Reality P5 Glove</a>&#8211; classic! This software developed by Carl Kenner has the role of converting any type of signal (from a mouse, Joystick, a P5 glove) into another signal (MIDI, variables&#8230;) using a simple scripting language and/or a GUI.<img src="http://ericmedine.com/images/glovepie.jpg" alt="" width="502" height="361" align="left" /><strong></strong></p>
<p><strong>A) Start up GlovePie.</strong> I don&#8217;t recall if it even needs an install, but I remember having some problems when running it off my desktop, then moving it to my Programs folder, then running it again.Anyway, when you open it up it displays an empty script editor, basically you type in the commands you want your control module (in this case, the wiimote) to execute and hit &#8220;Run&#8221;. There&#8217;s an autogenerate, but I have not really experimented with it yet.Raw coding is intimidating, but fortunately there are loads of scripts provided with the install: for example, go to the &#8220;File&#8221; dropdown menu, then open &#8220;WiimoteScripts/WiiMouse 0.1.PIE&#8221;, and click on RUN, and you can now control your mouse cursor with your Wiimote.This is what I used to make sure that the wiimote is actually working&#8211; up untill now, the only proof you have that it works is a stupid dialog box. If you run &#8220;WiiMouse 0.1.PIE&#8221; and your cursor drifts up to the top left of your screen&#8211; your wiimote has not been detected properly. Go back to some previous steps, try again! I sometimes use &#8220;WiimoteIdentifier.PIE&#8221; to check if it sees any wiimotes, but it seems like it can &#8220;see&#8221; the wiimote without &#8220;hearing&#8221; the data. If you are dancing your mouse around the screen with your wiimote, you are almost done!</strong></p>
<p><strong>B) Load the Wiimote to Midi script into GlovePie.</strong> <a href="http://www.antivj.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.antivj.com');">Antivj.com</a> has the newest version of the script <a href="http://www.antivj.com/wiimote/Wiimote2midi_0.2_en.PIE" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.antivj.com');"> here</a>, or you can copy, paste and RUN the script below. After you copy and paste this code into GlovePie, be sure to save it for later&#8211; call it something like &#8220;WIItoMIDI.PIE&#8221;. Be sure to uncomment/comment out the appropriate sections to disable key commands from your wiimote if you are planning to use it more&#8230; unconventionally. This script ( beta0.1), you get the value of X, Y and Z slope value from your Wiimote, which are converted into #CC values 30, 31 and 32, variables from 0 to 127. Sometimes this seems to make sense to me, sometimes not. Are we done yet?<br />
/********************************<br />
Wiimote to midi, beta 0.1<br />
Use your Wiimote to control Ableton live, Arkaos midi..<br />
contact: crustea@gmail.com<br />
www.antivj.com<br />
********************************/<br />
/********************************<br />
Wiimote&#8217;s buttons<br />
********************************///Keyboard notes<br />
//To send &#8220;keyboard events&#8221; instead of &#8220;midi notes&#8221;, uncomment this part, and comment &#8220;Midi notes&#8221; part above.<br />
//Values before the &#8220;=&#8221; caracter are the keyboard events that you emulate./*<br />
Up = Wiimote.Up or Wiimote.Classic.Up<br />
Down = Wiimote.Down or Wiimote.Classic.Down<br />
Left = Wiimote.Left or Wiimote.Classic.Left<br />
Right = Wiimote.Right or Wiimote.Classic.Right<br />
Q = Wiimote.A or Wiimote.Classic.a<br />
W = Wiimote.B or Wiimote.Classic.bOne = Wiimote.One<br />
Two = Wiimote.Two<br />
Home = Wiimote.Home or Wiimote.Classic.Home<br />
Minus = Wiimote.Minus or Wiimote.Classic.Minus<br />
NumPadPlus = Wiimote.Plus or Wiimote.Classic.PlusX = Wiimote.Classic.x<br />
Y = Wiimote.Classic.y<br />
v = Wiimote.Nunchuk.ZButton or Wiimote.Classic.ZL or Wiimote.Classic.ZR<br />
L = Wiimote.Classic.L<br />
R = Wiimote.Classic.R<br />
C = Wiimote.Nunchuk.CButton<br />
*/</strong></p>
<p><strong>//Midi notes<br />
//To send MIDI notes, uncomment this part (done by default), and comment the &#8220;Keyboard notes&#8221; part<br />
//The value before the &#8220;=&#8221; caracter is the midi note.</strong></p>
<p><strong>midi2.C0 = Wiimote.Up or Wiimote.Classic.Up<br />
midi2.D0 = Wiimote.Left or Wiimote.Classic.Left<br />
midi2.E0 = Wiimote.Right or Wiimote.Classic.Right<br />
midi2.F0 = Wiimote.Down or Wiimote.Classic.Down</strong></p>
<p><strong>midi2.G0 = Wiimote.A or Wiimote.Classic.a<br />
midi2.A0 = Wiimote.B or Wiimote.Classic.b</strong></p>
<p><strong>midi2.B0 = Wiimote.Minus or Wiimote.Classic.Minus<br />
midi2.C1 = Wiimote.Home or Wiimote.Classic.Home<br />
midi2.D1 = Wiimote.Plus or Wiimote.Classic.Plus</strong></p>
<p><strong>midi2.E1 = Wiimote.One<br />
midi2.F1 = Wiimote.Two<br />
//midi2.A2 = Wiimote.Nunchuk.CButton<br />
//midi2.B2 = Wiimote.Classic.x<br />
//midi2.C2 = Wiimote.Classic.y<br />
//midi2.D2 = Wiimote.Nunchuk.ZButton or Wiimote.Classic.ZL or Wiimote.Classic.ZR<br />
//midi2.E2 = Wiimote.Classic.L<br />
//midi2.F2 = Wiimote.Classic.R</strong></p>
<p><strong>/********************************<br />
Setup for gravity values<br />
********************************/</strong></p>
<p><strong>// these are the magic line, which converts X, Y and Z rotation values to Midi #CC 31, 32 and 33.<br />
var.xOffset = 1<br />
var.yOffset = -28<br />
var.zOffset = 2</strong></p>
<p><strong>var.xRot = Wiimote.RawForceX + var.xOffset<br />
var.yRot = Wiimote.RawForceY + var.yOffset<br />
var.zRot = Wiimote.RawForceZ + var.zOffset</strong></p>
<p><strong>midi2.Control31= (EnsureMapRange(var.xRot, 26,-26, 0,1))<br />
midi2.Control32= (EnsureMapRange(var.yRot, 26,-26, 0,1))<br />
midi2.Control33= (EnsureMapRange(var.zRot, 26,-26, 0,1))</strong></p>
<p><strong>//Old code: (MapRange(var.xRot, 26,-26, 1,127)-1)/127<br />
/********************************<br />
Setup for acceleration values<br />
********************************/<br />
//Just a test for now, comment the line above to disable X acceleration to midi note<br />
midi2.C3 = Wiimote.RelAccX &gt;= 15</strong></p>
<p><strong><img src="http://ericmedine.com/images/spacer.gif" alt="" width="30" height="10" /></strong></p>
<p><strong>C) LAST STEP!</strong> Now it is time to check to make sure Glovepie is sending the appropriate data by<strong> installing and running</strong> <a href="http://www.midiox.com/index.htm?http://www.midiox.com/myoke.htm#Download" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.midiox.com');">MidiOX</a> (a virtual MIDI port, which emulates a MIDI device to use like a &#8220;bridge&#8221; with your midi softwares).<img src="http://ericmedine.com/images/midiox.jpg" alt="" width="576" height="422" align="left" />After you install <a href="http://www.midiox.com/index.htm?http://www.midiox.com/myoke.htm#Download" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.midiox.com');">MidiOX</a>, you should see something like this. The blue numbers should be scrolling as you move the wiimote, and green numbers should appear when you click on some of the buttons. If this is not the case, hit &#8220;Select MIDI devices to open&#8221; (the round blue button that looks like a midi input). I just opened and closed midi ins and outs untill it worked. For more info, check out the <a href="http://www.midiox.com/index.htm?http://www.midiox.com/myoke.htm#Download" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.midiox.com');">MidiOX</a> site.If the numbers are scrolling rapidly, YOU ARE GOOD TO GO! Your wiimote is going into GlovePie, and then into MIDIOX, and from there you can send it to another MIDI device, or use it to control video mixing software.I used the Wiimote as a motion sensor for an interactive golf game in a freight container (http://www.angelsgateart.org/events/fr8.html)My next step it to apply this MIDI input into Resolume and Isadora, and do more conventional video mixing using the motion controls as opacity toggles. Wish me Luck!</strong></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/VjKungFu?a=Xq9K9nmvPK0:PW_-MikvOBY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/VjKungFu?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/VjKungFu/~4/Xq9K9nmvPK0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://vjkungfu.com/archive/wii-to-midi-walkthrough-for-windows/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://vjkungfu.com/archive/wii-to-midi-walkthrough-for-windows/</feedburner:origLink></item>
		<item>
		<title>Loop-R VJ Touchscreen System</title>
		<link>http://feedproxy.google.com/~r/VjKungFu/~3/MTTFs_npTcQ/</link>
		<comments>http://vjkungfu.com/archive/loop-r-vj-touchscreen-system/#comments</comments>
		<pubDate>Fri, 15 Jun 2007 00:40:21 +0000</pubDate>
		<dc:creator>Momo the Monster</dc:creator>
				<category><![CDATA[Entertainment]]></category>

		<guid isPermaLink="false">http://vjkungfu.com/archive/loop-r-vj-touchscreen-system/</guid>
		<description><![CDATA[Homemade Performance system from visual_basiq]]></description>
			<content:encoded><![CDATA[<p>Interview with visual_basiq about the <a href="http://www.essaycollective.org/loop-r/Project.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.essaycollective.org');">Loop-R</a></p>
<h2 style="text-align:center;font-size:1.3em;font-weight:bold;color:#fff;">Why did you decide to make your own interface?</h2>
<p>This all started as a research paper conducted by me and Joao Pitte for a final project for our post-graduate studies, we were supposed to do research on interface design and decided to explore realtime video controllers. I had been vjing for some time and was one of the many  who had always felt unhappy with the standard interfaces in live visuals performances. Except for kicking and triggering some clips i never liked much the keyboard and controlling effects with a mouse seemed always too limiting. Midi controllers allowed an infinite number of possibilities nevertheless their format was standardized by/for audio applications.</p>
<p>Another strong point of the project was its resources limits, the technology used had to be available, cheap, durable and responsive to our actions. After researching technology and the vj&#8217;ing activity, specifically in controlling video loops, there was a proposed design and a bunch of sketches. I couldn&#8217;t keep on going without testing the physical tool, so a prototype had to be made and loop-R was born.</p>
<h2 style="text-align:center;font-size:1.3em;font-weight:bold;color:#fff;">How long have you been working on this project?</h2>
<p>The project started in May 2004, the first fully functional prototype was built during the summer of 2004 and presented in december at ShowSkills Festival (uk). Then the project went through some minor hardware revisions, new paintings, some software tweaks and a lot of performances! Though the prototype was finished there was still a lot of tweaks going on and new ideas, too. After moving to New York I started studying again and some other projects took hold of my focus, but in one way or the other Loop-R was always present and I&#8217;m now finishing a new model.</p>
<h2 style="text-align:center;font-size:1.3em;font-weight:bold;color:#fff;">Where did you get the parts?</h2>
<p>I got most of the parts second-hand, through online sources like eBay. The first version was built from an industrial 3m touchscreen and its metal enclosure and a <a href="http://www.doepfer.de/pd.htm" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.doepfer.de');">Doepfer Pocket Dial</a> midi controller. The software system was made using <a href="http://www.troikatronix.com/isadora.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.troikatronix.com');">Isadora</a>.</p>
<h2 style="text-align:center;font-size:1.3em;font-weight:bold;color:#fff;">Did the hardware lead the software design, or the other way around?</h2>
<p>I guess none did.. from the beginning i saw them as pretty much the same thing. One of my concerns was the barrier between our main point of focus (the screen) and what we&#8217;re doing with our hands, there&#8217;s a lot of focus-shifting going on and there was a need to end that. Also, natural mappings between the user actions, the controllers and the system were studied according to the media we wanted to control. The elements had to be blended as one, controllers melting over the GUI, no distinction between software and hardware.<br />
All of this contributed to the conceptual model and from that it was just a matter of picking the right hardware and software. Of course, all of this was constrained by not having much knowledge of electronics, little money and even less time.</p>
<h2 style="text-align:center;font-size:1.3em;font-weight:bold;color:#fff;">Are you interested in mass-producing this or selling the idea?</h2>
<p>I don&#8217;t think i&#8217;d say &#8220;no&#8221; to mass production if i have the chance, nevertheless there&#8217;s much involved to do that. Maybe producing it in a small scale&#8230; we&#8217;ll see. The heart of the project has always been a DIY approach so i&#8217;d be really happy if it showed the people that they don&#8217;t need one just like this, but they can build their own controllers, their own tools customized precisely for their needs and ideas. There&#8217;s a lot of people doing this and there has never been a better time to do it than now. the amount of tools and information  we have available to us is amazing, easily accessible and contains huge creative power. The possibilities are infinite!</p>
<h2 style="text-align:center;font-size:1.3em;font-weight:bold;color:#fff;">How easy is it to travel with the loop-r?</h2>
<p>Well, lets just say it&#8217;s not a laptop&#8230;6kg (13 lbs) in an aluminum tool case with all cables, power adapter. plus computer (says my roadie). I&#8217;ve travelled over Europe with few problems besides some strange looks from the customs officers.</p>
<h2 style="text-align:center;font-size:1.3em;font-weight:bold;color:#fff;">Who or what inspires you?</h2>
<p>This is going to sound geeky but in this project i couldn&#8217;t forget <a href="http://www.billbuxton.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.billbuxton.com');">Bill Buxton</a>, Fitzmaurice and D.Norman&#8217;s researches and writings and give thanks for sharing them. They were extremely influential in my interface design approach. <a href="http://thesystemis.com/bio/" onclick="javascript:pageTracker._trackPageview('/outbound/article/thesystemis.com');">Zachary Lieberman</a> and <a href="http://www.flong.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.flong.com');">Golan Levin</a> are amazing creators of expressive interfaces.</p>
<p>Maybe the whole history of artists and creators throughout the visual performance history and synaesthesia pursuit who always looked for more. Currently David Dessens (<a href="http://sanchtv.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/sanchtv.com');">SanchTV</a>) and his <a href="http://vvvv.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/vvvv.org');">VVVV</a> custom high-resolution multi-projection systems is one of the shows I most want to see. And, of course, a lot of inspiration comes from music!</p>
<h2 style="text-align:center;font-size:1.3em;font-weight:bold;color:#fff;">What do you do for a living?</h2>
<p>Interaction-media-creative-researcher-artist-vj-student-boy, currently enrolled in the Interactive Telecommunications Program at <a href="http://www.tisch.nyu.edu/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.tisch.nyu.edu');">Tisch-NYU</a>.</p>
<h2 style="text-align:center;font-size:1.3em;font-weight:bold;color:#fff;">How did you get started with Video Mixing?</h2>
<p>I always had a strong passion for music and performance. Though I could never play any musical instrument, I was always making video clips in my mind. By &#8217;97 I got a hold of the <a href="http://www.vjamm.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.vjamm.com');">VJamm</a> and X-Pose demos and, naturally, got crazy and thought i just had found my tool. By 2000 I had moved to VJing outside my bedroom and never stopped.</p>
<h2 style="text-align:center;font-size:1.3em;font-weight:bold;color:#fff;">Where are you from? What is &#8216;the scene&#8217; for video mixing like where you are?</h2>
<p>I&#8217;m from Portugal but i have been living in NYC for almost one year now. In Portugal the scene is growing and becoming more mature. There are lots of new VJs every year with really nice ideas and work going on. Also Music, Cinema and other Arts festivals are acknowledging live visual performance and investing in it, promoting workshops, competitions and performances.</p>
<h2 style="text-align:center;font-size:1.3em;font-weight:bold;color:#fff;">Where do you see video performance heading?</h2>
<p>Vjs are building their own software and controllers bringing a lot of innovation to the arena and multi-projection has been the buzzword for the past years. Also, generative graphics and coded visuals are becoming more popular than ever.The interaction with sound has been directing live visuals, not disregarding it, more collaborative interactions with the audience and space are being explored and enriching the experience.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/VjKungFu?a=MTTFs_npTcQ:8XOjPADgV_4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/VjKungFu?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/VjKungFu/~4/MTTFs_npTcQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://vjkungfu.com/archive/loop-r-vj-touchscreen-system/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://vjkungfu.com/archive/loop-r-vj-touchscreen-system/</feedburner:origLink></item>
		<item>
		<title>Playsonic: AV Fun with a Game Controller</title>
		<link>http://feedproxy.google.com/~r/VjKungFu/~3/pY44B6lghIs/</link>
		<comments>http://vjkungfu.com/archive/playsonic-av-fun-with-a-game-controller/#comments</comments>
		<pubDate>Thu, 24 May 2007 17:45:09 +0000</pubDate>
		<dc:creator>Momo the Monster</dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://vjkungfu.com/archive/playsonic-av-fun-with-a-game-controller/</guid>
		<description><![CDATA[From the 2007 Maker Faire - a project where Video Art meets Gaming and DJing]]></description>
			<content:encoded><![CDATA[<p><img id="image50" title="mfaire_gampead_small.png" src="http://vjkungfu.com/wp-content/uploads/2007/05/mfaire_gampead_small.png" alt="mfaire_gampead_small.png" align="middle" /></p>
<p>The Playstation 2 Game Controller is a wonderful interface. I debuted this installation at the <a href="http://www.makerfaire.com" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.makerfaire.com');">2007 Maker Faire</a>, and found that kids and adults alike (but especially kids and 20-something gamers) were able to understand and control this interactive Audio Visual System very quickly.</p>
<p>This system builds upon the work I started here: <a href="http://flow.la-va.org/archive/av-synth-controlled-by-gamepad/" onclick="javascript:pageTracker._trackPageview('/outbound/article/flow.la-va.org');">A/V Synth Controlled by Game Pad</a>, and the graphics were inspired by the Interface Design of Battlestar Galactica. Watch the video above and come back for Nitty-Gritty technical details.</p>
<p>First up is <a href="http://www.steim.org/steim/junxion.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.steim.org');">Junxion</a> &#8211; software that converts USB to MIDI messages. First, a disclaimer &#8211; I bought this back when it was $29, and I think it&#8217;s a bit overpriced now (€25 for the basic version and €75 for the deluxe). You can try <a href="http://www.hf.uio.no/imv/forskning/forskningsprosjekter/musicalgestures/resources/multicontrol/index.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.hf.uio.no');">arj.MultiControl</a> &#8211; the last version I used was buggy, but they may have fixed things up since then. In any case &#8211; here&#8217;s what my Junxion setup looks like:<br />
<img id="image51" title="junxion_gamepad.jpg" src="http://vjkungfu.com/wp-content/uploads/2007/05/junxion_gamepad.jpg" alt="junxion_gamepad.jpg" align="middle" /></p>
<p>I have most of the buttons sending CC messages, with the exception of the four circular buttons on the right side of the controller (this would be Triangle, Circle, X, Square on a PS2), which send notes, since they drive the synthesizer. This midi gets sent to my Ableton Live setup:<br />
<img id="image53" title="bsg_live.jpg" src="http://vjkungfu.com/wp-content/uploads/2007/05/bsg_live.jpg" alt="bsg_live.jpg" align="left" /> Track 1 are my two drum clips &#8211; I trigger the Play Clip with L1 and R1 and the Track Stop with either L2 or R2. There&#8217;s a &#8216;Stereo Beat Cutter&#8217; Effect &#8211; I control the &#8216;Chance&#8217; parameter of this with my Directional Pad, defaulting to &#8217;0&#8242; when I&#8217;m not pressing anything, and jumping to four possible ranges when I press Up, Down, Left or Right.</p>
<p><img id="image54" title="live-synth.jpg" src="http://vjkungfu.com/wp-content/uploads/2007/05/live-synth.jpg" alt="live-synth.jpg" align="middle" /></p>
<p>Track 2 is my Synth. I pitch the notes down 2 octaves and run them through an Arpeggiator to the Joystick preset. The Analog Sticks on the gamepad control &#8217;2nd Pitch&#8217; and &#8216;Filter&#8217; in the Joystick Synth.</p>
<p>Track 3 is my MIDI-OUT track. Here I take the Arpeggiated MIDI generated by Track 2, and send it out to my IAC Port (the built-in MIDI routing device in the Mac OS). This brings us to:</p>
<p><img id="image55" title="qtz_bsg_cu.jpg" src="http://vjkungfu.com/wp-content/uploads/2007/05/qtz_bsg_cu.jpg" alt="qtz_bsg_cu.jpg" align="middle" /></p>
<p><img id="image56" title="midi_keys_12.jpg" src="http://vjkungfu.com/wp-content/uploads/2007/05/midi_keys_12.jpg" alt="midi_keys_12.jpg" align="right" />The Quartz Composer patch to run the visuals. Basically, we have a lot of sprites controlled by LFOs, and the controller (for which you can see my handy Macro Patch on the left here) modifies the LFOs, or changes the Alpha of the sprites to make them appear and disappear. One of the tricks I use is this patch to the right, called &#8216;MIDI Keys 12&#8242;. This was a simple enough idea, pointed out to me by Electronic Music Producer <a href="http://chiral.fallingsnow.net" onclick="javascript:pageTracker._trackPageview('/outbound/article/chiral.fallingsnow.net');">Chiral</a> when I was brainstorming for ways to improve a synthesizer-based patch. Inside is a giant mess, of which you can see a tidbit below.<br />
<img id="image57" title="qc_octave_c.jpg" src="http://vjkungfu.com/wp-content/uploads/2007/05/qc_octave_c.jpg" alt="qc_octave_c.jpg" align="middle" /></p>
<p>Basically, I take every possible octave for each note, and run it through a Javascript patch which averages the data from the 10 octaves coming in, and outputs one signal. The end result is a signal that responds to C# no matter which octave you&#8217;re playing.</p>
<p>Let me know what you think of this project so far &#8211; this is only the first version, and I&#8217;ve much more work to do. Ideas I have for the future:</p>
<ul>
<li>Left Analog stick should control the tunnel flight, rather than the Directional Pad</li>
<li>Something should happen when you press Start or Select.</li>
<li>Third Drum loop? (I could use L2 for a loop, and have R2 be the only &#8216;Stop&#8217; button)</li>
<li>The analog sticks can be pressed in for an additional two button clicks &#8211; I should use these</li>
<li>Add multiple controllers &#8211; one for drums, one for lead, one for Vox, etc. that all control the same graphic system.</li>
<li>Your Idea Here.</li>
</ul>
<h2 style="text-align: center; color: #ffffff">Downloads</h2>
<p>Disclaimer: This is not &#8216;ready for the public&#8217; at all yet. I&#8217;m providing the source code for those who tinker with MIDI routing and interactive Audio/Video. One of my goals is to build a system that will be easy for everyone to download and use, but we&#8217;re nowhere near that point.</p>
<p>Ableton Live Project: <a href="http://vjkungfu.com/wp-content/videos/1/playsonicv1/playsonic_ableton.zip" onclick="javascript:pageTracker._trackPageview('/outbound/article/vjkungfu.com');">playsonic_ableton.zip</a><br />
Junxion Preset: <a href="http://vjkungfu.com/wp-content/videos/1/playsonicv1/logitech_gamepad.jxn" onclick="javascript:pageTracker._trackPageview('/outbound/article/vjkungfu.com');">logitech_gamepad.jxn</a><br />
Quartz Composer Project: <a href="http://vjkungfu.com/wp-content/videos/1/playsonicv1/playsonicv1.qtz" onclick="javascript:pageTracker._trackPageview('/outbound/article/vjkungfu.com');">playsonicv1.qtz</a><br />
All 3 of the above in 1 file: <a href="http://vjkungfu.com/wp-content/videos/1/playsonicv1/playsonicv1.zip" onclick="javascript:pageTracker._trackPageview('/outbound/article/vjkungfu.com');">playsonicv1.zip</a></p>
<p>YouTube version: <a href="http://www.youtube.com/watch?v=rD06BfndJX0" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.youtube.com');">Playsonic:  AV Fun with a Game Controller</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/VjKungFu?a=pY44B6lghIs:6_AG2bohID8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/VjKungFu?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/VjKungFu/~4/pY44B6lghIs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://vjkungfu.com/archive/playsonic-av-fun-with-a-game-controller/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://vjkungfu.com/archive/playsonic-av-fun-with-a-game-controller/</feedburner:origLink></item>
		<item>
		<title>Retinal Rumble</title>
		<link>http://feedproxy.google.com/~r/VjKungFu/~3/ehlmy3nsud4/</link>
		<comments>http://vjkungfu.com/archive/retinal-rumble/#comments</comments>
		<pubDate>Wed, 09 May 2007 04:39:26 +0000</pubDate>
		<dc:creator>Momo the Monster</dc:creator>
				<category><![CDATA[Entertainment]]></category>

		<guid isPermaLink="false">http://vjkungfu.com/archive/retinal-rumble/</guid>
		<description><![CDATA[Show Me Yours and I'll Show You Mine - live Internet Video Battle at the 2007 Maker Faire.]]></description>
			<content:encoded><![CDATA[<h2 style="text-align: center">Show me yours and I&#8217;ll show you mine. Only at the <a href="http://makerfaire.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/makerfaire.com');">Maker Faire</a>.</h2>
<p style="text-align: center; font-size: 1.8em; font-weight: bold; color: #ffffff">THE CHALLENGE</p>
<p>Arm yourself with your favorite video clips &#8211; from video sites, email forwards, film compilations and dusty old VHS tapes. Pit your choices against a friend&#8217;s in a head-to-head battle of Top This! played in realtime on our custom-built Rumbletron. If you&#8217;re playing with a friend, you can decide on a category beforehand &#8211; perhaps music videos, or the 80&#8242;s, or videos with the color red &#8211; and challenge each other to put together a better collection by the time the <a href="http://www.makerfaire.com" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.makerfaire.com');">Maker Faire</a> rolls around.</p>
<p style="text-align: center; font-size: 1.8em; font-weight: bold; color: #ffffff">WHAT TO BRING</p>
<p>Bring at least five of your best Internet Video gems on any sort of removable media &#8211; CD, DVD, External HD, USB Flash Drive, etc. Prep them using the <a href="#tech_specs">tech specs</a> at the bottom of this document.</p>
<p style="text-align: center; font-size: 1.8em; font-weight: bold; color: #ffffff">HOW TO PLAY</p>
<p>Take a look at the video above to get an idea of how it will work. Here are the steps for clarification:</p>
<ul>
<li>Each player loads their videos into the interface.</li>
<li>Player 1 begins by playing a clip.</li>
<li>Player 2 observes the video and queues an appropriate follow-up video by pressing the corresponding button on the NuVJ.</li>
<li>When Player 1&#8242;s video is done, s/he flicks the crossfader all the way over to Player 2, which automatically triggers the clip that Player 2 has queued earlier.</li>
<li>Now Player 1 watches Player 2&#8242;s clip and picks a follow-up, queuing it via button-press.</li>
<li>When Player 2&#8242;s video is done, s/he flicks the crossfader back to Player 1, triggering the queued movie, and watching so s/he can pick a follow-up</li>
<li>Play continues in this matter, crossfade and queue, crossfade and queue, until each player has shown 5 videos.</li>
<li>After the last video, players should perform a victory dance.</li>
</ul>
<p style="text-align: center; font-size: 1.8em; font-weight: bold; color: #ffffff">CONTENT GUIDELINES</p>
<p>There will be innocent young eyes roaming the fairgrounds, taking in all the amazing sights. Let your conscience be your guide, yeah? In case of warped conscience, avoid the following: realistic blood/gore, p0rn, swearing, hate speech, Dark Crystal (scared the crap out of me as a kid).</p>
<p>More details coming &#8211; <a href="http://vjkungfu.com/wp-register.php" onclick="javascript:pageTracker._trackPageview('/outbound/article/vjkungfu.com');">Sign Up</a> as a VJ Kung Fu Contributor to stay in the know.</p>
<p><a name="tech_specs"> </a></p>
<p style="text-align: center; font-size: 1.8em; font-weight: bold; color: #ffffff">TECH INFO</p>
<p>Your clips should be at between 10 and 60 seconds long, and compressed using the following settings:</p>
<p>640&#215;480 Pixels<br />
Motion-JPEG B Codec<br />
29.97 FPS<br />
PCM Audio</p>
<p>You cannot edit start points once they have been loaded, so do that beforehand with your favorite editing program.</p>
<p style="text-align: center; font-size: 1.8em; font-weight: bold; color: #ffffff">BANNERS</p>
<p style="text-align: center"><a class="imagelink" title="medium_banner.jpg" href="http://vjkungfu.com/wp-content/uploads/2007/04/medium_banner.jpg" onclick="javascript:pageTracker._trackPageview('/outbound/article/vjkungfu.com');"><img id="image47" src="http://vjkungfu.com/wp-content/uploads/2007/04/medium_banner.jpg" alt="medium_banner.jpg" /></a> <a class="imagelink" title="small_banner.jpg" href="http://vjkungfu.com/wp-content/uploads/2007/04/small_banner.jpg"><br />
<img id="image48" src="http://vjkungfu.com/wp-content/uploads/2007/04/small_banner.jpg" alt="small_banner.jpg" /></a> <a class="imagelink" title="small_banner_white.jpg" href="http://vjkungfu.com/wp-content/uploads/2007/04/small_banner_white.jpg" onclick="javascript:pageTracker._trackPageview('/outbound/article/vjkungfu.com');"><img id="image49" src="http://vjkungfu.com/wp-content/uploads/2007/04/small_banner_white.jpg" alt="small_banner_white.jpg" /></a></p>
<p style="text-align: center">Embeddable YouTube Video:</p>
<p style="text-align: center"><textarea cols="60" rows="5">&lt;span class=&#8221;mceItemObject&#8221;  width=&#8221;425&#8243; height=&#8221;350&#8243;&gt;&lt;span  name=&#8221;movie&#8221; value=&#8221;http://www.youtube.com/v/KBVG7o1Ta-s&#8221; class=&#8221;mceItemParam&#8221;&gt;&lt;/span&gt;&lt;/param&gt; &lt;span class=&#8221;mceItemEmbed&#8221;  xsrc=&#8221;http://www.youtube.com/v/KBVG7o1Ta-s&#8221; mce_src=&#8221;http://www.youtube.com/v/KBVG7o1Ta-s&#8221;  type=&#8221;application/x-shockwave-flash&#8221; width=&#8221;425&#8243; height=&#8221;350&#8243;&gt;&lt;/span&gt;&lt;/span&gt;</textarea></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/VjKungFu?a=ehlmy3nsud4:-KGDNRjVc4E:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/VjKungFu?d=yIl2AUoC8zA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/VjKungFu/~4/ehlmy3nsud4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://vjkungfu.com/archive/retinal-rumble/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://vjkungfu.com/archive/retinal-rumble/</feedburner:origLink></item>
	</channel>
</rss>

