<?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>Adam&#039;s Blog</title>
	<atom:link href="http://www.adamtindale.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.adamtindale.com/blog</link>
	<description>Stuff I am thinking about</description>
	<lastBuildDate>Sat, 02 Jul 2011 04:50:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Website Overhaul Update</title>
		<link>http://www.adamtindale.com/blog/uncategorized/145/</link>
		<comments>http://www.adamtindale.com/blog/uncategorized/145/#comments</comments>
		<pubDate>Sat, 02 Jul 2011 04:50:31 +0000</pubDate>
		<dc:creator>adamtindale</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.adamtindale.com/blog/?p=145</guid>
		<description><![CDATA[I am trying to overhaul the website. I have been spending a lot of time researching what system I should use and how I should do things. I have settled on Hyde. It is a python based engine that utilizes Jinja2 tempates, which are very close to Django. Right now I use 2 different content [...]]]></description>
			<content:encoded><![CDATA[<p>I am trying to overhaul the website. I have been spending a lot of time researching what system I should use and how I should do things.</p>
<p>I have settled on <a href="http://ringce.com/hyde">Hyde</a>. It is a python based engine that utilizes <a href="http://jinja.pocoo.org/">Jinja2</a> tempates, which are very close to <a href="https://www.djangoproject.com/">Django</a>. Right now I use 2 different content management systems that dynamically load and have different logins and passwords and I really don&#8217;t need it. I love Hyde&#8217;s idea of having static pages. There is nothing to login to on the net. No access points for hackers or spambots or script kiddies. I like that.</p>
<p>The downsides of Hyde is that it is quite big and flexible and requires some learning if you want to do something other than a boilerplate site. Currently the documentation isn&#8217;t great but sufficient to get going. What Hyde really has is a few people who have open sourced their code to generate their sites (!!). I stumbled across <a href="http://jamesclarke.net/">James Clarke</a>&#8216;s site today and found it super useful.</p>
<p>With a templating system that allows for some real power under the hood I will be able to keep the look and feel of the site much more consistent and make a global change by only shifting a template. Right now I have some old youtube links on the site that use the &lt;object&gt; tag instead of the new &lt;iframe&gt; tag. They both work but I had to do a little massaging on each to get them to sit in. I have written a macro for Jinja that allows for a very simple way to integrate youtube links. If I change this macro then all youtube links will be updated across the whole site (once I recompile, of course).</p>
<p>After lots of sitting by a tree I came to the realization that I had places and media to put on the site. Also, that I felt that academic items were media items, just like pictures or other traditional media assets. So, I came up with this layout idea for all of my project pages.</p>
<p><!-- p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Arial} -->Project Page</p>
<ul>
<li>Title</li>
<li> People</li>
<li> Main Link (if any)</li>
<li> Blurb</li>
<li> Main Image (if any)</li>
<li> Description (if any)</li>
<li>Events (in the future, if any)</li>
<li>Soundcloud embed (if any)</li>
<li>Youtube embed (if any)</li>
<li>Publications (if any)</li>
<li>Code (if any)</li>
<li>Past Events (if any)</li>
<li>Other Images (if any)</li>
<li>Other Links (if any)</li>
<li>Tweet this</li>
<li>Comments (if allowed by me)</li>
</ul>
<p>This can be handled nicely by Hyde. I would also like to be able to tag a project page as old and have it not included in my current list of projects but have it grouped in old projects, as I have now. No problem with Hyde&#8217;s categories.</p>
<p>The major bonus of this system for me is git. I can make a git project out of this and everything gets stored in a format that both get and I can read. With WordPress, indexhibit, or other mysql based sites only machines or super database wizards can read the files created and do anything with them. With Hyde and some careful planning, all of the content is a simple text file (or image file).</p>
<p>I am still a little dubious about comments on the site. I have received 1 non-spam comment in two years. So, I am looking into <a href="http://disqus.com/">disqus</a> to handle comments. The nice thing is that I can add them after I get the skeleton up and running.</p>
<p>There are some dirty Hyde details that I will start blogging about as I get my feet wet. Until then, any thoughts or links I might need please email me or put something in the comments here.</p>
<p>Happy Canada Day!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamtindale.com/blog/uncategorized/145/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A real blog post</title>
		<link>http://www.adamtindale.com/blog/uncategorized/144/</link>
		<comments>http://www.adamtindale.com/blog/uncategorized/144/#comments</comments>
		<pubDate>Mon, 09 May 2011 17:43:19 +0000</pubDate>
		<dc:creator>adamtindale</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.adamtindale.com/blog/?p=144</guid>
		<description><![CDATA[Isn&#8217;t a blog supposed to be about the musings of the blogger? I have done a lot of reporting of projects that I have finished. This summer I am going to try and post more works in progress and expose process a little more. As an artist I try to just get things done. I [...]]]></description>
			<content:encoded><![CDATA[<p>Isn&#8217;t a blog supposed to be about the musings of the blogger? I have done a lot of reporting of projects that I have finished. This summer I am going to try and post more works in progress and expose process a little more.</p>
<p>As an artist I try to just get things done. I rarely focus on code quality while developing and when a project works I almost never clean up the code for others to look at it. I&#8217;ll try and fix that this summer. I have been playing with <a href="http://github.com/">github</a> to help me explore my code over time and look at the development of code by some other art practitioners.</p>
<p>I have also been investigating <a href="http://drupal.org/">drupal</a> as a CMS. Right now, my website uses <a href="http://www.indexhibit.org/">indexhibit</a> for the main site and a wordpress install for the blog. I am looking for a system that do everything and integrate with everything. I looked at <a href="http://www.joomla.org/">Joomla</a> once, but we mostly didn&#8217;t get along.</p>
<p>You may have noticed <a href="http://www.adamtindale.com/html5/">my html5 experiment</a> for the website. My problem with handrolling a site, besides the obvious, is compatibility. I&#8217;d love to have a site that changed to an appropriate form for every platform that happened to land here. I would like a wild animation if your browser could handle it, and something more simple yet interesting for iPhones, lower end Android devices, and all of the other <a href="http://www.readwriteweb.com/archives/internet_fridges.php">interesting things that are now on the internet.</a></p>
<p>I don&#8217;t have comments enabled on this blog. If you have ideas or comments send me an email or hit me up on twitter. I&#8217;d prefer to talk in public so let&#8217;s talk on twitter. Let&#8217;s try #fixadamswebsite for the tag to keep the conversation together. Be patient with me though, I am thinking that revamping my website will take the next 4 months.</p>
<p>http://twitter.com/adamtindale</p>
<p>Over the summer I will update my website to help you few readers to get what you want from this place a little easier and more relevant as you explore. I&#8217;ll also clean up my code and make it easier for you to find so you can use it or investigate it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamtindale.com/blog/uncategorized/144/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Applescript + iTunes = Simple Functionality Added</title>
		<link>http://www.adamtindale.com/blog/uncategorized/142/</link>
		<comments>http://www.adamtindale.com/blog/uncategorized/142/#comments</comments>
		<pubDate>Sun, 10 Apr 2011 20:39:13 +0000</pubDate>
		<dc:creator>adamtindale</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.adamtindale.com/blog/?p=142</guid>
		<description><![CDATA[I like listening to music. I prefer when the song finishes. I don&#8217;t want to stay hovering over iTunes for the end of the song. There isn&#8217;t a button to do this but we do have Applescript. Here is the hard way to do it. tell application "iTunes" if player state is playing then if [...]]]></description>
			<content:encoded><![CDATA[<p>I like listening to music. I prefer when the song finishes. I don&#8217;t want to stay hovering over iTunes for the end of the song. There isn&#8217;t a button to do this but we do have Applescript. Here is the hard way to do it.</p>
<pre>
tell application "iTunes"
	if player state is playing then
		if selection is not current track then
			reveal current track -- reveal selects current track...
		end if
		play selection with once
	end if
end tell
</pre>
<p>Thanks to <a href="http://dougscripts.com/itunes/itinfo/info03.php">Doug&#8217;s Applescript for iTunes reference for the reveal command.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamtindale.com/blog/uncategorized/142/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sunset</title>
		<link>http://www.adamtindale.com/blog/uncategorized/139/</link>
		<comments>http://www.adamtindale.com/blog/uncategorized/139/#comments</comments>
		<pubDate>Mon, 28 Feb 2011 04:58:03 +0000</pubDate>
		<dc:creator>adamtindale</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.adamtindale.com/blog/uncategorized/139/</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.adamtindale.com/blog/wp-content/uploads/2011/02/20110227-095720.jpg"><img class="size-full aligncenter" src="http://www.adamtindale.com/blog/wp-content/uploads/2011/02/20110227-095720.jpg" alt="" width="600" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamtindale.com/blog/uncategorized/139/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Untitled 8</title>
		<link>http://www.adamtindale.com/blog/documentation/136/</link>
		<comments>http://www.adamtindale.com/blog/documentation/136/#comments</comments>
		<pubDate>Fri, 25 Feb 2011 03:54:26 +0000</pubDate>
		<dc:creator>adamtindale</dc:creator>
				<category><![CDATA[Documentation]]></category>

		<guid isPermaLink="false">http://www.adamtindale.com/blog/?p=136</guid>
		<description><![CDATA[Untitled 8 is the first interface implemented using JunctionBox by a programmer other than the primary author. The audio engine consists of a single frequency modulated oscil- lator with reverb and granular synthesis effects processing, all implemented in Pd. The interface is designed for the realization of a loosely scored composition. Performed at CCRMA, Stanford [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.adamtindale.com/blog/documentation/136/attachment/untitled8/" rel="attachment wp-att-137"><img src="http://www.adamtindale.com/blog/wp-content/uploads/2011/02/untitled8-300x192.png" alt="" title="untitled8" width="600"  class="aligncenter size-medium wp-image-137" /></a></p>
<p>Untitled 8 is the first interface implemented using <a href="http://www.cirolab.org/blog/?attachment_id=967">JunctionBox</a> by a programmer other than the primary author. The audio engine consists of a single frequency modulated oscil- lator with reverb and granular synthesis effects processing, all implemented in Pd. The interface is designed for the realization of a loosely scored composition.</p>
<p>Performed at CCRMA, Stanford University, Summer 2010.</p>
<p><iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/embed/75lHx3dPzMw?rel=0" frameborder="0" allowfullscreen></iframe></p>
<p><strong> Related Reviews </strong></p>
<p><a href="http://">http://www.synthtopia.com/content/2010/08/15/synth-jam-for-tabletop</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamtindale.com/blog/documentation/136/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Spaces Project</title>
		<link>http://www.adamtindale.com/blog/documentation/135/</link>
		<comments>http://www.adamtindale.com/blog/documentation/135/#comments</comments>
		<pubDate>Thu, 24 Feb 2011 02:39:37 +0000</pubDate>
		<dc:creator>adamtindale</dc:creator>
				<category><![CDATA[Documentation]]></category>

		<guid isPermaLink="false">http://www.adamtindale.com/blog/?p=135</guid>
		<description><![CDATA[MACHiNENOiSY (Vancouver): The Open Spaces Project (2009) Co-presented with MACHiNENOiSY through The Dance Centre&#8217;s Artist-in-Residence program An ambitious and exciting new work for a cast of six men, The Open Spaces Project is an international collaboration between MACHiNENOiSY Co-Artistic Director Daelik, Berlin-based Australian performance artist Paul Gazzola and Calgary-based sound and new media artist Adam [...]]]></description>
			<content:encoded><![CDATA[<p><strong>MACHiNENOiSY (Vancouver): The Open Spaces Project (2009)</strong></p>
<p><em>Co-presented with MACHiNENOiSY through The Dance Centre&#8217;s Artist-in-Residence program</em></p>
<p>An ambitious and exciting new work for a cast of six men, The Open Spaces Project is an international collaboration between MACHiNENOiSY Co-Artistic Director Daelik, Berlin-based Australian performance artist Paul Gazzola and Calgary-based sound and new media artist Adam Tindale. The piece investigates the influence of space on identity, the relationship between architecture and gender, and constructs of masculinity, drawing on themes ranging from the cowboy as a masculine icon to the colonization of remote landscapes. Weaving innovative choreography, sophisticated video manipulation and sound together, The Open Spaces Project presents a multilayered essay on people and space.</p>
<div><strong>Videos</strong></div>
<p><iframe title="YouTube video player" width="640" height="510" src="http://www.youtube.com/embed/Ox7IZPovU3w" frameborder="0" allowfullscreen></iframe></p>
<p><iframe title="YouTube video player" width="640" height="510" src="http://www.youtube.com/embed/eQX9SZlueZw" frameborder="0" allowfullscreen></iframe></p>
<p><strong>Sound Track</strong></p>
<p><object height="81" width="100%"><param name="movie" value="http://player.soundcloud.com/player.swf?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F11021891"></param><param name="allowscriptaccess" value="always"></param> <embed allowscriptaccess="always" height="81" src="http://player.soundcloud.com/player.swf?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F11021891" type="application/x-shockwave-flash" width="100%"></embed></object>  <span><a href="http://soundcloud.com/adamtindale/open-spaces-project-trio">Open Spaces Project &#8211; Trio</a> by <a href="http://soundcloud.com/adamtindale">adamtindale</a></span> </p>
<p><object height="81" width="100%"><param name="movie" value="http://player.soundcloud.com/player.swf?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F11022308&amp;show_comments=false&amp;auto_play=false&amp;color=ff7700"></param><param name="allowscriptaccess" value="always"></param> <embed allowscriptaccess="always" height="81" src="http://player.soundcloud.com/player.swf?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F11022308&amp;show_comments=false&amp;auto_play=false&amp;color=ff7700" type="application/x-shockwave-flash" width="100%"></embed></object>   <span><a href="http://soundcloud.com/adamtindale/open-spaces-project-working">Open Spaces Project &#8211; Working</a> by <a href="http://soundcloud.com/adamtindale">adamtindale</a></span></p>
<p><object height="81" width="100%"><param name="movie" value="http://player.soundcloud.com/player.swf?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F11022584&amp;show_comments=false&amp;auto_play=false&amp;color=ff7700"></param><param name="allowscriptaccess" value="always"></param> <embed allowscriptaccess="always" height="81" src="http://player.soundcloud.com/player.swf?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F11022584&amp;show_comments=false&amp;auto_play=false&amp;color=ff7700" type="application/x-shockwave-flash" width="100%"></embed></object>   <span><a href="http://soundcloud.com/adamtindale/open-spaces-project-opening">Open Spaces Project &#8211; Opening</a> by <a href="http://soundcloud.com/adamtindale">adamtindale</a></span></p>
<p><strong>Reviews</strong></p>
<p><a href="http://www.straight.com/article-273832/vancouver/machinoisys-open-spaces-project-feels-happening">http://www.straight.com/article-273832/vancouver/machinoisys-open-spaces-project-feels-happening<br />
</a></p>
<p><a href="http://www.straight.com/article-273106/vancouver/architects-dance">http://www.straight.com/article-273106/vancouver/architects-dance</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamtindale.com/blog/documentation/135/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RECORD</title>
		<link>http://www.adamtindale.com/blog/uncategorized/133/</link>
		<comments>http://www.adamtindale.com/blog/uncategorized/133/#comments</comments>
		<pubDate>Wed, 23 Feb 2011 03:59:06 +0000</pubDate>
		<dc:creator>adamtindale</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.adamtindale.com/blog/?p=133</guid>
		<description><![CDATA[RECORD is at once a performance, critique, and intervention on the recording medium. Christopher Small, in his book Musicking, conjectures that music is an event not an object, or rather it is a verb and not a noun. However a recording is both, a recording lays dormant ready to be performed. Record itself is both [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a rel="attachment wp-att-134" href="http://www.adamtindale.com/blog/uncategorized/133/attachment/record/"><img class="size-full wp-image-134 aligncenter" title="RECORD" src="http://www.adamtindale.com/blog/wp-content/uploads/2011/02/RECORD.jpg" alt="" width="438" height="325" /></a></p>
<p>RECORD is at once a performance, critique, and intervention on the recording medium. Christopher Small, in his book Musicking, conjectures that music is an event not an object, or rather it is a verb and not a noun. However a recording is both, a recording lays dormant ready to be performed. Record itself is both a noun and verb until it is contextualized in language. RECORD is created as a static object that is performed either by the artist or by the listener.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100%" height="81" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowscriptaccess" value="always" /><param name="src" value="http://player.soundcloud.com/player.swf?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F10972992&amp;show_comments=false&amp;auto_play=false&amp;color=ff7700" /><embed type="application/x-shockwave-flash" width="100%" height="81" src="http://player.soundcloud.com/player.swf?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F10972992&amp;show_comments=false&amp;auto_play=false&amp;color=ff7700" allowscriptaccess="always"></embed></object> <span><a href="http://soundcloud.com/adamtindale/record">RECORD</a> by <a href="http://soundcloud.com/adamtindale">adamtindale</a></span></p>
<p>RECORD was premiere at High Performance Rodeo &#8211; MIDWAY 2011 in Calgary, AB, Canada.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamtindale.com/blog/uncategorized/133/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vector Rails &#8211; Temporal Extinction Event</title>
		<link>http://www.adamtindale.com/blog/uncategorized/132/</link>
		<comments>http://www.adamtindale.com/blog/uncategorized/132/#comments</comments>
		<pubDate>Tue, 22 Feb 2011 05:00:00 +0000</pubDate>
		<dc:creator>adamtindale</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.adamtindale.com/blog/?p=132</guid>
		<description><![CDATA[Vector Rails Clinker (Electronics) + Adam Tindale (Drums) http://github.com/drart/Temporal-Extinction-Event The above link will take you to the sourcecode for the visual engine for Temporal Extinction Event. This software was written entirely in Processing using insipirations from the Creative Pact 2010 code sprint from September. The video below was shot by Kari McQueen and edited by [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.vectorrails.com/">Vector Rails</a><br />
Clinker (Electronics) + Adam Tindale (Drums)</p>
<p><a href="http://github.com/drart/Temporal-Extinction-Event">http://github.com/drart/Temporal-Extinction-Event</a></p>
<p>The above link will take you to the sourcecode for the visual engine for Temporal Extinction Event. This software was written entirely in Processing using insipirations from the Creative Pact 2010 code sprint from September.</p>
<p>The video below was shot by Kari McQueen and edited by Clinker. Enjoy!</p>
<p>This work was generously supported by the Alberta Foundation for the Arts.</p>
<p><iframe title="YouTube video player" width="640" height="390" src="http://www.youtube.com/embed/j-kvYl9dVO0" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamtindale.com/blog/uncategorized/132/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Documentation Week!</title>
		<link>http://www.adamtindale.com/blog/uncategorized/131/</link>
		<comments>http://www.adamtindale.com/blog/uncategorized/131/#comments</comments>
		<pubDate>Sun, 20 Feb 2011 16:10:21 +0000</pubDate>
		<dc:creator>adamtindale</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.adamtindale.com/blog/?p=131</guid>
		<description><![CDATA[Hi Everyone, Though I have been quiet I have been busy. I really like doing sprint work, like Creative Pact 2010 in September, so I have decided to make my own theme: Documentation. This week I am going to write a new post every day with documentation of what I have been doing in the [...]]]></description>
			<content:encoded><![CDATA[<p>Hi Everyone, </p>
<p>Though I have been quiet I have been busy. I really like doing sprint work, like Creative Pact 2010 in September, so I have decided to make my own theme: Documentation. This week I am going to write a new post every day with documentation of what I have been doing in the past few months. I have been playing with software and hardware and doing some shows. You will get a little taste of that in different forms every day this week. I hope you find something that you like!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamtindale.com/blog/uncategorized/131/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating Masks in Processing.org</title>
		<link>http://www.adamtindale.com/blog/processing/129/</link>
		<comments>http://www.adamtindale.com/blog/processing/129/#comments</comments>
		<pubDate>Wed, 17 Nov 2010 16:11:33 +0000</pubDate>
		<dc:creator>adamtindale</dc:creator>
				<category><![CDATA[Processing]]></category>

		<guid isPermaLink="false">http://www.adamtindale.com/blog/?p=129</guid>
		<description><![CDATA[A great tutorial on OffScreen graphics rendering on http://blog.blprnt.com/ made me want to release some code today. I have been working on some offscreen graphics rendering to create masking effects for an upcoming performance. Processing offers PImage and PGraphics as objects that hold raw pixels or vector graphics. These are kept somewhere in memory and [...]]]></description>
			<content:encoded><![CDATA[<p>A great tutorial on OffScreen graphics rendering on <a href="http://blog.blprnt.com/">http://blog.blprnt.com/</a> made me want to release some code today. I have been working on some offscreen graphics rendering to create masking effects for an upcoming performance. Processing offers PImage and PGraphics as objects that hold raw pixels or vector graphics. These are kept somewhere in memory and not drawn to the screen unless you put them there using <a href="http://processing.org/reference/image_.html">image()</a>. This is much faster than drawing to the screen in almost every instance. </p>
<p>Using the<a href="http://processing.org/reference/blend_.html"> blend()</a> command with the MULTIPLY option you can apply a masking effect to your sketch. For the example below the mask is a PGraphics object that contains a line which scrolls down the screen. Since the background is set to black (or 0) when it is multiplied against the image drawn on the screen it becomes black (because anything times 0 is 0). If this example is working properly you should see a red line move down the screen. This is because the image drawn to the screen is just a red background. </p>
<hr />
<pre>PGraphics g;
int x;

void setup()
{
  size( 720, 480);
  // create the mask
  g = createGraphics(width,height, P2D);
}  

void draw()
{
  background(244,90,10);
  // draw the mask
  g.beginDraw();
  g.background(0);
  g.stroke(255);
  g.line(0, x%height, g.width, x++%height);
  g.endDraw();

  // apply the mask to the screen
  blend(g,0,0, width,height, 0,0,width,height,MULTIPLY);

}</pre>
<p>If you&#8217;d like to get fancy you can draw your image and mask offscreen and then send the result to the screen. Here is a little code snippet to get you started on your journey.</p>
<hr />
<pre>
PImage img;
Pgraphics msk;
//.... do some drawing in both

// apply the mask to the image, both offscreen
img.blend(msk, 0,0,img.height, img.width, 0,0,img.width,img.height,MULTIPLY);
// draw the masked image to the screen
image(img,0,0,width,height);
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.adamtindale.com/blog/processing/129/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

