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

<channel>
	<title>Stefan Goodchild &#187; Code</title>
	<atom:link href="http://stefangoodchild.com/tag/code/feed/" rel="self" type="application/rss+xml" />
	<link>http://stefangoodchild.com</link>
	<description>Old Enough To Know Better</description>
	<lastBuildDate>Fri, 25 Jun 2010 09:01:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Infocow</title>
		<link>http://stefangoodchild.com/portfolio/2010/06/infocow/</link>
		<comments>http://stefangoodchild.com/portfolio/2010/06/infocow/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 14:39:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Front]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://stefangoodchild.com/?p=521</guid>
		<description><![CDATA[Infocow connects young people with useful stuff to help take control of life - sites, stories, information and&#160;inspiration.
Worked on the front end code and UI design with Nicolas Alpi and Ed Davey developing the back end on this project for Futurelab. Was a great experience with lots of brilliant feedback and user testing done by [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><a href="http://www.infocow.org.uk/">Infocow</a> connects young people with useful stuff to help take control of life - sites, stories, information and&nbsp;inspiration.</p></blockquote>
<p>Worked on the front end code and UI design with <a href="http://www.notgeeklycorrect.com/">Nicolas Alpi</a> and Ed Davey developing the back end on this project for <a href="http://www.futurelab.org.uk/">Futurelab</a>. Was a great experience with lots of brilliant feedback and user testing done by Futurelab feeding into the Agile development methodology we use here at&nbsp;<a href="http://jivatechnology.com/">Jiva</a>.</p>
<p><img src="http://stefangoodchild.com/wp-content/uploads/2010/06/infocowresourcegrid.jpg" alt="" title="infocowresourcegrid" width="468" height="468" class="alignnone size-full wp-image-523" /></p>
]]></content:encoded>
			<wfw:commentRss>http://stefangoodchild.com/portfolio/2010/06/infocow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Survive or Thrive 2010</title>
		<link>http://stefangoodchild.com/portfolio/2010/05/survive-or-thrive-2010/</link>
		<comments>http://stefangoodchild.com/portfolio/2010/05/survive-or-thrive-2010/#comments</comments>
		<pubDate>Wed, 19 May 2010 14:05:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Front]]></category>
		<category><![CDATA[Moonlance]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://stefangoodchild.com/?p=484</guid>
		<description><![CDATA[A simple Wordpress website to support the Survive or Thrive digital conference put on by JISC.  The work included creating a custom Wordpress plug in to allow easy updating and display of the shifting agenda on a day to day&#160;basis.
Was pleased to be able to do a design based on Conway&#8217;s Game of Life. [...]]]></description>
			<content:encoded><![CDATA[<p>A simple Wordpress website to support the <a href="http://www.surviveorthrive.org.uk/">Survive or Thrive</a> digital conference put on by <a href="http://www.jisc.ac.uk/">JISC</a>.  The work included creating a custom Wordpress plug in to allow easy updating and display of the shifting agenda on a day to day&nbsp;basis.</p>
<p>Was pleased to be able to do a design based on <a href="http://en.wikipedia.org/wiki/Conway's_Game_of_Life">Conway&#8217;s Game of Life</a>.  The pixel shapes in the logo are two examples of patterns that are either static (survive) or create exponential growth (thrive) using the standard rules of the&nbsp;game.</p>
]]></content:encoded>
			<wfw:commentRss>http://stefangoodchild.com/portfolio/2010/05/survive-or-thrive-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorhub</title>
		<link>http://stefangoodchild.com/portfolio/2010/05/tutorhub/</link>
		<comments>http://stefangoodchild.com/portfolio/2010/05/tutorhub/#comments</comments>
		<pubDate>Mon, 17 May 2010 15:49:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Front]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://stefangoodchild.com/?p=477</guid>
		<description><![CDATA[The project I have been product managing and designing for nearly 9 months now has entered private beta. Tutorhub is a website built to connect tutors and students.  Built on a number of cutting edge technologies detailed over at the Jiva website this is something new in the market place and allows secure one [...]]]></description>
			<content:encoded><![CDATA[<p>The project I have been product managing and designing for nearly 9 months now has entered private beta. <a href="http://tutorhub.com/">Tutorhub</a> is a website built to connect tutors and students.  Built on a number of cutting edge technologies detailed over at the <a href="http://jivatechnology.com/miscellaneous/2010/04/xmpp-jabber-bosh-and-all-that/">Jiva website</a> this is something new in the market place and allows secure one to one tutoring sessions to take place using a familiar instant messaging&nbsp;interface.</p>
<p><img src="http://stefangoodchild.com/wp-content/uploads/2010/05/tutorhub.jpg" alt="" title="tutorhub" width="468" height="468" class="alignnone size-full wp-image-478" /></p>
<p>The private beta is now live and we are looking for students and tutors to start&nbsp;testing.</p>
]]></content:encoded>
			<wfw:commentRss>http://stefangoodchild.com/portfolio/2010/05/tutorhub/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Peter Gabriel &#8211; New Blood Tour Visuals</title>
		<link>http://stefangoodchild.com/portfolio/2010/03/peter-gabriel-new-blood-tour-visuals-folio/</link>
		<comments>http://stefangoodchild.com/portfolio/2010/03/peter-gabriel-new-blood-tour-visuals-folio/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 12:18:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Front]]></category>
		<category><![CDATA[Moonlance]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://stefangoodchild.com/?p=449</guid>
		<description><![CDATA[Spent 6 days on a soundstage at Shepperton Studios preparing tour visuals with a great team of talented people for the Peter Gabriel New Blood Tour and I was coding the sound reactive visuals using Processing and the hugely useful Toxiclibs) building on my earlier&#160;work.
The visor screen from &#8220;Boy In The Bubble&#8221; (Fan shot&#160;video)

The visor [...]]]></description>
			<content:encoded><![CDATA[<p>Spent 6 days on a soundstage at Shepperton Studios preparing tour visuals <a href="http://www.marcbessant.com/">with a</a> <a href="http://sheepfilms.co.uk/">great</a> <a href="http://beggarsvelvet.com/">team</a> <a href="http://vimeo.com/ditchweed">of</a> <a href="http://robsinclair.com/">talented</a> <a href="http://vimeo.com/robinreeder">people</a> for the Peter Gabriel New Blood Tour and I was coding the sound reactive visuals using <a href="http://processing.org">Processing</a> and the hugely useful <a href="http://toxiclibs.org/">Toxiclibs</a>) building on my <a href="http://vimeo.com/2712195">earlier</a>&nbsp;<a href="http://vimeo.com/414737">work</a>.</p>
<p>The visor screen from &#8220;Boy In The Bubble&#8221; (Fan shot&nbsp;video)</p>
<p><object width="468" height="263"><param name="movie" value="http://www.youtube.com/v/3EROEjJojcs&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/3EROEjJojcs&#038;hl=en_US&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="468" height="263"></embed></object></p>
<p>The visor screen from &#8220;Mirrorball&#8221; (Fan shot&nbsp;video)</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="468" height="263" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/uho6aLtxJi8&amp;hl=en_US&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="468" height="263" src="http://www.youtube.com/v/uho6aLtxJi8&amp;hl=en_US&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>The rear vertical screens on &#8220;Apres Moi&#8221; (Fan shot&nbsp;video).</p>
<p><object width="468" height="263"><param name="movie" value="http://www.youtube.com/v/TnM9qcvY9dc&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/TnM9qcvY9dc&#038;hl=en_US&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="468" height="263"></embed></object></p>
<p>The rear vertical screens on &#8220;My Body Is A Cage&#8221; (Fan shot&nbsp;video).</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="468" height="351" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/VXvXkvTqWzw&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="468" height="351" src="http://www.youtube.com/v/VXvXkvTqWzw&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>And some stills from the original&nbsp;renders..</p>
<p><img src="http://stefangoodchild.com/wp-content/uploads/2010/03/pg_boyinthebubble.jpg" alt="" title="The Boy In The Bubble" width="468" height="351" class="alignnone size-full wp-image-451" /></p>
<p><img src="http://stefangoodchild.com/wp-content/uploads/2010/03/pg_mybodyisacage.jpg" alt="" title="My Body Is A Cage" width="468" height="351" class="alignnone size-full wp-image-451" /></p>
]]></content:encoded>
			<wfw:commentRss>http://stefangoodchild.com/portfolio/2010/03/peter-gabriel-new-blood-tour-visuals-folio/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Peter Gabriel &#8211; New Blood Tour Visuals</title>
		<link>http://stefangoodchild.com/journal/2010/03/peter-gabriel-new-blood-tour-visuals/</link>
		<comments>http://stefangoodchild.com/journal/2010/03/peter-gabriel-new-blood-tour-visuals/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 11:09:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Journal]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Moonlance]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Processing]]></category>

		<guid isPermaLink="false">http://stefangoodchild.com/?p=435</guid>
		<description><![CDATA[Recently spent a fantastic 6 days on a soundstage at Shepperton Studios preparing sound reactive tour visuals (with Processing) for the Peter Gabriel New Blood Tour with a great team of talented people. I had a great time and produced some work I&#8217;m very proud of.  Some videos of the concerts have started to [...]]]></description>
			<content:encoded><![CDATA[<p>Recently spent a fantastic 6 days on a soundstage at Shepperton Studios preparing sound reactive tour visuals (with <a href="http://processing.org">Processing</a>) for the Peter Gabriel New Blood Tour <a href="http://www.marcbessant.com/">with a</a> <a href="http://sheepfilms.co.uk/">great</a> <a href="http://beggarsvelvet.com/">team</a> <a href="http://vimeo.com/ditchweed">of</a> <a href="http://robsinclair.com/">talented</a> <a href="http://vimeo.com/robinreeder">people</a>. I had a great time and produced some work I&#8217;m very proud of.  Some videos of the concerts have started to appear on YouTube including the work I did for the rear vertical screens on &#8220;My Body Is A&nbsp;Cage&#8221;.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="468" height="351" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/VXvXkvTqWzw&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="468" height="351" src="http://www.youtube.com/v/VXvXkvTqWzw&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>And the visor screen from&nbsp;&#8220;Mirrorball&#8221;</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="468" height="263" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/uho6aLtxJi8&amp;hl=en_US&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="468" height="263" src="http://www.youtube.com/v/uho6aLtxJi8&amp;hl=en_US&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://stefangoodchild.com/journal/2010/03/peter-gabriel-new-blood-tour-visuals/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Novation Launchpad &#8211; Note number to XY Coordinates and back again.</title>
		<link>http://stefangoodchild.com/journal/2009/11/novation-launchpad-note-number-to-xy-coordinates-and-back-again/</link>
		<comments>http://stefangoodchild.com/journal/2009/11/novation-launchpad-note-number-to-xy-coordinates-and-back-again/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 17:17:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Journal]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Interactive]]></category>
		<category><![CDATA[Launchpad]]></category>
		<category><![CDATA[Processing]]></category>

		<guid isPermaLink="false">http://stefangoodchild.com/?p=354</guid>
		<description><![CDATA[First thing I did with my new Launchpad?  Nope, I didn&#8217;t hook it up to Live and jam.  I hooked it up, fired up Processing and worked out how to light up the pads and recieve the notes so I could hack it to do anything I wanted&#160;to.
One thing I noticed straight off [...]]]></description>
			<content:encoded><![CDATA[<p>First thing I did with my new <a href="http://www.novationmusic.com/products/midi_controller/launchpad">Launchpad</a>?  Nope, I didn&#8217;t hook it up to Live and jam.  I hooked it up, fired up <a href="http://processing.org/">Processing</a> and worked out how to light up the pads and recieve the notes so I could hack it to do anything I wanted&nbsp;to.</p>
<p>One thing I noticed straight off the bat is the note numbers are not incremental.  Each row starts 16 higher than the last - I assume to allow for the same firmware to work in a 16 x 16 layout model - and there is a very simple way that reminds me of the technique of <a href="http://en.wikipedia.org/wiki/Bitwise_operation">bitshifting</a> I used back in the bad old days of DVD authoring to convert from one to the&nbsp;other.</p>
<pre class="brush: java">
// To go from XY to the note number
noteNumber = y * 16 + x;

// To go from the note number to the XY
x = noteNumber % 16;
y = (noteNumber - x) / 16;
</pre>
<p>Hopefully that will save someone ten minutes of head&nbsp;scratching.</p>
]]></content:encoded>
			<wfw:commentRss>http://stefangoodchild.com/journal/2009/11/novation-launchpad-note-number-to-xy-coordinates-and-back-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jiva Technology</title>
		<link>http://stefangoodchild.com/portfolio/2009/04/jiva-technology/</link>
		<comments>http://stefangoodchild.com/portfolio/2009/04/jiva-technology/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 10:03:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Front]]></category>
		<category><![CDATA[Interactive]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://stefangoodchild.com/?p=295</guid>
		<description><![CDATA[The new Jiva Technology website template for Wordpress with custom Twitter feed and Project&#160;carousel.
]]></description>
			<content:encoded><![CDATA[<p>The new <a href="http://jivatechnology.com/">Jiva Technology website</a> template for Wordpress with custom Twitter feed and Project&nbsp;carousel.</p>
]]></content:encoded>
			<wfw:commentRss>http://stefangoodchild.com/portfolio/2009/04/jiva-technology/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Disco Maths</title>
		<link>http://stefangoodchild.com/journal/2009/01/disco-maths/</link>
		<comments>http://stefangoodchild.com/journal/2009/01/disco-maths/#comments</comments>
		<pubDate>Sun, 04 Jan 2009 09:50:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Journal]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Processing]]></category>

		<guid isPermaLink="false">http://stefangoodchild.com/?p=207</guid>
		<description><![CDATA[
			
			
			
		

I started messing around with sin/cosin based grid manipulation a few days ago and posted the results on Flickr along with an abstract of the code and equation I used to generate the&#160;images. 
This prompted Andy Best to amend the code to create two animations.  Inspired by his efforts I decided to do my [...]]]></description>
			<content:encoded><![CDATA[<p><object
		width="468"
		height="263"
		data="http://vimeo.com/moogaloop.swf?clip_id=2712195&amp;server=vimeo.com"
		type="application/x-shockwave-flash">
			<param name="allowfullscreen" value="true" />
			<param name="allowscriptaccess" value="always" />
			<param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=2712195&amp;server=vimeo.com" />
		</object>
</p>
<p>I started messing around with sin/cosin based grid manipulation a few days ago and <a href="http://www.tinyurl.com/discomaths">posted the results on Flickr</a> along with an abstract of the code and equation I used to generate the&nbsp;images. </p>
<p>This prompted <a href="http://www.andybest.net">Andy Best</a> to amend the code to create <a href="http://www.andybest.net/2009/01/disco-lines/">two</a> <a href="http://www.andybest.net/2009/01/disco-mesh/">animations</a>.  Inspired by his efforts I decided to do <a href="http://vimeo.com/2712195">my own animation</a> in&nbsp;response.</p>
<p>The music is a quick edit I did of a <a href="http://www.discogs.com/artist/Sir+Drew">Sir Drew</a> bootleg 12&#8221; I&#8217;ve had for years and always&nbsp;loved.</p>
]]></content:encoded>
			<wfw:commentRss>http://stefangoodchild.com/journal/2009/01/disco-maths/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Particle Text</title>
		<link>http://stefangoodchild.com/journal/2008/12/particle-text/</link>
		<comments>http://stefangoodchild.com/journal/2008/12/particle-text/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 09:46:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Journal]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Processing]]></category>

		<guid isPermaLink="false">http://stefangoodchild.com/?p=220</guid>
		<description><![CDATA[
			
			
			
		

Was experimenting with creating text with particles and a friend who runs the Sound of Habib record label said that he wishes he had time to mess around with stars so this is a little christmas gift for&#160;him.
]]></description>
			<content:encoded><![CDATA[<p><object
		width="468"
		height="263"
		data="http://vimeo.com/moogaloop.swf?clip_id=2531596&amp;server=vimeo.com"
		type="application/x-shockwave-flash">
			<param name="allowfullscreen" value="true" />
			<param name="allowscriptaccess" value="always" />
			<param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=2531596&amp;server=vimeo.com" />
		</object>
</p>
<p>Was experimenting with creating text with particles and a friend who runs the <a href="http://soundofhabib.com/">Sound of Habib</a> record label said that he wishes he had time to mess around with stars so this is a little christmas gift for&nbsp;him.</p>
]]></content:encoded>
			<wfw:commentRss>http://stefangoodchild.com/journal/2008/12/particle-text/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>TouchOSC and Processing Accelerometer Example Code</title>
		<link>http://stefangoodchild.com/journal/2008/12/touchosc-and-processing-accelerometer-example-code/</link>
		<comments>http://stefangoodchild.com/journal/2008/12/touchosc-and-processing-accelerometer-example-code/#comments</comments>
		<pubDate>Fri, 05 Dec 2008 00:23:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Journal]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[TouchOSC]]></category>

		<guid isPermaLink="false">http://stefangoodchild.com/?p=194</guid>
		<description><![CDATA[Playing with my iPhone and Processing v1 on the train last night I started messing with TouchOSC and thought that this super simple (and fairly rough) example code using the oscP5 library may help someone on their way to interactive wobbly&#160;nirvana.
Code after the&#160;jump.


import processing.opengl.*;
import oscP5.*;

OscP5 oscP5;

float xrot = 0;
float zrot = 0;

float xrot_targ = 0;
float [...]]]></description>
			<content:encoded><![CDATA[<p>Playing with my iPhone and <a href="http://processing.org/">Processing v1</a> on the train last night I started messing with <a href="http://hexler.net/touchosc">TouchOSC</a> and thought that this super simple (and fairly rough) example code using the <a href="http://www.sojamo.de/libraries/oscP5/">oscP5</a> library may help someone on their way to interactive wobbly&nbsp;nirvana.</p>
<p>Code after the&nbsp;jump.</p>
<p><span id="more-194"></span></p>
<pre class="brush: java">
import processing.opengl.*;
import oscP5.*;

OscP5 oscP5;

float xrot = 0;
float zrot = 0;

float xrot_targ = 0;
float zrot_targ = 0;
float orientation = 0;

float dampSpeed = 5;

void setup() {
  size(400,400, OPENGL);
  oscP5 = new OscP5(this,8000);
  smooth();
}

void draw() {
  camera(  0, 0, 300,
         0, 0, 0,
         0.0, 1.0, 0.0
     );
  background(0); 

  // Basic value smoothing

  if (xrot_targ &gt; xrot) {
    xrot = xrot + ((xrot_targ - xrot) / dampSpeed);
  } else {
    xrot = xrot - ((xrot - xrot_targ) / dampSpeed);
  }

  if (zrot_targ &gt; zrot) {
    zrot = zrot + ((zrot_targ - zrot) / dampSpeed);
  } else {
    zrot = zrot - ((zrot - zrot_targ) / dampSpeed);
  }

 // Detection for if the iPhone is upsidedown or not

  if (orientation &lt; 0) {
    fill(255,0,0);
    rotateX(radians(xrot));
    rotateZ(radians(zrot));
  } else {
    fill(255,255,0);
    rotateX(radians(xrot*-1));
    rotateZ(radians(zrot*-1));
  }
  box(130,10,60);

}

void oscEvent(OscMessage theOscMessage) {
  if(theOscMessage.checkAddrPattern(&quot;/accxyz&quot;)==true) {
      xrot_targ = (theOscMessage.get(0).floatValue()*90);
      zrot_targ = (theOscMessage.get(1).floatValue()*90)*-1;
      orientation = theOscMessage.get(2).floatValue();
  }
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://stefangoodchild.com/journal/2008/12/touchosc-and-processing-accelerometer-example-code/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Audio DNA Source Code</title>
		<link>http://stefangoodchild.com/journal/2008/11/audio-dna-source-code/</link>
		<comments>http://stefangoodchild.com/journal/2008/11/audio-dna-source-code/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 22:01:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Journal]]></category>
		<category><![CDATA[Art]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Processing]]></category>

		<guid isPermaLink="false">http://stefangoodchild.com/?p=136</guid>
		<description><![CDATA[After some prompting I though I would publish some of my Processing source code to see what people made of it.  Probably not the tidiest code out there, but these are essentially sketches so figured it didn&#8217;t matter too&#160;much.
To make this work you&#8217;ll need a few bits from around the internets.  First up [...]]]></description>
			<content:encoded><![CDATA[<p>After some prompting I though I would publish some of my <a href="http://processing.org">Processing</a> source code to see what people made of it.  Probably not the tidiest code out there, but these are essentially sketches so figured it didn&#8217;t matter too&nbsp;much.</p>
<p>To make this work you&#8217;ll need a few bits from around the internets.  First up is the <a href="http://www.davebollinger.com/works/p5/fftoctana/">FFTOctaveAnalyser</a> class from Dave Bollinger which you need to put in the root of your sketch directory, then you&#8217;ll need to download the <a href="http://www.tree-axis.com/Ess/">Ess&nbsp;library</a>.</p>
<p>Finally you&#8217;ll need something like <a href="http://audacity.sourceforge.net/">Audacity</a> to split an audio file into it&#8217;s left and right channels.  Save them as two mono wav files (for some reason AIFF seems to upset it) called &lt;audiofile&gt;.L and &lt;audiofile&gt;.R and pop them in the sketch data&nbsp;directory.</p>
<p>Assuming all this has gone to plan all you need to do is edit the source code on line 4 so the audioFilename variable is the same as the &lt;audiofile&gt; referenced above and click the play button.  Give it a second or two (depending on the length of the audio file) and you should see the Audio DNA displayed and find a TIFF version sitting in a folder called &#8216;out&#8217; in your sketch&nbsp;folder.</p>
<p>Onto the source.  The key to this is it&#8217;s not real time.  It scans the audio file chunk by chunk so in this instance it&#8217;s faster than real-time.  With some tweaks a similar technique can be used to render out audio reactive Processing sketches that run slower than real-time if that&#8217;s your&nbsp;bag.</p>
<p><span id="more-136"></span></p>
<pre class="brush: java">
import krister.Ess.*;

String audioFilename = &quot;md&quot;;
String audioFilenameL = audioFilename+&quot;.L&quot;;
String audioFilenameR = audioFilename+&quot;.R&quot;;

int imgSize = 500;

// SinCos Lookup tables from Toxi (i think via flight404...) He&#039;s a clever chap, look him up.
public static final float sinLUT[];
public static final float cosLUT[];
public static final float SINCOS_PRECISION=1f;
public static final int SINCOS_LENGTH= (int) (360f/SINCOS_PRECISION);
static {
  sinLUT=new float[SINCOS_LENGTH];
  cosLUT=new float[SINCOS_LENGTH];
  for (int i=0; i&lt;SINCOS_LENGTH; i++) {
    sinLUT[i]= (float)Math.sin(i*DEG_TO_RAD*SINCOS_PRECISION);
    cosLUT[i]= (float)Math.cos(i*DEG_TO_RAD*SINCOS_PRECISION);
  }
}

AudioChannel chnL;
AudioChannel chnR;
FFT fftL;
FFT fftR;
FFTOctaveAnalyzer octL;
FFTOctaveAnalyzer octR;
int bufferSize = 1024;
int samplingRate = 44100;

int frameL = 0;
int frameR = 360; 

int samplesPerDegree;
int section;

float[] limits = new float[9];
float[] radii = new float[9];
float[] linethick = new float[9];

float radStep;

void setup() {
  size(imgSize, imgSize, P3D);
  noStroke();
  Ess.start(this);
  chnL = new AudioChannel(dataPath(audioFilenameL));
  chnR = new AudioChannel(dataPath(audioFilenameR));
  samplesPerDegree = chnL.size/181;
  fftL = new FFT(bufferSize*2);
  fftR = new FFT(bufferSize*2);
  fftL.limits();
  fftR.limits();
  fftL.damp(.5);
  fftR.damp(.5);
  octL = new FFTOctaveAnalyzer(fftL, samplingRate, 1);
  octR = new FFTOctaveAnalyzer(fftR, samplingRate, 1);
  octL.peakHoldTime = 10; // hold longer
  octL.peakDecayRate = 3; // decay slower
  octL.linearEQIntercept = 0.7; // reduced gain at lowest frequency
  octL.linearEQSlope = 0.02; // increasing gain at higher frequencies
  octR.peakHoldTime = 10; // hold longer
  octR.peakDecayRate = 3; // decay slower
  octR.linearEQIntercept = 0.7; // reduced gain at lowest frequency
  octR.linearEQSlope = 0.02; // increasing gain at higher frequencies
  background(255);
  fill(0);
  noLoop();
}

void draw() {
    limits[0] = 0.3;
    limits[1] = 0.6;
    limits[2] = 0.5;
    limits[3] = 0.4;
    limits[4] = 0.4;
    limits[5] = 0.4;
    limits[6] = 0.3;
    limits[7] = 0.3;
    limits[8] = 0.3;

    float radStart = imgSize/10;
    float radEnd = imgSize*0.9;
    radStep = (radEnd-radStart)/9;
    float radCurrent = radStart;

    for (int r = 0; r &lt; 9; r++) {
      radii[r] = radCurrent/2;
      radCurrent = radCurrent+radStep;
    }

  for (int frm = 0; frm &lt; 181; frm++) {
    analyze();
    render();
    advance();
  }
  saveFrame(&quot;out/&quot;+audioFilename+&quot;.tif&quot;);
} 

void analyze() {
  section = (int)(frameL * samplesPerDegree);
  fftL.getSpectrum(chnL.samples, section);
  fftR.getSpectrum(chnR.samples, section);
  octL.calculate();
  octR.calculate();
} 

void render() {
  for (int i = 0; i &lt; 9; i++) {
    if (octL.averages[i]&gt;limits[i]) myArc(width/2,height/2,frameL,frameL+2,radii[i],radStep/2.5,.5);
    if (octR.averages[i]&gt;limits[i]) myArc(width/2,height/2,frameR,frameR+2,radii[i],radStep/2.5,.5);
  }
}

void advance() {
    frameL ++;
    frameR --;
} 

public void stop() {
  Ess.stop();
  super.stop();
}

void arc(float x,float y,float degS,float degE,float rad,float w) {
  int start=(int)min (degS/SINCOS_PRECISION,SINCOS_LENGTH-1);
  int end=(int)min (degE/SINCOS_PRECISION,SINCOS_LENGTH-1);
  beginShape(QUAD_STRIP);
  for(int i=start; i&lt;end; i++) {
    vertex(cosLUT[i]*(rad)+x,sinLUT[i]*(rad)+y);
    vertex(cosLUT[i]*(rad+w)+x,sinLUT[i]*(rad+w)+y);
  }
  endShape();
}

void myArc(float x,float y,float degS,float degE,float rad,float w, float step) {
  beginShape(QUAD_STRIP);
  noStroke();
  for (float i = degS; i &lt; degE; i=i+step) {
    vertex(rad*cos(radians(i))+x,rad*sin(radians(i))+y);
    vertex((rad+w)*cos(radians(i))+x,(rad+w)*sin(radians(i))+y);
  }
  endShape();
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://stefangoodchild.com/journal/2008/11/audio-dna-source-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Audio Fingerprints</title>
		<link>http://stefangoodchild.com/journal/2008/10/audio-fingerprints/</link>
		<comments>http://stefangoodchild.com/journal/2008/10/audio-fingerprints/#comments</comments>
		<pubDate>Sun, 26 Oct 2008 12:11:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Journal]]></category>
		<category><![CDATA[Art]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Processing]]></category>

		<guid isPermaLink="false">http://stefangoodchild.com/?p=105</guid>
		<description><![CDATA[
I&#8217;ve been tinkering with audio visualisations in Processing for a few years now.  The three animated ones I was happy enough with to show I have been adding to Vimeo but the still versions had never seen the light of day apart from glimpses as part of the audio player on this&#160;site.
I finally signed [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-129" title="phfingerprints" src="http://stefangoodchild.com/wp-content/uploads/2008/10/phfingerprints.jpg" alt="Portishead Visualisations" width="468" height="226" /></p>
<p>I&#8217;ve been tinkering with audio visualisations in <a href="http://processing.org/">Processing</a> for a few years now.  The three animated ones I was happy enough with to show I have been adding to <a href="http://vimeo.com/stefangoodchild">Vimeo</a> but the still versions had never seen the light of day apart from glimpses as part of the audio player on this&nbsp;site.</p>
<p>I finally signed up to <a href="http://www.flickr.com/photos/31276926@N05/">Flickr</a> and added a few higher res artifacts of the experiments over there as <a href="http://lifeonmarc.blogspot.com/">Marc Bessant</a> had posted about them on his <a href="http://lifeonmarc.blogspot.com/2008/10/audio-fingerprints.html">blog</a> recently so thought I should out the rest myself. There are two kinds that I&#8217;ve done.  The &#8216;Fingerprint&#8217; and the &#8216;DNA&#8217; styles are very closely linked in terms of back end code but produce very different&nbsp;results.</p>
<p>&#8216;Fingerprint&#8217; was the first one chronologically  I wanted to get something organic feeling and at higher resolutions and with the right colour palette they can look almost watercolour like.  &#8216;DNA&#8217; was the offshoot. The result of a conversation with the aforementioned Marc Bessent about creating something to etch onto the empty side of a 12&#8221; single release.  The release happened, but the band in question didn&#8217;t go for the designs.  Not sure what was used in it&#8217;s&nbsp;place.</p>
]]></content:encoded>
			<wfw:commentRss>http://stefangoodchild.com/journal/2008/10/audio-fingerprints/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Processing Camera Classes</title>
		<link>http://stefangoodchild.com/journal/2008/08/processing-camera-classes/</link>
		<comments>http://stefangoodchild.com/journal/2008/08/processing-camera-classes/#comments</comments>
		<pubDate>Mon, 29 Nov 1999 23:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Journal]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Interactive]]></category>
		<category><![CDATA[Processing]]></category>

		<guid isPermaLink="false">http://localhost:8888/journal/2008/08/processing-camera-classes/</guid>
		<description><![CDATA[Inspired by the feedback from my latest vimeo video I&#8217;ve finally got my simple &#8216;Chase&#8217; and &#8216;Sphere&#8217; camera classes tidied up and available.  Probably not the greatest programming feat of the decade but may help some of you starting out with&#160;Processing.
You can see a simplified applet and get the source code&#160;here.
If you have any [...]]]></description>
			<content:encoded><![CDATA[<p>Inspired by the feedback from my latest vimeo video I&#8217;ve finally got my simple &#8216;Chase&#8217; and &#8216;Sphere&#8217; camera classes tidied up and available.  Probably not the greatest programming feat of the decade but may help some of you starting out with&nbsp;<a href="http://processing.org">Processing</a>.</p>
<p>You can see a simplified applet and get the source code&nbsp;<a href="http://stefangoodchild.com/processing/CameraClasses/">here</a>.</p>
<p>If you have any feedback or suggestions to how to improve them please <a href="http://stefangoodchild.com/contact/">get in&nbsp;touch</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://stefangoodchild.com/journal/2008/08/processing-camera-classes/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>WOMAD</title>
		<link>http://stefangoodchild.com/portfolio/2008/06/womad/</link>
		<comments>http://stefangoodchild.com/portfolio/2008/06/womad/#comments</comments>
		<pubDate>Mon, 29 Nov 1999 23:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Interactive]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://localhost:8888/journal/2008/06/womad/</guid>
		<description><![CDATA[The replacement WOMAD site following our decision to drop the old Lasso site after the server theft.  A new OO based forum code is the main new feature on the code&#160;front.  
Nothing really new up front as yet in terms of features but - like Real World Records - the site has been [...]]]></description>
			<content:encoded><![CDATA[<p>The replacement WOMAD site following our decision to drop the old Lasso site after the server theft.  A new OO based forum code is the main new feature on the code&nbsp;front.  </p>
<p>Nothing really new up front as yet in terms of features but - like Real World Records - the site has been designed to be extended easily over the coming months with plenty of scope for custom&nbsp;areas.</p>
<p>Standards based, with proper separation and where possible semantic markup this is the final Real World site to move to PHP from Lasso and the final missing site after the&nbsp;theft.</p>
<p><a href="http://www.womad.org">www.womad.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://stefangoodchild.com/portfolio/2008/06/womad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Real World Records</title>
		<link>http://stefangoodchild.com/portfolio/2008/06/real-world-records/</link>
		<comments>http://stefangoodchild.com/portfolio/2008/06/real-world-records/#comments</comments>
		<pubDate>Mon, 29 Nov 1999 23:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Interactive]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://localhost:8888/journal/2008/06/real-world-records/</guid>
		<description><![CDATA[I had the majority of the site built and working locally before the server theft but with no design or UI in place. The design came together very quickly and was designed from the ground up to be easily improved&#160;upon.
This is a temporary site and as such there are some rough edges but I think [...]]]></description>
			<content:encoded><![CDATA[<p>I had the majority of the site built and working locally before the server theft but with no design or UI in place. The design came together very quickly and was designed from the ground up to be easily improved&nbsp;upon.</p>
<p>This is a temporary site and as such there are some rough edges but I think for only a few days work on the UI and design it holds up pretty well with a simple and clean design, free from Web 2.0 clichés, a full search, clean URLs and sound samples for every track in the Realworld catalogue so in many ways is a vast improvement on the original&nbsp;site.</p>
<p><a href="http://www.realworldrecords.com">www.realworldrecords.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://stefangoodchild.com/portfolio/2008/06/real-world-records/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cubescape</title>
		<link>http://stefangoodchild.com/journal/2008/05/cubescape/</link>
		<comments>http://stefangoodchild.com/journal/2008/05/cubescape/#comments</comments>
		<pubDate>Mon, 29 Nov 1999 23:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Journal]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Interactive]]></category>

		<guid isPermaLink="false">http://localhost:8888/journal/2008/05/cubescape/</guid>
		<description><![CDATA[
Amazing piece of HTML/CSS/jQuery hackery by Cameron Adams that just begs to be played with.  It looks like my future will mainly involve creating nostalgic Q-Bert&#160;landscapes.
Cubescape
]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.stefangoodchild.com/content/journal_images/cubescape.jpg" alt="" /></p>
<p>Amazing piece of HTML/CSS/jQuery hackery by Cameron Adams that just begs to be played with.  It looks like my future will mainly involve creating nostalgic Q-Bert&nbsp;landscapes.</p>
<p><a href="http://www.themaninblue.com/experiment/Cubescape/new.php">Cubescape</a></p>
]]></content:encoded>
			<wfw:commentRss>http://stefangoodchild.com/journal/2008/05/cubescape/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Filthy Robbers Stole Our Servers!</title>
		<link>http://stefangoodchild.com/journal/2008/05/filthy-robbers-stole-our-severs/</link>
		<comments>http://stefangoodchild.com/journal/2008/05/filthy-robbers-stole-our-severs/#comments</comments>
		<pubDate>Mon, 29 Nov 1999 23:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Journal]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://localhost:8888/journal/2008/05/filthy-robbers-stole-our-severs/</guid>
		<description><![CDATA[You may have seen it on the interweb news already (Techcrunch, Slashdot, The Register etc) so I&#8217;m late to the party, mainly due to the fact I&#8217;ve been hard at work restoring our lost servers.  I say lost.  I mean&#160;nicked.  
Stolen.
So a note to all you admins out there in charge of [...]]]></description>
			<content:encoded><![CDATA[<p>You may have seen it on the interweb news already (Techcrunch, Slashdot, The Register etc) so I&#8217;m late to the party, mainly due to the fact I&#8217;ve been hard at work restoring our lost servers.  I say lost.  I mean&nbsp;nicked.  </p>
<p>Stolen.</p>
<p>So a note to all you admins out there in charge of sites.  Have a think about what your strategy is in case on not just hardware failure, but total loss.  Not something you think about too&nbsp;often.</p>
<p>We are mainly back after 4 days of frantic work, but have made some harsh decisions about the very old sites based on some archaic tech that we have just cut free and plan to remake.  The only main one missing as of now is Real World Records which we are planning to get online in a new form this&nbsp;week.  </p>
<p>Alongside the restore we moved hosts, and switched to a hosted system rather than a co-located server so had to get elbow deep to reconfigure most of the sites to get them working on the new server so this wasn&#8217;t just a simple backup&nbsp;restore.</p>
<p>The only missing thing are the video assets.  We will be re-encoding and re-uploading those over time to take advantage of the new flash based video player we switched to earlier this&nbsp;year.  </p>
<p>As ever having Peter&#8217;s name attached gives it legs in the blog world and here is some of the&nbsp;reporting.</p>
<p><a href="http://www.techcrunch.com/2008/05/06/heres-a-hosting-provider-youll-probably-want-to-avoid/">Techcrunch</a> | <a href="http://blogs.wsj.com/biztech/2008/05/06/peter-gabriels-servers-stolen/">Wall Street Journal</a> | <a href="http://hardware.slashdot.org/article.pl?sid=08/05/06/1639257&amp;from=rss">Slashdot</a> | <a href="http://www.theregister.co.uk/2008/05/05/peter_gabriel_server_theft/">The&nbsp;Register</a></p>
<p>Always interesting to read the comments (apart from the endless Sledgehammer jokes) and see what people on the outside think our setup is like.  Most appear to assume a large enterprise type setup with a team of devs, designers and editors.  The reality is much more&nbsp;modest.</p>
]]></content:encoded>
			<wfw:commentRss>http://stefangoodchild.com/journal/2008/05/filthy-robbers-stole-our-severs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Big Blue Ball</title>
		<link>http://stefangoodchild.com/portfolio/2008/05/big-blue-ball/</link>
		<comments>http://stefangoodchild.com/portfolio/2008/05/big-blue-ball/#comments</comments>
		<pubDate>Thu, 08 May 2008 07:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Interactive]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://localhost:8888/journal/2008/05/big-blue-ball/</guid>
		<description><![CDATA[A microsite (but a big one!) for the new release from Real World Records.  Features custom flash audio and video players and pulls data from the custom Real World&#160;CMS.
&#160;bigblueball.realworldrecords.com
]]></description>
			<content:encoded><![CDATA[<p>A microsite (but a big one!) for the new release from Real World Records.  Features custom flash audio and video players and pulls data from the custom Real World&nbsp;CMS.</p>
<p><a href="http://bigblueball.realworldrecords.com">&nbsp;bigblueball.realworldrecords.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://stefangoodchild.com/portfolio/2008/05/big-blue-ball/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Womad Shop</title>
		<link>http://stefangoodchild.com/portfolio/2008/03/womad-shop/</link>
		<comments>http://stefangoodchild.com/portfolio/2008/03/womad-shop/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 07:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Front]]></category>
		<category><![CDATA[Interactive]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://localhost:8888/journal/2008/03/womad-shop/</guid>
		<description><![CDATA[Brand new replacement shop for Real World which currently has a 7 figure turnover thanks to the exclusive stocking of WOMAD&#160;tickets.  
Front and back end rebuilt from the ground up to enable products to be grouped in dynamic ways so digital downloads can be incorporated in the next phase with lots of work done [...]]]></description>
			<content:encoded><![CDATA[<p>Brand new replacement shop for Real World which currently has a 7 figure turnover thanks to the exclusive stocking of WOMAD&nbsp;tickets.  </p>
<p>Front and back end rebuilt from the ground up to enable products to be grouped in dynamic ways so digital downloads can be incorporated in the next phase with lots of work done to make the front end as simple as possible to create a higher conversion rate despite the relatively high amount of information required&nbsp;on-screen.</p>
<p><a href="http://www.womadshop.com">www.womadshop.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://stefangoodchild.com/portfolio/2008/03/womad-shop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plogue Bidule [sg_efx] Pack One</title>
		<link>http://stefangoodchild.com/journal/2007/06/plogue-bidule-sg_efx-pack-one/</link>
		<comments>http://stefangoodchild.com/journal/2007/06/plogue-bidule-sg_efx-pack-one/#comments</comments>
		<pubDate>Mon, 29 Nov 1999 23:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Journal]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Music Tech]]></category>
		<category><![CDATA[Plogue Bidule]]></category>

		<guid isPermaLink="false">http://localhost:8888/journal/2007/06/plogue-bidule-sg_efx-pack-one/</guid>
		<description><![CDATA[
After months of faffing I&#8217;ve finally got round to prepping, testing and uploading my first efx pack.  8 .bgrp files for Plogue Bidule users everywhere check&#160;out.
[sg_efx] Buffer&#160;Scratch
An LFO based audio buffer effect.  Audio goes in, weird scratchy and odd sounds come out.  The LFO speed is tempo locked with presets for a [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://stefangoodchild.com/content/journal_images/dscf0547.JPG" alt="" /></p>
<p>After months of faffing I&#8217;ve finally got round to prepping, testing and uploading my first efx pack.  8 .bgrp files for <a href="http://www.plogue.com/">Plogue Bidule</a> users everywhere check&nbsp;out.</p>
<blockquote><h4>[sg_efx] Buffer&nbsp;Scratch</h4>
<p>An LFO based audio buffer effect.  Audio goes in, weird scratchy and odd sounds come out.  The LFO speed is tempo locked with presets for a few different tempo divisions.  Needs to be synced for it to&nbsp;work.</p>
<h4>[sg_efx]&nbsp;BuffScatter</h4>
<p>As above but weirder and less controllable.  Needs to be synced for it to&nbsp;work.</p>
<h4>[sg_efx] Stereo Triple LFO&nbsp;Buffer</h4>
<p>An extension of Buffer Scratch.  This time three non synced LFOs get busy with your buffer.  Needs to be synced for it to&nbsp;work.</p>
<h4>[sg_efx] S&amp;H&nbsp;Filter+Comb</h4>
<p>2 tempo locked sample and hold LFOs mess with a low pass filter and a delay unit to create filtered comb filter type effects.  Needs to be synced for it to&nbsp;work.</p>
<h4>[sg_efx] Stereo 6-12db&nbsp;Filter</h4>
<p>Boring and bog standard, but pretty handy none the&nbsp;less.</p>
<h4>[sg_mod] Log&nbsp;Slider</h4>
<p>This isn&#8217;t an effect just a handy group.  The slider value displayed is converted into a Log shape curve on output.  Handy for filters and the&nbsp;like.</p>
<h4>[sg_mod] Sync&nbsp;LFO</h4>
<p>Another module, this time the Synced LFO used in the effects above.  Needs to be synced for it to&nbsp;work.</p>
<h4>[sg_mod] Sync&nbsp;S&amp;H</h4>
<p>A synced Sample and Hold LFO, as used in the S&amp;H Filter+Comb group and handy to have stand alone.  Needs to be synced for it to&nbsp;work.</p>
</blockquote>
<h4>How To&nbsp;Install</h4>
<p><a href="http://stefangoodchild.com/content/journal_images/sg_bidule_pack_one.zip" title="[sg_efx] Pack One">[sg_efx] Pack&nbsp;One</a></p>
<p>Download the .zip file linked above and expand.  Drag the &#8216;[sg_bidule] Pack One&#8217; folder to the Bidule groups folder.  Start Bidule and with any luck it will tell you that there are 8 new&nbsp;groups.</p>
<p>There will be a new folder in your palette at the bottom called [sg].  All the new groups are in&nbsp;there.</p>
<p>Feel free to open them up and improve / hack them as they are the result of late night noodling rather than concerted clean coding so they may be a bit unpredictable, but I like that when it comes to&nbsp;music.</p>
<p>If you use them in a track please let me know..  I&#8217;d love to hear what you&#8217;ve&nbsp;done.</p>
<p>Obviously these are provided as is, no warranty etc.  If you break something, lose work, blow your speakers, whatever it really isn&#8217;t my problem&nbsp;OK?</p>
]]></content:encoded>
			<wfw:commentRss>http://stefangoodchild.com/journal/2007/06/plogue-bidule-sg_efx-pack-one/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
