<?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>Soulwire &#187; Notes</title>
	<atom:link href="http://blog.soulwire.co.uk/category/notes/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.soulwire.co.uk</link>
	<description>Art + Technology</description>
	<lastBuildDate>Thu, 27 May 2010 16:18:19 +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>Smack My Glitch Up</title>
		<link>http://blog.soulwire.co.uk/laboratory/flash/as3-bitmapdata-glitch-generator</link>
		<comments>http://blog.soulwire.co.uk/laboratory/flash/as3-bitmapdata-glitch-generator#comments</comments>
		<pubDate>Wed, 03 Feb 2010 21:37:51 +0000</pubDate>
		<dc:creator>Soulwire</dc:creator>
				<category><![CDATA[Actionscript 3.0]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Generative]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Transmissions]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Colour]]></category>
		<category><![CDATA[Experiments]]></category>
		<category><![CDATA[Glitch]]></category>

		<guid isPermaLink="false">http://blog.soulwire.co.uk/?p=1003</guid>
		<description><![CDATA[
Sometimes it&#8217;s good to break things&#8230;
During a recent project I needed to find a way of simulating digital interference on an image / video stream. At first, it seemed the best approach might be to use the graphics API or Bitmap effects, but why imitate when you can have the real thing.
The principle is incredibly [...]


Related posts:<ol><li><a href='http://blog.soulwire.co.uk/art-design/generative/webcam-glitch-art' rel='bookmark' title='Permanent Link: Webcam Glitch Art'>Webcam Glitch Art</a></li>
<li><a href='http://blog.soulwire.co.uk/code/actionscript-3/as3-ase-adobe-swatch-exchange-encoder' rel='bookmark' title='Permanent Link: ASE (Adobe Swatch Exchange) Encoder'>ASE (Adobe Swatch Exchange) Encoder</a></li>
<li><a href='http://blog.soulwire.co.uk/laboratory/flash/recursive-polygon-subdivision' rel='bookmark' title='Permanent Link: Recursive Polygon Subdivision'>Recursive Polygon Subdivision</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.soulwire.co.uk/wp-content/uploads/2010/02/glitchmap.swf" title="AS3 Glitch Generator" rel="lightbox;width=900;height=650;" ><img class="alignnone size-full wp-image-1006" title="Glitchmap - AS3 Glitch Generator" src="http://blog.soulwire.co.uk/wp-content/uploads/2010/02/glitch-generator.jpg" alt="Glitchmap - AS3 Glitch Generator" width="710" height="360" /></a></p>
<p><em>Sometimes it&#8217;s good to break things&#8230;</em></p>
<p>During a recent project I needed to find a way of simulating digital interference on an image / video stream. At first, it seemed the best approach might be to use the graphics API or Bitmap effects, but why imitate when you can have the real thing.<span id="more-1003"></span></p>
<p>The principle is incredibly simple. Corrupt / alter a byte (or several bytes) in the ByteArray of a JPEG and then load this back into a DisplayObject using <em>Loader.loadBytes()</em>. Because of the way in which <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://en.wikipedia.org/wiki/JPEG#Syntax_and_structure" >JPEGs work</a>, the image will still display but the corrupt bytes will mangle the output to varying degrees, depending on how many bytes have been corrupted. The result is an interesting glitch pattern, a bit like those which were accidentally created <a href="http://blog.soulwire.co.uk/art-design/generative/webcam-glitch-art" title="Webcam glitch images" >when my webcam drivers lost the plot</a>.</p>
<p>It is also possible to corrupt other image formats (png, gif etc) in the same way, by first passing the image ByteArray through a <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://code.google.com/p/as3corelib/source/browse/trunk/src/com/adobe/images/JPGEncoder.as" >JPEGEncoder</a>.</p>
<p>I&#8217;ve implemented this technique in the <strong>Glitchmap</strong> class, which you can download and play with at the bottom of this post. I hope that it will provide a few moments of fun, if not a practical use <em>(I&#8217;m thinking image gallery transitions or <a href="http://blog.soulwire.co.uk/laboratory/flash/actionscript3-dynamic-sound-visualisation" >music </a><a href="http://blog.soulwire.co.uk/art-design/portfolio/more-bandcamp-music-visualisations" >visualisations</a>)</em>.</p>
<p>The small gottcha is that it isn&#8217;t desirable to mess with the JPEG headers, so when the clean ByteArray is passed to the <em>Glitchmap</em> class, it will determine the length of the header by reading through the bytes until it finds the <em>SOS (start of scan)</em> declaration <em>(0xFFDA)</em>. The next two bytes represent the length of the <em>SOS</em>, so it skips forward by this amount &#8211; the resulting position in the ByteArray should be the end of the header, and so between this point and the <em>EOI (end of image)</em> the data corruption takes place. I&#8217;m not sure whether this is the best way of determining the JPEG header size; <em>perhaps any CS graduates / students out there can help me out?</em></p>
<p>After I posted the <a href="http://blog.soulwire.co.uk/art-design/generative/webcam-glitch-art" >webcam glitch images</a>, Jon used them in his title sequences for the <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://www.youtube.com/watch?v=k5scRdXr7wU"  rel="shadowbox[post-1003];player=swf;width=640;height=385;">48 hour film gala</a>. If you find a similar creative use for this script or the <a href="http://blog.soulwire.co.uk/wp-content/uploads/2010/02/glitchmap.swf" title="AS3 Glitch Generator" rel="lightbox;width=900;height=650;" >glitch generator</a> then please let us all know.</p>
<p>I think the next step is to experiment with merging the bytes of multiple glitched images in order to create transition effects. I may also build an AIR app and see what the best way of outputting video might be (using NativeProcess for screen capture perhaps?).</p>
<a href="http://blog.soulwire.co.uk/wp-content/plugins/download-monitor/download.php?id=Glitchmap.zip" class="download" title="AS3 BitmapData Glitch Generator (Glitchmap): Glitchmap is a class for generating glitch imagery from AS3 BitmapData"  rel="nofollow"><strong>Download:</strong> AS3 BitmapData Glitch Generator (Glitchmap)</a>
<p><em>You can also download the Glitchmap Class and the <a href="http://blog.soulwire.co.uk/wp-content/uploads/2010/02/glitchmap.swf" title="AS3 Glitch Generator" rel="lightbox;width=900;height=650;" >Glitch Generator</a> source code from the <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://code.google.com/p/soulwire/" title="Soulwire code repository" >soulwire code repository</a>.</em></p>


<p>Related posts:<ol><li><a href='http://blog.soulwire.co.uk/art-design/generative/webcam-glitch-art' rel='bookmark' title='Permanent Link: Webcam Glitch Art'>Webcam Glitch Art</a></li>
<li><a href='http://blog.soulwire.co.uk/code/actionscript-3/as3-ase-adobe-swatch-exchange-encoder' rel='bookmark' title='Permanent Link: ASE (Adobe Swatch Exchange) Encoder'>ASE (Adobe Swatch Exchange) Encoder</a></li>
<li><a href='http://blog.soulwire.co.uk/laboratory/flash/recursive-polygon-subdivision' rel='bookmark' title='Permanent Link: Recursive Polygon Subdivision'>Recursive Polygon Subdivision</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.soulwire.co.uk/laboratory/flash/as3-bitmapdata-glitch-generator/feed</wfw:commentRss>
		<slash:comments>31</slash:comments>
		</item>
		<item>
		<title>Another Day, Another Design</title>
		<link>http://blog.soulwire.co.uk/art-design/portfolio/another-day-another-design</link>
		<comments>http://blog.soulwire.co.uk/art-design/portfolio/another-day-another-design#comments</comments>
		<pubDate>Mon, 01 Feb 2010 22:19:46 +0000</pubDate>
		<dc:creator>Soulwire</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Miscellany]]></category>
		<category><![CDATA[Notes]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Transmissions]]></category>
		<category><![CDATA[Hello]]></category>
		<category><![CDATA[Soulwire]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://blog.soulwire.co.uk/?p=952</guid>
		<description><![CDATA[
I’ve been off the web radar for several months. The later part of 2009 saw many changes and, despite being extremely busy with several interesting projects and personal studies, I have somewhat neglected this blog.
Without wishing to bore anyone with the details, I may still post a summary of what I am / have been [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.soulwire.co.uk/wp-content/uploads/2010/02/redesign-2010-710x325.jpg" alt="Soulwire Blog 2010 Redesign" title="Soulwire Blog 2010 Redesign" width="710" height="325" class="alignnone size-medium wp-image-960" /></p>
<p>I’ve been off the web radar for several months. The later part of 2009 saw many changes and, despite being extremely busy with several interesting projects and personal studies, I have somewhat neglected this blog.<span id="more-952"></span></p>
<p>Without wishing to bore anyone with the details, I may still post a summary of what I am / have been working on recently &#8211; at some point &#8211; though for now it will suffice to say that I’m broadening my horizons – getting deeper into <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://processing.org/" >Processing</a> and <em>OpenGl</em> and learning <em>C++</em> with <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://www.openframeworks.cc/" >OF</a>, as well as <em>Objective C</em> and the Cocoa Touch framework. As more projects using these technologies arise I hope to share this learning experience with you.</p>
<h3>Design</h3>
<p>With regards to the re-design; this is by no means the finished article, however I felt it best to push the current theme live so that I can start posting again. I hope that you find it more user friendly than the last edition, and please do leave any suggestions for improvement – it is like most things simply a work in progress.</p>
<h3>Objectives</h3>
<p>My aim is to continue posting content on a much more frequent basis, though with the philosophy that quality precedes quantity. That said, I will be adding tools to help aggregate my more continuous online activity in an attempt to share more of the work and ideas of others who inspire me, with you.</p>
<p>Now that the site is live, I will post a few catch-up entries over the coming weeks and from there hopefully find a more natural rhythm.</p>
<p>So, for those of you kind enough to listen, that is the egocentric chatter over! I look forward to resuming the dialogue with you – see you around.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.soulwire.co.uk/art-design/portfolio/another-day-another-design/feed</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>More Music Visualisations</title>
		<link>http://blog.soulwire.co.uk/art-design/portfolio/more-bandcamp-music-visualisations</link>
		<comments>http://blog.soulwire.co.uk/art-design/portfolio/more-bandcamp-music-visualisations#comments</comments>
		<pubDate>Tue, 17 Mar 2009 14:07:44 +0000</pubDate>
		<dc:creator>Soulwire</dc:creator>
				<category><![CDATA[Animation]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Generative]]></category>
		<category><![CDATA[Illustration]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Transmissions]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Audio]]></category>
		<category><![CDATA[Visualisation]]></category>

		<guid isPermaLink="false">http://blog.soulwire.co.uk/?p=322</guid>
		<description><![CDATA[
Just a quick (and slightly belated) announcement.
The distinguished Bandcamp has recently been regaled with another round of audio-visual snacks. I&#8217;ve had a lot of fun working on them, and there will be even more in the not too distant future.
The whole Bandcamp site in fact is bursting with more and more tasty new features which [...]


Related posts:<ol><li><a href='http://blog.soulwire.co.uk/art-design/portfolio/bandcamp-music-visualisations' rel='bookmark' title='Permanent Link: Bandcamp Music Visualisations'>Bandcamp Music Visualisations</a></li>
<li><a href='http://blog.soulwire.co.uk/laboratory/flash/actionscript3-dynamic-sound-visualisation' rel='bookmark' title='Permanent Link: AS3 Music Visualisation'>AS3 Music Visualisation</a></li>
<li><a href='http://blog.soulwire.co.uk/art-design/portfolio/disabed-algebra' rel='bookmark' title='Permanent Link: Disabed Algebra'>Disabed Algebra</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-525" title="Bandcamp Music Visualisations" src="http://blog.soulwire.co.uk/wp-content/uploads/2009/03/bandcamp.jpg" alt="Bandcamp Music Visualisations" width="710" height="352" /></p>
<p><strong>Just a quick</strong> (and slightly belated) <strong>announcement</strong>.</p>
<p>The distinguished <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://bandcamp.com/" title="Bandcamp"  target="_blank">Bandcamp</a> has recently been regaled with another round of audio-visual snacks. I&#8217;ve had a lot of fun working on them, and there will be even more in the not too distant future.</p>
<p>The whole Bandcamp site in fact is bursting with more and more <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://bandcamp.com/features"  target="_blank">tasty new features</a> which you should check out. In terms of my little contribution on the music visualistions front, there are currently four new full fat flavors to feast on…<span id="more-322"></span></p>
<p><strong>Ribbons</strong> » which uses my <a href="http://blog.soulwire.co.uk/code/actionscript-3/papervision3d-ribbons" title="Papervision3D Ribbon Class" >Papervision3D Ribbons Class</a> and is designed for crunching riffs and hard beats.</p>
<p><a href="http://blog.soulwire.co.uk/wp-content/uploads/2009/03/ribbons-big.jpg" rel="lightbox[bandcamp]" ><img class="alignnone size-medium wp-image-528" title="Ribbons Visualisation" src="http://blog.soulwire.co.uk/wp-content/uploads/2009/03/ribbons-big-710x177.jpg" alt="Ribbons Visualisation" width="710" height="177" /></a></p>
<p><strong>Strata</strong> » which was inspired by stream-graphs and rock formations, and flows like a charred pizza in a log-flume along an imaginary Teflon oven dish.</p>
<p><a href="http://blog.soulwire.co.uk/wp-content/uploads/2009/03/strata-big.jpg" rel="lightbox[bandcamp]" ><img class="alignnone size-medium wp-image-529" title="Strata Visualisation" src="http://blog.soulwire.co.uk/wp-content/uploads/2009/03/strata-big-710x177.jpg" alt="Strata Visualisation" width="710" height="177" /></a></p>
<p><strong>Plughole</strong> » which comprises of disembodied appendages and iconography encapsulating the zeitgeist of generation stupid &#8211; mashes the aforementioned archetypes up into crumbs before offering them to the esophagus of oblivion.</p>
<p><a href="http://blog.soulwire.co.uk/wp-content/uploads/2009/03/plughole-big.jpg" rel="lightbox[bandcamp]" ><img class="alignnone size-medium wp-image-527" title="Plughole Visualisation" src="http://blog.soulwire.co.uk/wp-content/uploads/2009/03/plughole-big-710x177.jpg" alt="Plughole Visualisation" width="710" height="177" /></a></p>
<p><strong>Hypno</strong> » which was designed to bring about universal harmony and spiritual equilibrium but accidentally caused the credit crunch.</p>
<p><a href="http://blog.soulwire.co.uk/wp-content/uploads/2009/03/hypno-big.jpg" rel="lightbox[bandcamp]" ><img class="alignnone size-medium wp-image-526" title="Hypno Visualisation" src="http://blog.soulwire.co.uk/wp-content/uploads/2009/03/hypno-big-710x177.jpg" alt="Hypno Visualisation" width="710" height="177" /></a></p>
<p>You can see them in action by visiting an <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://bandcamp.com/artists" title="Artists on Bandcamp"  target="_blank">artist&#8217;s</a> page (such as <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://hotbitcharsenal.bandcamp.com/" title="Hot Bitch Arsenal on Bandcamp"  target="_blank">Hot Bitch Arsenal</a> or <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://patttten.bandcamp.com/" title="Patterns on Bandcamp"  target="_blank">Pattern</a>), hitting play and selecting a visualisation from the pop-out menu underneath the cover art.</p>


<p>Related posts:<ol><li><a href='http://blog.soulwire.co.uk/art-design/portfolio/bandcamp-music-visualisations' rel='bookmark' title='Permanent Link: Bandcamp Music Visualisations'>Bandcamp Music Visualisations</a></li>
<li><a href='http://blog.soulwire.co.uk/laboratory/flash/actionscript3-dynamic-sound-visualisation' rel='bookmark' title='Permanent Link: AS3 Music Visualisation'>AS3 Music Visualisation</a></li>
<li><a href='http://blog.soulwire.co.uk/art-design/portfolio/disabed-algebra' rel='bookmark' title='Permanent Link: Disabed Algebra'>Disabed Algebra</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.soulwire.co.uk/art-design/portfolio/more-bandcamp-music-visualisations/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Subversive &amp; Google Code</title>
		<link>http://blog.soulwire.co.uk/notes/programming/eclipse-fdt-subversive-svn-google-code</link>
		<comments>http://blog.soulwire.co.uk/notes/programming/eclipse-fdt-subversive-svn-google-code#comments</comments>
		<pubDate>Fri, 06 Feb 2009 19:43:55 +0000</pubDate>
		<dc:creator>Soulwire</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[FDT]]></category>
		<category><![CDATA[Subversion]]></category>

		<guid isPermaLink="false">http://blog.soulwire.co.uk/?p=296</guid>
		<description><![CDATA[I’ve recently started weaning myself off of Flashdevelop and onto FDT, mainly because it’s cross platform but also because it means I can use the same IDE for coding and compiling Actionscript and Java.
The other clinching factor was it’s plugins, notably Subversive for SVN browsing and team collaboration goodness.
This evening though, I tried checking out [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>I’ve recently started weaning myself off of <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://www.flashdevelop.org/" >Flashdevelop</a> and onto <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://fdt.powerflasher.com/" >FDT</a>, mainly because it’s cross platform but also because it means I can use the same IDE for coding and compiling Actionscript and Java.</p>
<p>The other clinching factor was it’s plugins, notably <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://www.polarion.org/index.php?page=overview&amp;project=subversive" >Subversive</a> for SVN browsing and team collaboration goodness.</p>
<p>This evening though, I tried checking out a Google code project and got the following error:<span id="more-296"></span></p>
<pre>
SVN: ‘0×00400006: Validate Repository Location’ operation finished with error: Selected SVN connector library is not available or cannot be loaded.
If you selected native JavaHL connector, please check if binaries are available or install and select pure Java Subversion connector from the plug-in connectors update site.

If connectors already installed then you can change the selected one at: Window->Preferences->Team->SVN->SVN Client.

Selected SVN connector library is not available or cannot be loaded.

If you selected native JavaHL connector, please check if binaries are available or install and select pure Java Subversion connector from the plug-in connectors update site.

If connectors already installed then you can change the selected one at: Window->Preferences->Team->SVN->SVN Client.
</pre>
<p>Basically, it was banging on about <strong>connectors</strong>, so&#8230;</p>
<p>In case anyone is experiencing the same thing, here’s what I did to solve it:</p>
<ol>
<li>Open up the <em>Software Updates and Add-ons</em> dialogue (<strong>Help &gt; Software Updates</strong>)</li>
<li>Click <em>Add Site</em> and enter the <strong>Polaron SVN Connectors update site</strong> URL:<br /><a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/" >http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/</a><br /><em>(I found this on the <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://www.polarion.org/index.php?page=download&amp;project=subversive" >Polaron download page</a>)</em></li>
<li><a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/" ></a>Open up the <strong>Subversive Connectors Site</strong> node, then <strong>Subversive SVN Connectors</strong></li>
<li>Download the following plugins:
<ul>
<li>Subversive SVN Connectors</li>
<li>SVNKit 1.1.7 Implementation</li>
</ul>
</li>
</ol>
<p><strong>Restart Eclipse</strong> (or FDT standalone) when prompted and that seemed to do the trick.</p>
<p>I’m new to FDT and Eclipse, so let me know I was missing something.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.soulwire.co.uk/notes/programming/eclipse-fdt-subversive-svn-google-code/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Masking Transparent Bitmaps</title>
		<link>http://blog.soulwire.co.uk/code/actionscript-3/gradient-alpha-masks-on-transparent-bitmaps</link>
		<comments>http://blog.soulwire.co.uk/code/actionscript-3/gradient-alpha-masks-on-transparent-bitmaps#comments</comments>
		<pubDate>Wed, 10 Dec 2008 16:15:49 +0000</pubDate>
		<dc:creator>Soulwire</dc:creator>
				<category><![CDATA[Actionscript 3.0]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.soulwire.co.uk/?p=233</guid>
		<description><![CDATA[
Original image by Edwin Tofslie
I was having a few gradient alpha mask disabilities today and thought I should share my misery and consequential solution with anyone who might run into the same problems!
Update: TF pointed out a very simple solution – cacheAsBitmap WILL work, providing you cache the Bitmap as a Bitmap, as you would [...]


Related posts:<ol><li><a href='http://blog.soulwire.co.uk/code/actionscript-3/fit-a-displayobject-into-a-rectangle' rel='bookmark' title='Permanent Link: Fit DisplayObject into Rectangle'>Fit DisplayObject into Rectangle</a></li>
<li><a href='http://blog.soulwire.co.uk/code/actionscript-3/extract-average-colours-from-bitmapdata' rel='bookmark' title='Permanent Link: BitmapData Average Colours'>BitmapData Average Colours</a></li>
<li><a href='http://blog.soulwire.co.uk/code/actionscript-3/colourutils-bitmapdata-extract-colour-palette' rel='bookmark' title='Permanent Link: BitmapData Colour Palette'>BitmapData Colour Palette</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.soulwire.co.uk/wp-content/uploads/2008/12/bitmap-alpha-mask-4.jpg" alt="Bitmap Alpha Channel Masking using CopyPixels" title="Bitmap Alpha Channel Masking using CopyPixels" width="710" height="223" class="alignnone size-full wp-image-571" /></p>
<p><em>Original image by <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://www.tofslie.com/"  target="_blank">Edwin Tofslie</a></em></p>
<p>I was having a few <strong>gradient alpha mask</strong> disabilities today and thought I should share my misery and consequential solution with anyone who might run into the same problems!<span id="more-233"></span></p>
<blockquote><p><em>Update: </em>TF pointed out a very simple solution – cacheAsBitmap WILL work, providing you cache the Bitmap as a Bitmap, as you would if you were working with two vector drawings. Why a Bitmap wouldn’t be cached as a Bitmap I don’t fully understand.<br />
Still use the copyPixels method if you want to create a single object and discard the mask, but otherwise don’t listen to me overcomplicating things and do it old school!</p></blockquote>
<p>As you know, since Flash Player 8 we’ve been able to use an alpha channel when masking display objects. A common implementation is to first draw a gradient that fades from white with opacity 1 to white with opacity 0 and then tell a display object to use this as its mask.</p>
<p>Apparently, however &#8211; it’s not always that simple&#8230;</p>
<p>In this instance, I was using an embedded image (though the same would be true for a loaded one) which was in PNG format and contained an <strong>alpha channel</strong>. The alpha channel was crucial as the image was an icon with a transparent background and faded edges. I needed to dynamically mask and fade out this image to create a reflection via code, rather than doing this all in Photoshop. The resulting Bitmap would be sitting on top of a colour changing background, and so transparency was needed on both the original icon shape and the fading reflection – a common enough requirement.</p>
<h2>The &#8220;cacheAsBitmap&#8221; Approach</h2>
<p>The simplest way to do this and the technique that I immediately reached for, is to create the mask – being a Shape object with a gradient drawn using its instance of the Graphic class – set it’s <strong>cacheAsBitmap </strong>property to <em>true</em> and then set the embedded Bitmap’s mask property to use this gradient.</p>
<p><strong>The result:</strong></p>
<p><img title="Using cacheAsBitmap to create an Alpha gradient mask" src="http://blog.soulwire.co.uk/wp-content/uploads/2008/12/bitmap-alpha-mask-2.jpg" alt="Using cacheAsBitmap to create an Alpha gradient mask" /></p>
<p><strong>The code:</strong></p>
<pre lang="actionscript">[Embed(source = '../lib/image.png')]
private var image:Class;

var myImage:Bitmap = new image as Bitmap;
addChild( myImage );

var matrix:Matrix = new Matrix();
matrix.createGradientBox( myImage.width, myImage.height, Math.PI / 2 );

var gradient:Shape = new Shape();
gradient.graphics.beginGradientFill( 'linear', [0xFFFFFF, 0xFFFFFF], [1, 0], [0, 255], matrix );
gradient.graphics.drawRect(0, 0, myImage.width, myImage.height);
gradient.graphics.endFill();
gradient.cacheAsBitmap = true;

myImage.mask = gradient;</pre>
<p><del datetime="2008-12-12T13:00:00+00:00">However, presumably due to the fact that the bitmap already contained an alpha channel, the alpha channel of the bitmap-cached gradient shape was ignored, and the result is a mask which is simply the entire area of the gradient box, much like the pre Flash Player 8 mask behaviour of being either <em>on</em> or <em>off</em> and nothing in between.</del> (</p>
<h2>The &#8220;CopyChannel&#8221; Approach</h2>
<p>The next approach I tried was to <em>draw the gradient to a new transparent</em> bitmapdata and then use the <strong>copyChannel </strong>method to copy the alpha channel of the gradient bitmapdata to the bitmapdata of my image.</p>
<p><strong>The result:</strong></p>
<p><img title="Using BitmapData.copyChannel to create an Alpha gradient mask" src="http://blog.soulwire.co.uk/wp-content/uploads/2008/12/bitmap-alpha-mask-3.jpg" alt="Using BitmapData.copyChannel to create an Alpha gradient mask" /></p>
<p><strong>The code:</strong></p>
<pre lang="actionscript">var gradientBitmap:BitmapData = new BitmapData( gradient.width, gradient.height, true, 0 );
gradientBitmap.draw( gradient );

var channel:uint = BitmapDataChannel.ALPHA;

myImage.bitmapData.copyChannel(gradientBitmap, gradientBitmap.rect, new Point(), channel, channel);</pre>
<p>Again, an undesirable result – I was left with some kind of graphic monstrosity that was a Frankenstein combination of my wonderfully smooth faded source image and a gradient showing through wherever transparency should have been in the original.</p>
<h2>The solution (CopyPixels)</h2>
<p>The approach I used in the end was to create a new transparent bitmapdata with the same dimensions of my image, then to use the <strong>copyPixels</strong> method to copy over the pixels from my source image to the new bitmapdata. The copyPixels method also accepts a parameter for <strong>alphaBitmapData</strong>, so I passed my gradient bitmapdata to this. Finally, copyPixels also takes a Boolean value for <strong>mergeAlpha</strong>, so set this to <em>true</em> and the result is a brand new image with the RGB pixel data of the source image and an alpha channel which is a combination of the alpha channels from both the source and the gradient bitmap.</p>
<p><strong>The result:</strong></p>
<p><img title="Using BitmapData. copyPixels to create an Alpha gradient mask" src="http://blog.soulwire.co.uk/wp-content/uploads/2008/12/bitmap-alpha-mask-4.jpg" alt="Using BitmapData. copyPixels to create an Alpha gradient mask" /></p>
<p><strong>The code:</strong></p>
<pre lang="actionscript">var gradientBitmap:BitmapData = new BitmapData( gradient.width, gradient.height, true, 0 );
gradientBitmap.draw( gradient );

var result:BitmapData = new BitmapData( myImage.width, myImage.height, true, 0 );
result.copyPixels(myImage.bitmapData, result.rect, new Point(), gradientBitmap, new Point(), true);

addChild( new Bitmap( result ) );</pre>
<p>I’m sure I’ll be mocked by my fellow developers for having been kneecapped by this quite basic problem, but having glanced at a few forum posts it seems common enough. Therefore I felt sharing the solution might be of some benefit.</p>
<p><strong>Full source code:</strong></p>
<pre lang="actionscript">[Embed(source = '../lib/image.png')]
private var image:Class;

public function Main():void
{
	drawCheckerboardPattern();

	var myImage:Bitmap = new image as Bitmap;

	var matrix:Matrix = new Matrix();
	matrix.createGradientBox( myImage.width, myImage.height, Math.PI / 2 );

	var linear:String = GradientType.LINEAR;
	var colors:Array = [0xFFFFFF, 0xFFFFFF];
	var alphas:Array = [1.0, 0.0];
	var ratios:Array = [0.0, 255];
	var spread:String = SpreadMethod.PAD;

	var gradient:Shape = new Shape();
	gradient.graphics.beginGradientFill( linear, colors, alphas, ratios, matrix, spread );
	gradient.graphics.drawRect(0, 0, myImage.width, myImage.height);
	gradient.graphics.endFill();

	var gradientBitmap:BitmapData = new BitmapData( gradient.width, gradient.height, true, 0 );
	gradientBitmap.draw( gradient );

	var result:BitmapData = new BitmapData( myImage.width, myImage.height, true, 0 );
	result.copyPixels( myImage.bitmapData, result.rect, new Point(), gradientBitmap, new Point(), true );

	addChild( new Bitmap( result ) );
}

private function drawCheckerboardPattern():void
{
	var boxSize:int = 8;

	var pattern:BitmapData = new BitmapData( boxSize * 2, boxSize * 2, false );
	pattern.fillRect( new Rectangle( 0, 0, boxSize, boxSize ), 0xCCCCCC );
	pattern.fillRect( new Rectangle( boxSize, boxSize, boxSize, boxSize ), 0xCCCCCC );

	graphics.beginBitmapFill( pattern );
	graphics.drawRect( 0, 0, stage.stageWidth, stage.stageHeight );
	graphics.endFill();
}</pre>


<p>Related posts:<ol><li><a href='http://blog.soulwire.co.uk/code/actionscript-3/fit-a-displayobject-into-a-rectangle' rel='bookmark' title='Permanent Link: Fit DisplayObject into Rectangle'>Fit DisplayObject into Rectangle</a></li>
<li><a href='http://blog.soulwire.co.uk/code/actionscript-3/extract-average-colours-from-bitmapdata' rel='bookmark' title='Permanent Link: BitmapData Average Colours'>BitmapData Average Colours</a></li>
<li><a href='http://blog.soulwire.co.uk/code/actionscript-3/colourutils-bitmapdata-extract-colour-palette' rel='bookmark' title='Permanent Link: BitmapData Colour Palette'>BitmapData Colour Palette</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.soulwire.co.uk/code/actionscript-3/gradient-alpha-masks-on-transparent-bitmaps/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Bandcamp Music Visualisations</title>
		<link>http://blog.soulwire.co.uk/art-design/portfolio/bandcamp-music-visualisations</link>
		<comments>http://blog.soulwire.co.uk/art-design/portfolio/bandcamp-music-visualisations#comments</comments>
		<pubDate>Thu, 18 Sep 2008 12:24:28 +0000</pubDate>
		<dc:creator>Soulwire</dc:creator>
				<category><![CDATA[Animation]]></category>
		<category><![CDATA[Generative]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Transmissions]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Audio]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Visualisation]]></category>

		<guid isPermaLink="false">http://blog.soulwire.co.uk/?p=105</guid>
		<description><![CDATA[
One of the most interesting projects I have worked on recently has just been launched!
It’s called Bandcamp, and is the brain child of Ethan Diamond and Shawn Grunberger, both from Oddpost (which you’ll know these days as Yahoo! Mail).
In short, Bandcamp is a “free hosted publishing platform for musicians”, although there is much more to [...]


Related posts:<ol><li><a href='http://blog.soulwire.co.uk/art-design/portfolio/more-bandcamp-music-visualisations' rel='bookmark' title='Permanent Link: More Music Visualisations'>More Music Visualisations</a></li>
<li><a href='http://blog.soulwire.co.uk/art-design/portfolio/disabed-algebra' rel='bookmark' title='Permanent Link: Disabed Algebra'>Disabed Algebra</a></li>
<li><a href='http://blog.soulwire.co.uk/laboratory/flash/actionscript3-dynamic-sound-visualisation' rel='bookmark' title='Permanent Link: AS3 Music Visualisation'>AS3 Music Visualisation</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-medium wp-image-682" title="Bandcamp Music Visualisations" src="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/bandcamp-710x326.jpg" alt="Bandcamp Music Visualisations" width="710" height="326" /></p>
<p>One of the most interesting projects I have worked on recently has just been launched!</p>
<p>It’s called Bandcamp, and is the brain child of <strong>Ethan Diamond</strong> and <strong>Shawn Grunberger</strong>, both from <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://en.wikipedia.org/wiki/Oddpost" title="Oddpost"  target="_blank">Oddpost</a> (which you’ll know these days as Yahoo! Mail).</p>
<p>In short, Bandcamp is a <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://waxy.org/2008/09/bandcamp_launch/" title="Bandcamp review on Waxy.org"  target="_blank"><em>“free hosted publishing platform for musicians”</em></a>, although there is much more to it than that, including&#8230;<span id="more-105"></span></p>
<ul>
<li> Design customisations and clean, SEO and user friendly URLs for every band</li>
<li> Automatic transcoding of uploaded tracks to a variety of formats (including lossless)</li>
<li> The option to give away tracks for free, or to sell them (at either a fixed price or one nominated by the fan who&#8217;s buying it, they call it &#8220;Name your price&#8221;)</li>
<li> A <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://bandcamp.mu/img/shot-stats.png" title="Bandcamp stats page example"  rel="shadowbox[post-105];player=img;" target="_blank">stats page</a> in the band’s CMS, which shows all complete and partial track listens, incoming links and the general state of the band’s internet rep’, whether it be blog mentions, reviews or who’s embedding their Bandcamp player and where.</li>
<li>Cool music visualisations as part of their player (more on that in a moment)</li>
</ul>
<p><a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://bandcamp.mu/faq" title="Read more about Bandcamp"  target="_blank">&#8230;And it&#8217;s <strong>FREE!</strong></a></p>
<p>My job was to help make the site even more unique (and sexy!) by creating a <strong>library of music visualisations</strong> &#8211; these provide some eye candy whilst you listen to tracks on a band&#8217;s page (or in their embedded player). We strived to avoid the clichéd, generic approach to visualisations (you know what I’m talking about) by giving the user something a wee bit special to gawk at. It wouldn’t be fair if ears got all the love!</p>
<p>Here&#8217;s a few quick screengrabs of the first 5 visualisations (more visualisations are on their way soon)&#8230;</p>

<a href="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/3d1.jpg"  rel='shadowbox[album-105];player=img;' title='3D Music Visualisations 1'><img width="155" height="155" src="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/3d1-155x155.jpg" class="attachment-thumbnail" alt="" title="3D Music Visualisations 1" /></a>
<a href="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/3d2.jpg"  rel='shadowbox[album-105];player=img;' title='3D Music Visualisations 2'><img width="155" height="155" src="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/3d2-155x155.jpg" class="attachment-thumbnail" alt="" title="3D Music Visualisations 2" /></a>
<a href="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/3d3.jpg"  rel='shadowbox[album-105];player=img;' title='3D Music Visualisations 3'><img width="155" height="155" src="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/3d3-155x155.jpg" class="attachment-thumbnail" alt="" title="3D Music Visualisations 3" /></a>
<a href="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/3d4.jpg"  rel='shadowbox[album-105];player=img;' title='3D Music Visualisations 4'><img width="155" height="155" src="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/3d4-155x155.jpg" class="attachment-thumbnail" alt="" title="3D Music Visualisations 4" /></a>
<a href="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/bubbles1.jpg"  rel='shadowbox[album-105];player=img;' title='Bubbles Music Visualisation 1'><img width="155" height="155" src="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/bubbles1-155x155.jpg" class="attachment-thumbnail" alt="" title="Bubbles Music Visualisation 1" /></a>
<a href="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/bubbles2.jpg"  rel='shadowbox[album-105];player=img;' title='Bubbles Music Visualisation 2'><img width="155" height="155" src="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/bubbles2-155x155.jpg" class="attachment-thumbnail" alt="" title="Bubbles Music Visualisation 2" /></a>
<a href="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/bubbles3.jpg"  rel='shadowbox[album-105];player=img;' title='Bubbles Music Visualisation 3'><img width="155" height="155" src="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/bubbles3-155x155.jpg" class="attachment-thumbnail" alt="" title="Bubbles Music Visualisation 3" /></a>
<a href="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/bubbles4.jpg"  rel='shadowbox[album-105];player=img;' title='Bubbles Music Visualisation 4'><img width="155" height="155" src="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/bubbles4-155x155.jpg" class="attachment-thumbnail" alt="" title="Bubbles Music Visualisation 4" /></a>
<a href="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/eq1.jpg"  rel='shadowbox[album-105];player=img;' title='EQ Music Visualisation 1'><img width="155" height="155" src="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/eq1-155x155.jpg" class="attachment-thumbnail" alt="" title="EQ Music Visualisation 1" /></a>
<a href="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/eq2.jpg"  rel='shadowbox[album-105];player=img;' title='EQ Music Visualisation 2'><img width="155" height="155" src="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/eq2-155x155.jpg" class="attachment-thumbnail" alt="" title="EQ Music Visualisation 2" /></a>
<a href="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/eq4.jpg"  rel='shadowbox[album-105];player=img;' title='EQ Music Visualisation 3'><img width="155" height="155" src="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/eq4-155x155.jpg" class="attachment-thumbnail" alt="" title="EQ Music Visualisation 3" /></a>
<a href="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/eq5.jpg"  rel='shadowbox[album-105];player=img;' title='EQ Music Visualisation 4'><img width="155" height="155" src="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/eq5-155x155.jpg" class="attachment-thumbnail" alt="" title="EQ Music Visualisation 4" /></a>
<a href="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/flowers1.jpg"  rel='shadowbox[album-105];player=img;' title='Flowers Music Visualisation 1'><img width="155" height="155" src="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/flowers1-155x155.jpg" class="attachment-thumbnail" alt="" title="Flowers Music Visualisation 1" /></a>
<a href="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/flowers2.jpg"  rel='shadowbox[album-105];player=img;' title='Flowers Music Visualisation 2'><img width="155" height="155" src="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/flowers2-155x155.jpg" class="attachment-thumbnail" alt="" title="Flowers Music Visualisation 2" /></a>
<a href="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/flowers3.jpg"  rel='shadowbox[album-105];player=img;' title='Flowers Music Visualisation 3'><img width="155" height="155" src="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/flowers3-155x155.jpg" class="attachment-thumbnail" alt="" title="Flowers Music Visualisation 3" /></a>
<a href="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/flowers4.jpg"  rel='shadowbox[album-105];player=img;' title='Flowers Music Visualisation 4'><img width="155" height="155" src="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/flowers4-155x155.jpg" class="attachment-thumbnail" alt="" title="Flowers Music Visualisation 4" /></a>
<a href="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/plasma2.jpg"  rel='shadowbox[album-105];player=img;' title='Plasma Music Visualisation 1'><img width="155" height="155" src="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/plasma2-155x155.jpg" class="attachment-thumbnail" alt="" title="Plasma Music Visualisation 1" /></a>
<a href="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/plasma3.jpg"  rel='shadowbox[album-105];player=img;' title='Plasma Music Visualisation 2'><img width="155" height="155" src="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/plasma3-155x155.jpg" class="attachment-thumbnail" alt="" title="Plasma Music Visualisation 2" /></a>
<a href="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/plasma4.jpg"  rel='shadowbox[album-105];player=img;' title='Plasma Music Visualisation 3'><img width="155" height="155" src="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/plasma4-155x155.jpg" class="attachment-thumbnail" alt="" title="Plasma Music Visualisation 3" /></a>
<a href="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/plasma5.jpg"  rel='shadowbox[album-105];player=img;' title='Plasma Music Visualisation 4'><img width="155" height="155" src="http://blog.soulwire.co.uk/wp-content/uploads/2008/09/plasma5-155x155.jpg" class="attachment-thumbnail" alt="" title="Plasma Music Visualisation 4" /></a>

<p>The power behind the visuals is a customised version of the <strong>AS3 music visualisation engine</strong> I’ve been working on for some time now, which includes beat detection and a whole host of other methods for interpreting a stream, ready for visualising.</p>
<p>The guys at Bandcamp have been really supportive in allowing me to develop this library with a view to releasing the API in order for Flash developers to build and upload their own visualisations for use within the Bandcamp player.</p>
<p>Furthermore, because the visualiser has been a <a href="http://blog.soulwire.co.uk/laboratory/flash/actionscript3-dynamic-sound-visualisation" title="Early experiments with AS3 music visualisation"  target="_blank">pet project of mine</a> since the release of AS3, come December I’ll be <strong>open sourcing the engine</strong> so that anyone can build on it, or simply use it out of the box to produce some optical delights of their own.</p>
<p>Anyway, I’m really excited that Bandcamp has been unleashed on the public and I encourage you to check it out, especially if you’re a musician, or like music, or pretty visuals, or cool technologies, or great ideas, or websites&#8230;</p>
<h2>Want to know more about Bandcamp?</h2>
<p>Then watch the <strong>screencast</strong> <em>(bellow)</em> and chat about it on <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://www.vimeo.com/1739268" title="The Bandcamp Screencast on Vimeo"  target="_blank">Vimeo</a>, browse on over to <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://bandcamp.mu/" title="Bandcamp"  target="_blank"><strong>bandcamp</strong>.mu</a>, peruse the <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://bandcamp.mu/faq" title="Got questions?"  target="_blank">FAQs</a> and <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://20minuteloop.bandcamp.mu/" title="20 Minute Loop, hosted on Bandcamp"  target="_blank">see it in action!</a></p>
<div class="swf"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="710" height="399" 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://vimeo.com/moogaloop.swf?clip_id=1739268&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="710" height="399" src="http://vimeo.com/moogaloop.swf?clip_id=1739268&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>


<p>Related posts:<ol><li><a href='http://blog.soulwire.co.uk/art-design/portfolio/more-bandcamp-music-visualisations' rel='bookmark' title='Permanent Link: More Music Visualisations'>More Music Visualisations</a></li>
<li><a href='http://blog.soulwire.co.uk/art-design/portfolio/disabed-algebra' rel='bookmark' title='Permanent Link: Disabed Algebra'>Disabed Algebra</a></li>
<li><a href='http://blog.soulwire.co.uk/laboratory/flash/actionscript3-dynamic-sound-visualisation' rel='bookmark' title='Permanent Link: AS3 Music Visualisation'>AS3 Music Visualisation</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.soulwire.co.uk/art-design/portfolio/bandcamp-music-visualisations/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Flash on the Beach 07</title>
		<link>http://blog.soulwire.co.uk/notes/miscellany/flash-on-the-beach-07</link>
		<comments>http://blog.soulwire.co.uk/notes/miscellany/flash-on-the-beach-07#comments</comments>
		<pubDate>Fri, 09 Nov 2007 14:49:07 +0000</pubDate>
		<dc:creator>Soulwire</dc:creator>
				<category><![CDATA[Miscellany]]></category>
		<category><![CDATA[Notes]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.soulwire.co.uk/?p=50</guid>
		<description><![CDATA[
I just got back from Flash on the Beach 07; A Flash conference in Brighton. It would be an impossible task so sum up what a fantastic 3 days it turned out to be, suffice to say the speaker line-up was near perfect, and I left feeling inspired to play more, create more and dig [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.soulwire.co.uk/wp-content/uploads/2007/11/fotb.jpg" alt="Flash on the Beach 2007" title="Flash on the Beach 2007" width="710" height="326" class="alignnone size-full wp-image-803" /></p>
<p>I just got back from <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://www.flashonthebeach.com/" title="Flash on the Beach 07"  target="_blank"><strong>Flash on the Beach 07</strong></a>; A Flash conference in Brighton. It would be an impossible task so sum up what a fantastic 3 days it turned out to be, suffice to say the speaker line-up was near perfect, and I left feeling inspired to play more, create more and dig out some of those old ideas from the back of my hard drive and see where they take me.<span id="more-50"></span></p>
<p>Having never been before, I thought I was in for an educational but dry few days of indulgent nerdiness; however I was proved very wrong. FOTB had its fair share of inside tips from Adobe and technical tutorials, but also a lot of inspirational talks which encompassed Flash but that were really more generalised observations about creativity, industry, art and computer science.</p>
<p>For me, the highlights were definitely <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://www.levitated.net/" title="Jared Tarbell"  target="_blank">Jared Tarbell</a> and <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://www.flight404.com/blog/" title="Robert Hodgin"  target="_blank">Robert Hodgin</a>, who are both masters of their crafts as well as thoroughly interesting and grounded people.</p>
<p>If you didn’t go, make sure you book a ticket next year and I’ll see you there.</p>
<p><a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://www.flashonthebeach.com/" title="Flash on the Beach 2008"  target="_blank">www.flashonthebeach.com </a></p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.soulwire.co.uk/notes/miscellany/flash-on-the-beach-07/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SWF Address</title>
		<link>http://blog.soulwire.co.uk/notes/programming/swf-address-deep-linking-for-flash</link>
		<comments>http://blog.soulwire.co.uk/notes/programming/swf-address-deep-linking-for-flash#comments</comments>
		<pubDate>Wed, 18 Jul 2007 12:39:04 +0000</pubDate>
		<dc:creator>Soulwire</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.soulwire.co.uk/?p=40</guid>
		<description><![CDATA[I have just been checking out Asual’s SWFAddress.
If you haven’t come across it yet, SWF Address is a tool for deep linking in Flash. It is a JavaScript based code which will set hash (anchor) link path from your Flash content. Not only does this mean users can now use their back buttons, but it [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>I have just been checking out Asual’s <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://www.asual.com/swfaddress/" title="SWF Address"  target="_blank">SWFAddress</a>.</p>
<p>If you haven’t come across it yet, SWF Address is a tool for deep linking in Flash. It is a JavaScript based code which will set hash (anchor) link path from your Flash content. Not only does this mean users can now use their back buttons, but it also means permalinks can be created to content deep inside the Flash movie. For example <em><strong>http://www.yoursite.com/#/projects/project-name/</strong></em><span id="more-40"></span></p>
<p>I will be working on implementing it on <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://www.flash-in-the-pan.org/" title="Flash in the Pan - Flash website design awards"  target="_blank">Flash in the Pan website awards</a>, as I have already used rewrite rules to fetch Flash content when the user arrives from a page specific link or search engine result, but SWF Address will add a much needed real-time feedback on the users’ position within the sites data.</p>
<p>You can download SWF Address <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://www.asual.com/swfaddress/" title="download swf address"  target="_blank">here</a> and will see an <a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://www.asual.com/swfaddress/samples/flash/" title="SWF Address example"  target="_blank">example</a> implementation of SWF address on soulwire or one of my other sites very soon.</p>
<p>Finally, between <strong>SWF Address</strong> and <strong>SWF Object</strong>, flash is becoming more and more usable as a coherent and complete format for large and SEO friendly sites.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.soulwire.co.uk/notes/programming/swf-address-deep-linking-for-flash/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>UK Photography Ban</title>
		<link>http://blog.soulwire.co.uk/notes/miscellany/government-to-ban-photography-in-public-places</link>
		<comments>http://blog.soulwire.co.uk/notes/miscellany/government-to-ban-photography-in-public-places#comments</comments>
		<pubDate>Sun, 25 Feb 2007 19:50:12 +0000</pubDate>
		<dc:creator>Soulwire</dc:creator>
				<category><![CDATA[Miscellany]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Politics]]></category>

		<guid isPermaLink="false">http://blog.soulwire.co.uk/?p=16</guid>
		<description><![CDATA[
http://petitions.pm.gov.uk/Photography/
Oh Tony, Tony Blair, how wise and infinite in wisdom. We all know that everyone with a beard must be a terrorist (it seems a watertight argument), and now it is apparent that everyone with a camera is plotting some kind of attack on our civil liberties. Of course, having surveillance cameras all over the [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.soulwire.co.uk/wp-content/uploads/2007/02/proposed-uk-photography-ban.jpg" alt="Proposed UK Photography Ban" title="Proposed UK Photography Ban" width="710" height="223" class="alignnone size-full wp-image-901" /></p>
<p><a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://petitions.pm.gov.uk/Photography/" title="Sign the petition to stop the ban of photography in public places"  target="_blank">http://petitions.pm.gov.uk/Photography/</a></p>
<p>Oh Tony, Tony Blair, how wise and infinite in wisdom. We all know that everyone with a beard must be a terrorist (it seems a watertight argument), and now it is apparent that everyone with a camera is plotting some kind of attack on our civil liberties. Of course, having surveillance cameras all over the place is acceptable and right &#8211; the authorities need to see us buying carrots and walking the dog. However it appears that soon, if we wish to take a photograph of our beautiful planet or indeed anything that exists in a public space – we will be committing an offence.</p>
<p>Thankfully, <strong>you can do something to stop this</strong>. There isn’t yet a petition to make the government admit some responsibility for several hundred thousand dead Iraqi civilians, however there is one which may grant you use of a camera.<span id="more-16"></span></p>
<p>Here is a quote from the creator of the petition:</p>
<blockquote><p>“There are a number of moves promoting the requirement of ‘ID’ cards to allow photographers to operate in a public place.</p>
<p>It is a fundamental right of a UK citizen to use a camera in a public place, indeed there is no right to privacy when in a public place.</p>
<p>These moves have developed from paranoia and only promote suspicion towards genuine people following their hobby or profession.”</p></blockquote>
<p>So there you go! The link bellow will take you to the petition, get your name down!</p>
<p><span style="text-decoration: line-through;"><a rel="nofollow" href="http://blog.soulwire.co.uk/goto/http://petitions.pm.gov.uk/Photography/" title="Sign the petition to stop the ban of photography in public places"  target="_blank">Sign the petition to stop the ban of photography in public places</a></span></p>
<h2>Update</h2>
<p>Ok, so for those of you who didn’t sign the petition against banning photography in public places (and therefore wouldn’t have received this email) there is an update. Apparently, everything is better than we thought. The government, apparently, and at least not yet, <strong>WONT</strong> be banning photography or anything quite so ridiculous. There were motions to introduce ID cards, which is still an outrage, however this may simply be enforced around schools etc and only by local authorities, not government.</p>
<p>This is the response I received&#8230;</p>
<div class="quote">
<blockquote><p><em>Quote from number 10</em></p>
<p>Thank you for signing the petition on the Downing Street website calling for the Prime Minister to stop proposed restrictions on photography in public places.</p>
<p>This petition has already attracted over 60,000 signatures from people who obviously share your concern. Not surprisingly, the idea that the Government might be poised to restrict your ability to take photos has caused some puzzlement and even alarm.</p>
<p>We have therefore decided to respond to this petition before its closing date of August, in order to reassure people.</p>
<p>The Government appreciates that millions of people in this country enjoy photography. So we have checked carefully to see if any Government department was considering any proposal that might possibly lead to the sort of restrictions suggested by this petition. We have been assured this is not the case.</p>
<p>There may be cases where individual schools or other bodies believe it is necessary to have some restrictions on photography, for instance to protect children, but that would be a matter for local decisions.</p>
<p>In fact, Simon Taylor, who started the petition, has since made clear that he was not really referring to Government action or legislation. His main concern appears to be that photographic societies and other organisations may introduce voluntary ID cards for members to help them explain why they are taking photographs. Again, any such scheme would not involve the Government.</p>
<p>We hope this re-assures you and clears up the confusion.</p></blockquote>
</div>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.soulwire.co.uk/notes/miscellany/government-to-ban-photography-in-public-places/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The Guillotined Head</title>
		<link>http://blog.soulwire.co.uk/notes/miscellany/the-guillotined-head-of-languille</link>
		<comments>http://blog.soulwire.co.uk/notes/miscellany/the-guillotined-head-of-languille#comments</comments>
		<pubDate>Fri, 16 Feb 2007 19:35:12 +0000</pubDate>
		<dc:creator>Soulwire</dc:creator>
				<category><![CDATA[Miscellany]]></category>
		<category><![CDATA[Biology]]></category>
		<category><![CDATA[Clippings]]></category>

		<guid isPermaLink="false">http://blog.soulwire.co.uk/?p=15</guid>
		<description><![CDATA[
During my research for Experiments in the Revival of Organisms, my tutor Matt Johnson handed me a newspaper clipping which he had saved concerning an experiment conducted by Dr Beaurieux in 1905, in which he quite reliably proved that a severed head (That of convicted murderer Languille) remains conscious and alert for some time after [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-904" title="Matt Johnsons Moleskin page on Dr Beaurieux" src="http://blog.soulwire.co.uk/wp-content/uploads/2007/02/the-guillotined-head.jpg" alt="Matt Johnsons Moleskin page on Dr Beaurieux" width="710" height="223" /></p>
<p>During my research for <a href="http://blog.soulwire.co.uk/art-design/animation/experiments-in-the-revival-of-organisms" title="Experiments in the Revival of Organisms" >Experiments in the Revival of Organisms</a>, my tutor <strong>Matt Johnson</strong> handed me a newspaper clipping which he had saved concerning an experiment conducted by <strong>Dr Beaurieux</strong> in 1905, in which he quite reliably proved that a severed head (That of convicted murderer Languille) remains conscious and alert for some time after being separated from the body.<span id="more-15"></span></p>
<p>What is reported stands to reason really, though I found it quite interesting to imagine what ‘the head’ (I should call it Languille really) would have been thinking. The reflex actions described by Dr Beaurieux are similar to those of the disembodied dog’s heads documented in the original film ‘<a href="http://blog.soulwire.co.uk/art-design/animation/experiments-in-the-revival-of-organisms" title="Experiments in the Revival of Organisms" >Experiments in the Revival of Organisms</a>’, but although it is easy to explain them as nothing more than reflexes, it is equally engaging to assume that a level of conscious thought would have existed, though of course gone without vocalisation due to a lack of attached lungs or voice box. We say that the eyes are the window to the soul, and here Dr Beaurieux describes quite clearly the striking looks he observed in Languille’s eyes.</p>
<p><strong>Here is the original Article</strong>:</p>
<blockquote><p><em>From A History of the Guillotine by Alister Kershaw. His source is Archives d’Anthropologie Criminelle, 1905</em></p>
<p>I consider it essential for you to know that Languille displayed an extraordinary sang-froid and even courage from the moment when he was told, that his last hour had come, until the moment when he walked firmly to the scaffold. It may well be, in fact, that the conditions for observation, and consequently the phenomena, differ greatly according to whether the condemned persons retain all their sang-froid and are fully in control of themselves, or whether they are in such state of physical and mental prostration that they have to be carried to the place of execution, and are already half-dead, and as though paralysed by the appalling anguish of the fatal instant.</p>
<p>The head fell on the severed surface of the neck and I did not therefor have to take it up in my hands, as all the newspapers have vied with each other in repeating; I was not obliged even to touch it in order to set it upright. Chance served me well for the observation, which I wished to make.</p>
<p>Here, then, is what I was able to note immediately after the decapitation: the eyelids and lips of the guillotined man worked in irregularly rhythmic contractions for about five or six seconds. This phenomenon has been remarked by all those finding themselves in the same conditions as myself for observing what happens after the severing of the neck…</p>
<p>I waited for several seconds. The spasmodic movements ceased. The face relaxed, the lids half closed on the eyeballs, leaving only the white of the conjunctiva visible, exactly as in the dying whom we have occasion to see every day in the exercise of our profession, or as in those just dead. It was then that I called in a strong, sharp voice: “Languille!” I saw the eyelids slowly lift up, without any spasmodic contractions – I insist advisedly on this peculiarity – but with an even movement, quite distinct and normal, such as happens in everyday life, with people awakened or torn from their thoughts.</p>
<p>Next Languille’s eyes very definitely fixed themselves on mine and the pupils focused themselves. I was not, then, dealing with the sort of vague dull look without any expression, that can be observed any day in dying people to whom one speaks: I was dealing with undeniably living eyes which were looking at me. “After several seconds, the eyelids closed again, slowly and evenly, and the head took on the same appearance as it had had before I called out.</p>
<p>It was at that point that I called out again and, once more, without any spasm, slowly, the eyelids lifted and undeniably living eyes fixed themselves on mine with perhaps even more penetration than the first time. The there was a further closing of the eyelids, but now less complete. I attempted the effect of a third call; there was no further movement – and the eyes took on the glazed look which they have in the dead.</p>
<p>I have just recounted to you with rigorous exactness what I was able to observe. The whole thing had lasted twenty-five to thirty seconds.</p></blockquote>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.soulwire.co.uk/notes/miscellany/the-guillotined-head-of-languille/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
