<?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>devote.your.life &#187; AS3.0</title>
	<atom:link href="http://www.auricom.com/devote/category/as30/feed" rel="self" type="application/rss+xml" />
	<link>http://www.auricom.com/devote</link>
	<description>A developers journal by Ian McLean</description>
	<lastBuildDate>Thu, 17 Dec 2009 21:59:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>Ternary conditionals in MXML bindings</title>
		<link>http://www.auricom.com/devote/ternary-conditionals-in-flex-mxml-bindings</link>
		<comments>http://www.auricom.com/devote/ternary-conditionals-in-flex-mxml-bindings#comments</comments>
		<pubDate>Tue, 16 Sep 2008 21:21:47 +0000</pubDate>
		<dc:creator>ian</dc:creator>
				<category><![CDATA[AS3.0]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://devote.your.life.auricom.com/?p=58</guid>
		<description><![CDATA[Ok, I&#8217;m not sure how I missed this and if its common knowledge then forget I said anything, but I found out today that you can do this:]]></description>
			<content:encoded><![CDATA[<p>Ok, I&#8217;m not sure how I missed this and if its common knowledge then forget I said anything, but I found out today that you can do this:</p>
<p><mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"<br />
height="{ (dropDown.height > descriptorBox.height)<br />
? (dropDown.height + 50) : (descriptorBox.height + 50) }&#8221; /></p>
<p>Doesn&#8217;t look like much but its a quick and dirty way to have conditional bindings without having to use a binding class or getter/setter method to handle the logic. Call me lazy, but I think this is pretty cool.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.auricom.com/devote/ternary-conditionals-in-flex-mxml-bindings/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash Forward: Learning AS3 for designers</title>
		<link>http://www.auricom.com/devote/flash-forward-learning-as3-for-designers</link>
		<comments>http://www.auricom.com/devote/flash-forward-learning-as3-for-designers#comments</comments>
		<pubDate>Mon, 24 Sep 2007 01:30:53 +0000</pubDate>
		<dc:creator>ian</dc:creator>
				<category><![CDATA[AS3.0]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://devote.your.life.auricom.com/?p=41</guid>
		<description><![CDATA[Lately a lot of designers have been asking me the what they can expect to be different in CS3 and AS3 where they are concerned. I took notes of the recent Flash Forward conference in wordpress, so I&#8217;ve decided to post this summation of Rich Shupe&#8217;s &#8220;Learning AS3 for designers&#8221; Panel. I&#8217;m sititing in on [...]]]></description>
			<content:encoded><![CDATA[<p><em>Lately a lot of designers have been asking me the what they can expect to be different in CS3 and AS3 where they are concerned. I took notes of the recent Flash Forward conference in wordpress, so I&#8217;ve decided to post this summation of Rich Shupe&#8217;s &#8220;Learning AS3 for designers&#8221; Panel.</em></p>
<p>I&#8217;m sititing in on the Flash forward panel AS3 for designers. I&#8217;m curious to see some of the new features in the Flash CS3 IDE where AS3 and designers are concerned, more specifically how designers can animate and bounce things down to AS3 for hand-off to a developer like myself.</p>
<p>Rich Shupe is the speaker for this panel.</p>
<p><strong>General changes</strong></p>
<p>Right now hes summarizing general things that have changed for designers in CS3, primarily the lack of the old onRelease and attachMovieClip/duplicateMovieClip methods.</p>
<p>Now he&#8217;s going over changes in scaling. _xscale and _yscale are depreciated in favor of scaleX and scaleY. Values are now 0 to 1 instead of 0 to 100.</p>
<p>Now he&#8217;s explaining that actionscript directly on stage objects is gone, and that this is a good thing. All stage objects in flash, if they are to have their own behavior, need to be tied to a MovieClip based class.</p>
<p>Now on to the document class.  He&#8217;s creating and displaying a custom sprite based class for use on a library item.</p>
<p>Now he&#8217;s going over mandatory datatyping in AS3. Datatyping, where is a virtual machine or a compiler is concerned, is really going to work wonders for the performance of the binary applications you&#8217;re building.</p>
<p><strong>Display list</strong></p>
<p>He&#8217;s explaining how addChild adds items to the top of the display list stack, and thast removeChildAt(number) will remove anything at a specified depth.</p>
<p>Rich is also showing us how to:</p>
<p>Heres an awesome feature of AS3: Reparenting movie clips.<br />
Dynamically creating shapes (although, we could do this in as2.0).</p>
<p><strong>Events</strong></p>
<p>Loading</p>
<p>Now Rich is going over the new URL Request loader in favor of the old  loadMovie/MovieClipLoader or the old XML.load method.<br />
He&#8217;s now touting a new feature where you can now stop the load process in AS3, and gain access to raw data while the load is in progress.</p>
<p><strong>Sound</strong></p>
<p>Rich is going over the additions to the sound API, primarily that you can now have a new sound channel for each sound object, which effectively gives you a lot more control over sounds Loading can be buffered via the SoundLoaderContext class. You can also access the global sound with the SoundMixer class. You can also compute waveform spectrums with the computeSpectrum method.</p>
<p>Rich had built a quick example of computeSpectrum and using a custoom visualization class to draw and is now showing a waveform analysis swf that he built which is quite impressive looking. He just swapped out the visualization class with something that makes use of the graphics API for a more complex visualization. that uses lines instead of dot sprites.</p>
<p>He&#8217;s closing with some books he&#8217;s authored, and were done</p>
]]></content:encoded>
			<wfw:commentRss>http://www.auricom.com/devote/flash-forward-learning-as3-for-designers/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe AirBus Philadelphia</title>
		<link>http://www.auricom.com/devote/adobe-airbus-philadelphia</link>
		<comments>http://www.auricom.com/devote/adobe-airbus-philadelphia#comments</comments>
		<pubDate>Thu, 30 Aug 2007 17:44:41 +0000</pubDate>
		<dc:creator>ian</dc:creator>
				<category><![CDATA[AS3.0]]></category>
		<category><![CDATA[Air]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://devote.your.life.auricom.com/?p=40</guid>
		<description><![CDATA[I had the pleasure of making it out to the Philadelphia branch of the Adobe AirBus tour last week, held at the Ben Franklin Institute of science. My friend and I managed to get there just as Ryan Stewart was giving his keynote speech, so we grabbed our free bag of swag and a t-shirt [...]]]></description>
			<content:encoded><![CDATA[<p>I had the pleasure of making it out to the Philadelphia branch of the Adobe AirBus tour last week, held at the Ben Franklin Institute of science. My friend and I managed to get there just as Ryan Stewart was giving his keynote speech, so we grabbed our free bag of swag and a t-shirt and went on in. All in all it was a very cool event, and even though I&#8217;ve been working with Flex and Air for a while now I walked away with a lot of great resources and ideas. The highlight of my evening was that I was able to speak with Mike Chambers during the intermission about how to do a few things in Air that I&#8217;d been struggling with. Mike is a super friendly guy and was very helpful. He even offered to throw together some examples for me while he was on the road. Thanks for the help Mike, and thanks to the rest of the tour members who came out to Philadelphia.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.auricom.com/devote/adobe-airbus-philadelphia/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Import your iTunes Playlist into AS3 and Flex!</title>
		<link>http://www.auricom.com/devote/import-your-itunes-playlist-into-as3-and-flex</link>
		<comments>http://www.auricom.com/devote/import-your-itunes-playlist-into-as3-and-flex#comments</comments>
		<pubDate>Fri, 03 Aug 2007 02:47:38 +0000</pubDate>
		<dc:creator>ian</dc:creator>
				<category><![CDATA[AS3.0]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://devote.your.life.auricom.com/?p=36</guid>
		<description><![CDATA[Ok, so first off let me say that the iTunes playlist XML structure looks like it was designed by someone who doesn&#8217;t even know XML. Take a look at this entry for a single song: &#60;dict&#62; &#60;key&#62;Track ID&#60;/key&#62;&#60;integer&#62;64&#60;/integer&#62; &#60;key&#62;Name&#60;/key&#62;&#60;string&#62;Episode 14&#60;/string&#62; &#60;key&#62;Artist&#60;/key&#62;&#60;string&#62;Gareth Emery&#60;/string&#62; &#60;key&#62;Album&#60;/key&#62;&#60;string&#62;The Gareth Emery Podcast&#60;/string&#62; &#60;key&#62;Genre&#60;/key&#62;&#60;string&#62;Podcast&#60;/string&#62; &#60;key&#62;Kind&#60;/key&#62;&#60;string&#62;MPEG audio file&#60;/string&#62; &#60;key&#62;Size&#60;/key&#62;&#60;integer&#62;64803919&#60;/integer&#62; &#60;key&#62;Total Time&#60;/key&#62;&#60;integer&#62;2700068&#60;/integer&#62; &#60;key&#62;Year&#60;/key&#62;&#60;integer&#62;2006&#60;/integer&#62; &#60;key&#62;Date [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://devote.your.life.auricom.com/wp-content/uploads/2007/08/itunes_dg1.jpg' alt='itunes_dg1.jpg' /></p>
<p>Ok, so first off let me say that the iTunes playlist XML structure looks like it was designed by someone who doesn&#8217;t even know XML. </p>
<p>Take a look at this entry for a single song:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;dict<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Track ID<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/key<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;integer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>64<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/integer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Name<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/key<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Episode 14<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Artist<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/key<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Gareth Emery<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Album<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/key<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>The Gareth Emery Podcast<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Genre<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/key<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Podcast<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Kind<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/key<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>MPEG audio file<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Size<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/key<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;integer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>64803919<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/integer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Total Time<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/key<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;integer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>2700068<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/integer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Year<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/key<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;integer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>2006<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/integer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Date Modified<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/key<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;date<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>2006-09-21T15:14:43Z<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/date<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Date Added<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/key<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;date<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>2006-09-21T15:14:43Z<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/date<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Bit Rate<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/key<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;integer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>192<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/integer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Sample Rate<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/key<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;integer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>44100<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/integer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Play Count<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/key<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;integer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>22<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/integer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Play Date<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/key<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;integer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>3264149297<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/integer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Play Date UTC<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/key<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;date<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>2007-06-08T16:08:17Z<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/date<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Release Date<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/key<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;date<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>2006-09-21T11:00:00Z<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/date<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Sort Album<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/key<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Gareth Emery Podcast<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Persistent ID<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/key<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>FE2067001E4F2C00<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Track Type<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/key<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>File<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Podcast<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/key<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;true</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Location<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>The%20Gareth%20Emery%20Podcast/Episode%2014.mp3<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/string<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>File Folder Count<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/key<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;integer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>4<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/integer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;key<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Library Folder Count<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/key<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;integer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>1<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/integer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/dict<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>The way they have this structured makes it impossible to do any E4X based XML processing of the playlist and consequently prevents your from using it in Flex or any other MVC based framework that allows you to easily hook an XML data source into components on the view layer.</p>
<p>So, as if you couldn&#8217;t guess, I wrote a class so that you can. You can use it to load in an iTunes XML playlist and turn it into something use-able that adheres to XML best practice where the structure is concerned. </p>
<p>Heres a sample of what it outputs:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;song<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Track_ID<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>511<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Track_ID<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Episode 34<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Artist<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Gareth Emery<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Artist<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Album<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>The Gareth Emery Podcast<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Album<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Genre<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Podcast<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Genre<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Kind<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>MPEG audio file<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Kind<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Size<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>64804016<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Size<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Total_Time<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>2700068<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Total_Time<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Year<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>2007<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Year<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Date_Modified<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>2007-07-24T16:29:57Z<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Date_Modified<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Date_Added<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>2007-07-24T16:29:57Z<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Date_Added<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Bit_Rate<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>192<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Bit_Rate<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Sample_Rate<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>44100<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Sample_Rate<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Release_Date<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>2007-07-19T22:00:00Z<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Release_Date<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Sort_Album<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Gareth Emery Podcast<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Sort_Album<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Sort_Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Gareth Emery Podcast - Episode 34<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Sort_Name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Persistent_ID<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>DFA5DE7CE96B0316<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Persistent_ID<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Track_Type<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>File<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Track_Type<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Podcast</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Unplayed</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Location<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>The%20Gareth%20Emery%20Podcast/Episode%2034.mp3<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Location<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;File_Folder_Count<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>4<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/File_Folder_Count<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Library_Folder_Count<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>1<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Library_Folder_Count<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/song<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Much better, huh? Heres an example of how you can use it in your Flex/AS3.0 project.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> libraryPath:URLRequest = <span style="color: #000000; font-weight: bold;">new</span> URLRequest<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;testlibrary.xml&quot;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
	iTunesLibrary = <span style="color: #000000; font-weight: bold;">new</span> itunesXMLParser<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	iTunesLibrary.<span style="color: #0066CC;">load</span><span style="color: #66cc66;">&#40;</span>libraryPath<span style="color: #66cc66;">&#41;</span>;
&nbsp;
	iTunesLibrary.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>Event.<span style="color: #006600;">COMPLETE</span>, loadHandler<span style="color: #66cc66;">&#41;</span>;
	iTunesLibrary.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>ProgressEvent.<span style="color: #006600;">PROGRESS</span>, progressHandler<span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> loadHandler<span style="color: #66cc66;">&#40;</span>event:Event<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Library is done loading, lets do something cool with it&quot;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
	<span style="color: #808080; font-style: italic;">//trace(iTunesLibrary.playlistXML);</span>
&nbsp;
	<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;songs: &quot;</span>  + iTunesLibrary.<span style="color: #006600;">playlistXML</span>.<span style="color: #006600;">song</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
	<span style="color: #000000; font-weight: bold;">var</span> songList:XMLList = iTunesLibrary.<span style="color: #006600;">playlistXML</span>.<span style="color: #006600;">song</span>;
&nbsp;
	<span style="color: #808080; font-style: italic;">//trace(songList);</span>
&nbsp;
	dg_mx.<span style="color: #006600;">dataProvider</span> = songList;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> progressHandler<span style="color: #66cc66;">&#40;</span>event:ProgressEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;progressHandler loaded:&quot;</span> 
        + event.<span style="color: #0066CC;">bytesLoaded</span> + <span style="color: #ff0000;">&quot; total: &quot;</span> + event.<span style="color: #0066CC;">bytesTotal</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&lt;/</span>code<span style="color: #66cc66;">&gt;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Note that it listens on all the same events as the normal XML class. In the loadHandler function above theres an example of how to hook this into a datagrid component in flex.</p>
<p>Thats it. Right now it only grabs songs, I&#8217;ll be adding support for multiple playlists later.</p>
<p>Download the class file <a href="http://ianmclean.name/itunesXMLParser/itunesXMLParser.zip" onclick="javascript:pageTracker._trackPageview('/outbound/article/ianmclean.name');">here</a></p>
<p>Download the example flex project <a href="http://ianmclean.name/itunesXMLParser/itunesXMLParserExample.zip" onclick="javascript:pageTracker._trackPageview('/outbound/article/ianmclean.name');">here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.auricom.com/devote/import-your-itunes-playlist-into-as3-and-flex/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dejaxx</title>
		<link>http://www.auricom.com/devote/dejaxx</link>
		<comments>http://www.auricom.com/devote/dejaxx#comments</comments>
		<pubDate>Thu, 26 Jul 2007 03:39:11 +0000</pubDate>
		<dc:creator>ian</dc:creator>
				<category><![CDATA[AS3.0]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://devote.your.life.auricom.com/?p=31</guid>
		<description><![CDATA[Here&#8217;s an AS3 application I&#8217;ve been working on. You wouldn&#8217;t know from reading this geeky blog, but I&#8217;m actually an EDM DJ and producer, at least when I&#8217;m not buried in code. Here&#8217;s the idea behind it. DJ&#8217;s distribute mixes that can sometimes be a few hours long. Most audio players out there are only [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://devote.your.life.auricom.com/wp-content/uploads/2007/07/dejaxx.jpg' alt='dejaxx.jpg' /></a></p>
<p>Here&#8217;s an AS3 application I&#8217;ve been working on. You wouldn&#8217;t know from reading this geeky blog, but I&#8217;m actually an EDM DJ and producer, at least when I&#8217;m not buried in code.</p>
<p>Here&#8217;s the idea behind it. DJ&#8217;s distribute mixes that can sometimes be a few hours long. Most audio players out there are only designed to handle individual songs of only a few minutes length. Load a DJ mix into one of these  and you&#8217;re loading sometimes hours worth of music into one track. Now your listener has to jog around to different points in the mix using the scrubber to get to a track they like, and all the while they have no idea what song they&#8217;re listening to. </p>
<p>Enter Dejaxx. It&#8217;s designed specifically to handle DJ mixes. In the XML file you specify information about your contiguous mix file and set up cue points throughout your mix. Each cue point contains the location of the track in the mix and its information (artist name, track name, etc). Now when someone wants to listen to your mix they can move through your cue points just like on a CD. Not bad huh? What&#8217;s even cooler is that Dejaxx will also update what track is playing if the song changes while you&#8217;re listening.</p>
<p>See it in action <a href="http://ianmclean.name/dejaxx/dejaxx.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/ianmclean.name');" target="_blank">here</a>. </p>
<p>Just a warning, I haven&#8217;t worked out the progressive streaming yet so prepare to preload a large media file (which just so happens to be a mix of my own!). I still have lots of improvements underway so hopefully I can post a new version soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.auricom.com/devote/dejaxx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PV3D Flash CS3 Component</title>
		<link>http://www.auricom.com/devote/pv3d-flash-cs3-component</link>
		<comments>http://www.auricom.com/devote/pv3d-flash-cs3-component#comments</comments>
		<pubDate>Fri, 20 Jul 2007 18:46:25 +0000</pubDate>
		<dc:creator>ian</dc:creator>
				<category><![CDATA[AS3.0]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://devote.your.life.auricom.com/?p=27</guid>
		<description><![CDATA[Every time I turn around there seems to be great things happening with Papervision 3D. John Garden just released a Papervision3D Flash CS3 Component that allows you to load in COLLADA files and assign textures all right in the Flash IDE. It looks like this is going to be a great tool for artists who [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://devote.your.life.auricom.com/?attachment_id=28" onclick="" rel='attachment wp-att-28' title='The PV3D Flash CS3 Component' target="_blank"><img src='http://devote.your.life.auricom.com/wp-content/uploads/2007/07/cs3_component.jpg' alt='The PV3D Flash CS3 Component' /></a></p>
<p>Every time I turn around there seems to be great things happening with Papervision 3D. John Garden just released a Papervision3D Flash CS3 Component that allows you to load in COLLADA files and assign textures all right in the Flash IDE. It looks like this is going to be a great tool for artists who want to create and test content for use in Papervision without having to touch any code.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.auricom.com/devote/pv3d-flash-cs3-component/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
