<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Cluttered Systems News</title>
	<atom:link href="http://johnnygod.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://johnnygod.wordpress.com</link>
	<description>Flash, Flex and Air  Actionscript Development</description>
	<lastBuildDate>Thu, 19 May 2011 08:10:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='johnnygod.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Cluttered Systems News</title>
		<link>http://johnnygod.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://johnnygod.wordpress.com/osd.xml" title="Cluttered Systems News" />
	<atom:link rel='hub' href='http://johnnygod.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Flash Builder 4 return to blog</title>
		<link>http://johnnygod.wordpress.com/2011/03/27/flash-builder-4-return-to-blog/</link>
		<comments>http://johnnygod.wordpress.com/2011/03/27/flash-builder-4-return-to-blog/#comments</comments>
		<pubDate>Sun, 27 Mar 2011 13:25:08 +0000</pubDate>
		<dc:creator>John Holland</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex Development]]></category>
		<category><![CDATA[RIA Flex]]></category>

		<guid isPermaLink="false">http://johnnygod.wordpress.com/?p=298</guid>
		<description><![CDATA[A development so absorbing I have not posted a blog for an entire year! The release date for our software approaches and there are many topics worthy of a post to this blog  -  but I&#8217;ll start by mentioning the drawbacks to using modules in Flash Builder 4.  The main point to consider is that [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnygod.wordpress.com&amp;blog=1016879&amp;post=298&amp;subd=johnnygod&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A development so absorbing I have not posted a blog for an entire year! The release date for our software approaches and there are many topics worthy of a post to this blog  -  but I&#8217;ll start by mentioning the drawbacks to using modules in Flash Builder 4.  The main point to consider is that the module loader and module class are MX and clash heavily when group, vgroup and hgroup functionality are needed in the application. Resizing, and skinning have changed so dramatically between Flex 3 and Flex 4 and the Module did, in the end, prevent us from leveraging the benefits of Flex 4.5 and the Flash builder 4 approach to display update, resizing and the like.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johnnygod.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johnnygod.wordpress.com/298/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johnnygod.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johnnygod.wordpress.com/298/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/johnnygod.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/johnnygod.wordpress.com/298/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/johnnygod.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/johnnygod.wordpress.com/298/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johnnygod.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johnnygod.wordpress.com/298/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johnnygod.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johnnygod.wordpress.com/298/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johnnygod.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johnnygod.wordpress.com/298/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnygod.wordpress.com&amp;blog=1016879&amp;post=298&amp;subd=johnnygod&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://johnnygod.wordpress.com/2011/03/27/flash-builder-4-return-to-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/587f3f26fccb28086301e7a369170007?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">johnnygod</media:title>
		</media:content>
	</item>
		<item>
		<title>Flex 4 AdvancedDataGrid</title>
		<link>http://johnnygod.wordpress.com/2010/05/31/flex-4-advanceddatagrid/</link>
		<comments>http://johnnygod.wordpress.com/2010/05/31/flex-4-advanceddatagrid/#comments</comments>
		<pubDate>Mon, 31 May 2010 09:35:34 +0000</pubDate>
		<dc:creator>John Holland</dc:creator>
				<category><![CDATA[actionscript 3.0]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex Development]]></category>
		<category><![CDATA[RIA Flex]]></category>
		<category><![CDATA[Adobe Flash Builder]]></category>
		<category><![CDATA[Flex advancedDataGrid]]></category>
		<category><![CDATA[Flex development]]></category>

		<guid isPermaLink="false">http://johnnygod.wordpress.com/?p=263</guid>
		<description><![CDATA[In an upcoming post I hope to document our highs and lows using the data inspection wizard in Flash Builder 4. But first, since we had to flatten the data in order to use any of the data display components, I would like to write a bit about the advancedDataGrid in Flex 4 (which is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnygod.wordpress.com&amp;blog=1016879&amp;post=263&amp;subd=johnnygod&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In an upcoming post I hope to document our highs and lows using the data inspection wizard in Flash Builder 4. But first, since we had to flatten the data in order to use any of the data display components, I would like to write a bit about the advancedDataGrid in Flex 4 (which is still an mx component)  I had hoped to wire up a data display component quickly as a place holder awaiting further development, but could not find an easy way to do this without traversing the array Collection and rearranging the data for the component.<span id="more-263"></span> I was starting with an array object returned by our php service, an array which contains other arrays, and various objects. &#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johnnygod.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johnnygod.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johnnygod.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johnnygod.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/johnnygod.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/johnnygod.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/johnnygod.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/johnnygod.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johnnygod.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johnnygod.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johnnygod.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johnnygod.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johnnygod.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johnnygod.wordpress.com/263/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnygod.wordpress.com&amp;blog=1016879&amp;post=263&amp;subd=johnnygod&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://johnnygod.wordpress.com/2010/05/31/flex-4-advanceddatagrid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/587f3f26fccb28086301e7a369170007?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">johnnygod</media:title>
		</media:content>
	</item>
		<item>
		<title>Shell Application and Modules in Flex 4</title>
		<link>http://johnnygod.wordpress.com/2010/05/29/shell-application-and-modules-in-flex-4/</link>
		<comments>http://johnnygod.wordpress.com/2010/05/29/shell-application-and-modules-in-flex-4/#comments</comments>
		<pubDate>Sat, 29 May 2010 08:04:11 +0000</pubDate>
		<dc:creator>John Holland</dc:creator>
				<category><![CDATA[actionscript 3.0]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex Development]]></category>
		<category><![CDATA[Modules in Flex]]></category>
		<category><![CDATA[RIA Flex]]></category>
		<category><![CDATA[Adobe Flash Builder]]></category>
		<category><![CDATA[Flex development]]></category>
		<category><![CDATA[flex modules]]></category>

		<guid isPermaLink="false">http://johnnygod.wordpress.com/?p=258</guid>
		<description><![CDATA[One thing to remember when building a shell application and modules in Adobe Flex (3 and 4) is that the PopUpManager, DragManager, and other classes that are needed by your module, will have to be instantiated in the shell application as well. These classes not only have to be imported into the shell app, but [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnygod.wordpress.com&amp;blog=1016879&amp;post=258&amp;subd=johnnygod&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>One thing to remember when building a shell application and modules in Adobe Flex (3 and 4) is that the PopUpManager, DragManager, and other classes that are needed by your module, will have to be <em>instantiated in the shell application</em> as well.<span id="more-258"></span> These classes not only have to be imported into the shell app, but also must be instantiated as variables within the fx:Script tags, or I suppose, as mxml tags within the fx:Declaration tags if you have a reason to do it that way. In the shell application I created one mxml ModuleLoader and a loadUnloadModule function as well as handlers for the moduleLoader&#8217;s &#8216;ready&#8217;, &#8216;unload&#8217;, and &#8216;error&#8217; events. Since the the mxml ModuleLoader&#8217;s &#8216;url&#8217; property is bound to my Bindable module_url variable, the loadUnloadModule function has only to set the url to an empty string to unload, and then reset the url to the name of a module (module.swf) for the shell app to load the desired module.</p>
<pre><span style="color:#0000ff;">public</span> <span style="color:#339966;">function</span> loadUnloadModules(mod:<span style="color:#0000ff;">Module</span>,_url:<span style="color:#0000ff;">String</span>):<span style="color:#0000ff;">void</span>
   {
           current_module            = mod;
           main_module_loader.url    = <span style="color:#ff0000;">""</span>;
           module_url                = _url;
  }</pre>
<p>This function is accessible to an already loaded module by calling it on : parentApplication.loadUnloadModule etc.  The following code on the login module itself, calls the function residing in the shell application and the login module unloads itself and loads the next module.</p>
<pre><span style="color:#0000ff;">protected</span> <span style="color:#339966;">function</span> authKnockResult_resultHandler(ev:<span style="color:#333399;">R</span><span style="color:#0000ff;"><span style="color:#333399;">esultEven</span><span style="color:#333399;">t</span></span>):<span style="color:#0000ff;">void</span>
 {
     <span style="color:#0000ff;">if</span> ((ev.<span style="color:#333399;">result</span> <span style="color:#333399;">as</span> <span style="color:#0000ff;">Boolean</span>) == <span style="color:#0000ff;">false</span>)
     {
         currentState = <span style="color:#ff0000;">"no_access_state"</span>;
     }
     <span style="color:#0000ff;">else</span>
    {
        parentApplication.loadUnloadModules(<span style="color:#0000ff;">this</span>,<span style="color:#ff0000;">"MagazineModule.swf"</span>);
    }
 }</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johnnygod.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johnnygod.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johnnygod.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johnnygod.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/johnnygod.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/johnnygod.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/johnnygod.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/johnnygod.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johnnygod.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johnnygod.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johnnygod.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johnnygod.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johnnygod.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johnnygod.wordpress.com/258/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnygod.wordpress.com&amp;blog=1016879&amp;post=258&amp;subd=johnnygod&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://johnnygod.wordpress.com/2010/05/29/shell-application-and-modules-in-flex-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/587f3f26fccb28086301e7a369170007?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">johnnygod</media:title>
		</media:content>
	</item>
		<item>
		<title>Three main modules for Hafiba Flex Application</title>
		<link>http://johnnygod.wordpress.com/2010/05/29/three-main-modules-for-hafiba-flex-application/</link>
		<comments>http://johnnygod.wordpress.com/2010/05/29/three-main-modules-for-hafiba-flex-application/#comments</comments>
		<pubDate>Sat, 29 May 2010 07:06:15 +0000</pubDate>
		<dc:creator>John Holland</dc:creator>
				<category><![CDATA[actionscript 3.0]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex Development]]></category>
		<category><![CDATA[RIA Flex]]></category>
		<category><![CDATA[Adobe Flash Builder]]></category>
		<category><![CDATA[Flash IDE]]></category>
		<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[Flex development]]></category>
		<category><![CDATA[Hafiba Pre-press]]></category>

		<guid isPermaLink="false">http://johnnygod.wordpress.com/?p=246</guid>
		<description><![CDATA[The current application offered to clients of Hafiba is a Flash Actionscript 2.0 front-end created in 2004–2005, with the Flash IDE (and no dev framework !) The php / SQL back-end has been in place as the internal production software of the company<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnygod.wordpress.com&amp;blog=1016879&amp;post=246&amp;subd=johnnygod&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The current application offered to clients of Hafiba is a Flash Actionscript 2.0 front-end created in 2004–2005, with the Flash IDE (and no dev framework !)<span id="more-246"></span> The php / SQL back-end has been in place as the internal production software of the company, and the database itself is responsible for much of the logic which controls who can access data, and who has permissions to write to the database. Hafiba employees run a much larger version of the same system with a front-end built in Adobe SVG. This production software now runs on a windows platform PC next to each graphic designer, who are all working primarily on large Apple graphic stations. The reason for this is that the SVG plugin lost support before the release of Flash Player 10, and oddly, the two cannot be installed on the same system !</p>
<p>The php application and the enormous SQL database was written and has been maintained over the past ten years by one, in-house developer at Hafiba. He will be taking this opportunity to rewrite and update much of the server-side php while we create a single Adobe Flex client-side application capable of serving the publisher clients, the print-houses and the staff of Hafiba themselves. For this, we at CIP have proposed a Flex Client-side which loads the appropriate module according to the status and permissions allowed to the user at login. The Shell Flex 4 application will load one of three Flex Modules for the publisher, printer, or pre-press user.</p>
<p>The first task was to find out if and how Flex 3 modules have changed in Flex 4. After which I quickly cobbled together a shell application responsible for automatically  loading the login module, and subsequent modules based on the users login permissions.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johnnygod.wordpress.com/246/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johnnygod.wordpress.com/246/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johnnygod.wordpress.com/246/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johnnygod.wordpress.com/246/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/johnnygod.wordpress.com/246/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/johnnygod.wordpress.com/246/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/johnnygod.wordpress.com/246/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/johnnygod.wordpress.com/246/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johnnygod.wordpress.com/246/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johnnygod.wordpress.com/246/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johnnygod.wordpress.com/246/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johnnygod.wordpress.com/246/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johnnygod.wordpress.com/246/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johnnygod.wordpress.com/246/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnygod.wordpress.com&amp;blog=1016879&amp;post=246&amp;subd=johnnygod&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://johnnygod.wordpress.com/2010/05/29/three-main-modules-for-hafiba-flex-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/587f3f26fccb28086301e7a369170007?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">johnnygod</media:title>
		</media:content>
	</item>
		<item>
		<title>Flex 4 Development at CIP</title>
		<link>http://johnnygod.wordpress.com/2010/05/13/flex-4-development-at-cip/</link>
		<comments>http://johnnygod.wordpress.com/2010/05/13/flex-4-development-at-cip/#comments</comments>
		<pubDate>Thu, 13 May 2010 12:34:24 +0000</pubDate>
		<dc:creator>John Holland</dc:creator>
				<category><![CDATA[actionscript 3.0]]></category>
		<category><![CDATA[business critical]]></category>
		<category><![CDATA[Flash Player Platform]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex Development]]></category>
		<category><![CDATA[RIA Flex]]></category>
		<category><![CDATA[Adobe Flash Builder]]></category>
		<category><![CDATA[adobe flex]]></category>
		<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[Flex development]]></category>

		<guid isPermaLink="false">http://johnnygod.wordpress.com/?p=236</guid>
		<description><![CDATA[In 1997 Bayard Publishing and Hachette Filipacchi Media created the pre-press house Hafiba to handle all of their publications. Hafiba remained one the most prestigious pre-press houses in Paris serving a clientele which includes, Elle, Premiere, Paris Match and many others &#8230; When the Le Cercle, Creative Investment company took over Hafiba the time was [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnygod.wordpress.com&amp;blog=1016879&amp;post=236&amp;subd=johnnygod&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In 1997 Bayard Publishing and Hachette Filipacchi Media created the pre-press house Hafiba to handle all of their publications. Hafiba remained one the most prestigious pre-press houses in Paris serving <span id="more-236"></span>a clientele which includes, Elle, Premiere, Paris Match and many others &#8230; When the <em>Le Cercle, Creative Investment</em> company took over Hafiba the time was right to upgrade the company&#8217;s production software from its Actionscript 2.0 and SVG front-ends to a more forward-looking technology. Le Cercle has chosen the Flash Player Platform, Flex 4 and Flash Builder for this business-critical pre-press workflow application and for the software which allows client periodicals to follow their publications through the pre-press process.</p>
<p>The current application offered to clients of Hafiba is a Flash Actionscript 2.0 front-end, released in 2004, built over a php / SQL system that had been in place as the internal production software of the company. Hafiba employees themselves run a much larger version of the same workflowsystem with a front-end built in Adobe SVG. The many print houses associated with Hafiba have a third version of the same system which offers the printer a coherent way of interacting with both the pre-press and the publisher&#8217;s process. Our mission is to bring the three applications together under one front-end built in Flex 4 with the new Flash Builder 4 and Adobe CS5 Suite tools.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johnnygod.wordpress.com/236/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johnnygod.wordpress.com/236/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johnnygod.wordpress.com/236/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johnnygod.wordpress.com/236/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/johnnygod.wordpress.com/236/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/johnnygod.wordpress.com/236/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/johnnygod.wordpress.com/236/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/johnnygod.wordpress.com/236/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johnnygod.wordpress.com/236/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johnnygod.wordpress.com/236/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johnnygod.wordpress.com/236/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johnnygod.wordpress.com/236/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johnnygod.wordpress.com/236/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johnnygod.wordpress.com/236/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnygod.wordpress.com&amp;blog=1016879&amp;post=236&amp;subd=johnnygod&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://johnnygod.wordpress.com/2010/05/13/flex-4-development-at-cip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/587f3f26fccb28086301e7a369170007?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">johnnygod</media:title>
		</media:content>
	</item>
		<item>
		<title>Return to RSS</title>
		<link>http://johnnygod.wordpress.com/2009/07/01/return-to-rss/</link>
		<comments>http://johnnygod.wordpress.com/2009/07/01/return-to-rss/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 08:33:24 +0000</pubDate>
		<dc:creator>John Holland</dc:creator>
				<category><![CDATA[Flex Development]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[adobe flex]]></category>
		<category><![CDATA[flex rss reader]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false">http://johnnygod.wordpress.com/?p=152</guid>
		<description><![CDATA[This a continuation of the entry: Working With/Against RSS. It seems more difficult than it should, just to be certain we are dealing with the xml url and not the html url, but many addresses do not end in xml   &#8211; - I have also found that feeds beginning with feed://etc, work in my [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnygod.wordpress.com&amp;blog=1016879&amp;post=152&amp;subd=johnnygod&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This a continuation of the entry: Working With/Against RSS.</p>
<p>It seems more difficult than it should, just to be certain we are dealing with the xml url and not the html url, but many addresses do not end in xml   &#8211; - I have also found that feeds beginning with feed://etc, work in my Flex HTTPService only if I change the &#8220;feed://&#8221; to &#8220;http://&#8221; although this change does not guarantee that the feed will work. In addition to this, none of the feeds will load once the application is deployed to my remote server. A java servlet or php proxy is needed on the CLS domain.</p>
<p><span id="more-152"></span></p>
<p>My CLS RSSReader is a simple variation on the recommended use of httpService to populate a data grid. The item element is assigned to an array collection, unless, for some reason, the url does not return an xml in &lt;rss&gt;&lt;channel&gt;&lt;item&gt; format.</p>
<pre> public function parceRSS(ev:ResultEvent):void
 {
         try  {
               _collection = ev.result.rss.channel.item as ArrayCollection;
         }
         catch (err:Error){
               Alert.show("Feed Not Found at above :::: Cannot Load Feed",feed_url);
       }
 }</pre>
<p>Although the original idea simply assigned the data chosen in the Combobox to the feed_url variable and assigned feed_url to the url of the HTTPService call, The Flash Player prevents this direct transfer of data across different domains.</p>
<pre>
<span style="color:#0000ff;">&lt;mx:HTTPService</span> id="<span style="color:#990000;">_HTTPServiceCall</span>" showBusyCursor="<span style="color:#990000;">true</span>"

<span style="white-space:pre;"> </span>url= "<span style="color:#990000;">{feed_url}</span>" result="parceRSS(event)" fault="onFault(event)"<span style="color:#0000ff;">&gt;</span></pre>
<p>After searching through blogs on proxy solutions and their alternatives, I settled on the &#8216;<a style="color:#000000;text-decoration:none;margin:0;padding:0;" href="http://www.switchonthecode.com/tutorials/using-a-php-proxy-with-flex-to-talk-cross-domain">Using a PHP Proxy with Flex to talk Cross Domain</a>&#8216; solution offered on <a href="http://www.switchonthecode.com/tutorials/using-a-php-proxy-with-flex-to-talk-cross-domain" target="_blank">Switch On The Code.</a> Replacing the url= &#8220;<span style="color:#990000;">{feed_url}</span>&#8221; with a absolute url pointing to the php proxy on the CLS server, and adding &lt;request&gt; tags to the httpService, as shown in the tutorial I ended up with this:</p>
<p style="font:11px Monaco;margin:0;"><span style="color:#0000ff;">&lt;mx:HTTPService</span> id=&#8221;<span style="color:#990000;">_HTTPServiceCall</span>&#8221; showBusyCursor=&#8221;<span style="color:#990000;">true</span>&#8221; method=&#8221;<span style="color:#990000;">POST</span>&#8220;</p>
<p style="font:11px Monaco;margin:0;"><span style="white-space:pre;"> </span>url= &#8220;<span style="color:#990000;">http://cluttered.flvservers.com/proxy.php</span>&#8221; result=&#8221;parceRSS(event)&#8221;</p>
<p style="font:11px Monaco;margin:0;">fault=&#8221;onFault(event)&#8221;<span style="color:#0000ff;">&gt;</span></p>
<p style="font:11px Monaco;color:#0000ff;margin:0;"><span style="color:#000000;"><span style="white-space:pre;"> </span></span>&lt;mx:request&gt;</p>
<p style="font:11px Monaco;margin:0;"><span style="white-space:pre;"> </span><span style="color:#0000ff;">&lt;url&gt;</span> {feed_url} <span style="color:#0000ff;">&lt;/url&gt;</span></p>
<p style="font:11px Monaco;color:#0000ff;margin:0;"><span style="color:#000000;"><span style="white-space:pre;"> </span></span>&lt;/mx:request&gt;</p>
<p style="font:11px Monaco;color:#0000ff;margin:0;"><span style="color:#000000;"><span style="white-space:pre;"> </span></span>&lt;/mx:HTTPService&gt;</p>
<p>I found other sources on building RSS readers in Flex in the Flex Cookbook, Chad Udell&#8217;s <a href="http://visualrinse.com/2008/09/14/how-to-make-a-simple-rss-reader-with-adobe-flex/" target="_blank">VisualRinse</a>, and at <a href="http://labs.adobe.com/wiki/index.php/Apollo:Articles:Building_Your_First_Flex-based_Apollo_Application" target="_blank">Adobe Labs</a>. The quick and dirty Twitter feed reader entry in the Flex Cookbook (may 30, 2009) does not go deep into the Twitter API, and seems to illustrate that from the resulting XMLList which is passed event.result.status, the feed can be looped through with an MXML Repeater, currentItem by currentItem. The resulting xml is in the form:    &lt;statuses type=&#8221;array&#8221;&gt;  &lt;status&gt;  &lt;user&gt;    Without a loop, the simplest way is to cast the HTTPService result as XML and assign the XML.children() to an XMLList &#8211;  <span style="font-family:Monaco, 'Times New Roman', 'Bitstream Charter', Times, 0;line-height:normal;font-size:11px;">xml_list<span style="white-space:pre;"> </span>= <span style="color:#0033ff;">new</span> XMLList(_xml.children()) <span style="font-family:Georgia, 'Times New Roman', 'Bitstream Charter', Times, fantasy;font-size:13px;line-height:19px;">for the feeds which have a single child node structure like twitter&#8217;s &lt;status&gt;; or the &lt;channel&gt;&lt;item&gt; form:</span></span></p>
<p style="font:11px Monaco;margin:0;"><span style="white-space:pre;"> </span></p>
<p style="font:11px Monaco;margin:0;"><span style="white-space:pre;"> </span><span style="color:#0033ff;">import</span> mx.rpc.events.ResultEvent;</p>
<p style="font:11px Monaco;min-height:15px;margin:0;"><span style="white-space:pre;"> </span></p>
<p style="font:11px Monaco;color:#0033ff;margin:0;"><span style="color:#000000;"><span style="white-space:pre;"> </span>[</span>Bindable<span style="color:#000000;">]</span></p>
<p style="font:11px Monaco;margin:0;"><span style="white-space:pre;"> </span><span style="color:#0033ff;">private</span> <span style="color:#6699cc;">var</span> _xml:XML;</p>
<p style="font:11px Monaco;color:#0033ff;margin:0;"><span style="color:#000000;"><span style="white-space:pre;"> </span>[</span>Bindable<span style="color:#000000;">]</span></p>
<p style="font:11px Monaco;margin:0;"><span style="white-space:pre;"> </span><span style="color:#0033ff;">private</span> <span style="color:#6699cc;">var</span> xml_list:XMLList;</p>
<p style="font:11px Monaco;min-height:15px;margin:0;"><span style="white-space:pre;"> </span></p>
<p style="font:11px Monaco;margin:0;"><span style="white-space:pre;"> </span><span style="color:#0033ff;">public</span> <span style="color:#339966;">function</span> init():<span style="color:#0033ff;">void</span></p>
<p style="font:11px Monaco;margin:0;"><span style="white-space:pre;"> </span>{</p>
<p style="font:11px Monaco;margin:0;"><span style="white-space:pre;"> </span>_HTTPServiceCall.send();</p>
<p style="font:11px Monaco;margin:0;"><span style="white-space:pre;"> </span>}</p>
<p style="font:11px Monaco;min-height:15px;margin:0;"><span style="white-space:pre;"> </span></p>
<p style="font:11px Monaco;margin:0;"><span style="white-space:pre;"> </span><span style="color:#0033ff;">public</span> <span style="color:#339966;">function</span> parceRSS(ev:ResultEvent):<span style="color:#0033ff;">void</span></p>
<p style="font:11px Monaco;margin:0;"><span style="white-space:pre;"> </span>{</p>
<p style="font:11px Monaco;min-height:15px;margin:0;"><span style="white-space:pre;"> </span></p>
<p style="font:11px Monaco;color:#009900;margin:0;"><span style="color:#000000;"><span style="white-space:pre;"> </span></span>//e4x returns XML object</p>
<p style="font:11px Monaco;min-height:15px;margin:0;"><span style="white-space:pre;"> </span></p>
<p style="font:11px Monaco;margin:0;"><span style="white-space:pre;"> </span>_xml <span style="white-space:pre;"> </span>= ev.result <span style="color:#0033ff;">as</span> XML;</p>
<p style="font:11px Monaco;min-height:15px;margin:0;"><span style="white-space:pre;"> </span></p>
<p style="font:11px Monaco;margin:0;"><span style="white-space:pre;"> </span>xml_list<span style="white-space:pre;"> </span>= <span style="color:#0033ff;">new</span> XMLList(_xml.children());</p>
<p style="font:11px Monaco;min-height:15px;margin:0;"><span style="white-space:pre;"> </span></p>
<p style="font:11px Monaco;margin:0;"><span style="white-space:pre;"> </span>}</p>
<div><span style="font-family:Monaco, 'Times New Roman', 'Bitstream Charter', Times, fantasy;font-size:small;"><span style="line-height:normal;"> </span></span></div>
<p>Other solutions on the web use the httpService directly as a dataprovider for a dataGrid: <span style="font-family:Monaco, 'Times New Roman', 'Bitstream Charter', Times, fantasy;line-height:normal;font-size:11px;">dataProvider=&#8221;<span style="color:#990000;">{</span>myFeed.lastResult.rss.channel.item<span style="color:#990000;">}</span>&#8221; </span> without a variable to hold the arrayCollection. Most feeds work with this, so maybe a feed reader which can distinguish a twitter feed, from atom feeds, from other forms would be useful enough. The app will allow the user to choose from a list of feeds, or enter a url of their own.</p>
<p>I finally settled on the following but have found that it does not work with 20% of the feeds I have tried.</p>
<p style="font:11px Monaco;margin:0;"><span style="color:#0000ff;">&lt;mx:HBox</span> width=&#8221;<span style="color:#990000;">90%</span>&#8221; height=&#8221;<span style="color:#990000;">40</span>&#8220;<span style="color:#0000ff;">&gt;</span></p>
<p style="font:11px Monaco;margin:0;"><span style="white-space:pre;"> </span><span style="color:#0000ff;">&lt;mx:Label</span> text=&#8221;<span style="color:#990000;">Feed Selection</span>&#8221; color=&#8221;<span style="color:#990000;">#FFFFFF</span>&#8220;<span style="color:#0000ff;">/&gt;</span></p>
<p style="font:11px Monaco;margin:0;"><span style="white-space:pre;"> </span><span style="color:#0000ff;">&lt;mx:ComboBox</span> id=&#8221;<span style="color:#990000;">feedlist_combo</span>&#8221; dataProvider=&#8221;<span style="color:#990000;">{</span>rss_feeds<span style="color:#990000;">}</span>&#8220;</p>
<p style="font:11px Monaco;margin:0;"><span style="white-space:pre;">labelField=&#8221;<span style="color:#990000;">name</span>&#8221; useHandCursor=&#8221;<span style="color:#990000;">true</span>&#8221; editable=&#8221;<span style="color:#990000;">false</span>&#8220;</span></p>
<p style="font:11px Monaco;margin:0;">rowCount=&#8221;<span style="color:#990000;">40</span>&#8220; change=</p>
<p style="font:11px Monaco;margin:0;">&#8220;chooseSiteFeed(ComboBox(event.target).selectedItem.data,</p>
<p style="font:11px Monaco;margin:0;">ComboBox(event.target).selectedItem.name)&#8221; <span style="color:#0000ff;">/&gt;</span></p>
<p style="font:11px Monaco;margin:0;"><span style="white-space:pre;"> </span><span style="color:#0000ff;">&lt;mx:HBox</span> width=&#8221;<span style="color:#990000;">100%</span>&#8220;<span style="color:#0000ff;">/&gt;</span> <span style="color:#0000ff;">&lt;mx:Spacer</span> width=&#8221;<span style="color:#990000;">200</span>&#8220;<span style="color:#0000ff;">/&gt;</span></p>
<p style="font:11px Monaco;color:#990000;margin:0;"><span style="color:#000000;"><span style="white-space:pre;"> </span></span><span style="color:#0000ff;">&lt;mx:TextInput</span><span style="color:#000000;"> id=&#8221;</span>input_field<span style="color:#000000;">&#8221; width=&#8221;</span>400<span style="color:#000000;">&#8221; text=&#8221;</span>add feed url here<span style="color:#000000;">&#8220;</span><span style="color:#0000ff;">/&gt;</span></p>
<p style="font:11px Monaco;margin:0;"><span style="white-space:pre;"> </span><span style="color:#0000ff;">&lt;mx:Button</span> id=&#8221;<span style="color:#990000;">enterurl_btn</span>&#8221; label=&#8221;<span style="color:#990000;">Enter URL</span>&#8221; click=&#8221;addNewFeed()&#8221;<span style="color:#0000ff;">/&gt;</span></p>
<p style="font:11px Monaco;color:#0000ff;margin:0;">&lt;/mx:HBox&gt;</p>
<p style="font:11px Monaco;margin:0;">
<p style="font:11px Monaco;margin:0;">
<p style="font:11px Monaco;margin:0;"><span style="font-family:Georgia, 'Times New Roman', 'Bitstream Charter', Times, fantasy;font-size:13px;line-height:19px;"> </span></p>
<p>The addNewFeed function looks like this:</p>
<pre>private function addNewFeed():void
  {
      feed_url = input_field.text;
      _HTTPServiceCall.send();
      var temp_item:Object = new Object();
      temp_item.name = "Custom Entry"
      temp_item.url = "";
      rss_feeds.addItemAt(temp_item,0);
      feedlist_combo.selectedIndex = 0;
  }</pre>
<p>and the full source code is available by right clicking the application at Cluttered Systems.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johnnygod.wordpress.com/152/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johnnygod.wordpress.com/152/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johnnygod.wordpress.com/152/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johnnygod.wordpress.com/152/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/johnnygod.wordpress.com/152/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/johnnygod.wordpress.com/152/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/johnnygod.wordpress.com/152/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/johnnygod.wordpress.com/152/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johnnygod.wordpress.com/152/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johnnygod.wordpress.com/152/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johnnygod.wordpress.com/152/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johnnygod.wordpress.com/152/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johnnygod.wordpress.com/152/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johnnygod.wordpress.com/152/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnygod.wordpress.com&amp;blog=1016879&amp;post=152&amp;subd=johnnygod&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://johnnygod.wordpress.com/2009/07/01/return-to-rss/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/587f3f26fccb28086301e7a369170007?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">johnnygod</media:title>
		</media:content>
	</item>
		<item>
		<title>Video Wall</title>
		<link>http://johnnygod.wordpress.com/2009/06/26/video-wall/</link>
		<comments>http://johnnygod.wordpress.com/2009/06/26/video-wall/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 19:04:34 +0000</pubDate>
		<dc:creator>John Holland</dc:creator>
				<category><![CDATA[Flex Development]]></category>
		<category><![CDATA[actionscript development]]></category>
		<category><![CDATA[adobe flex]]></category>
		<category><![CDATA[flash video]]></category>
		<category><![CDATA[flv wall]]></category>
		<category><![CDATA[video wall]]></category>

		<guid isPermaLink="false">http://johnnygod.wordpress.com/?p=90</guid>
		<description><![CDATA[Before I continue with the discoveries in RSS, it&#8217;s time to explain a little about the Video Wall built in Flex on the CLS site. http://cluttered.flvservers.com/VideoWall You can right click the Flex app at anytime to view the source code. The full project idea is a VideoWall app which allows the user to upload their [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnygod.wordpress.com&amp;blog=1016879&amp;post=90&amp;subd=johnnygod&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Before I continue with the discoveries in RSS, it&#8217;s time to explain a little about the Video Wall built in Flex on the CLS site.<br />
<a href="http://cluttered.flvservers.com/1_projectsflex/one/bin-release/CLS_VideoWall.html">http://cluttered.flvservers.com/VideoWall</a><br />
You can right click the Flex app at anytime to view the source code.<br />
The full project idea is a VideoWall app which allows the user to upload their own videos, or browse for a video on a tube site. The interface will allow recording of all the changes made to the wall throughout the video and playback of their &#8216;mix&#8217;. In addition to switching the number of rows and columns, the user would be able to choose multiple screens per image, for example, the entire video image is divided across 4 x 4 screens (you know, like a TV wall).  But in this, the first version of CLS VideoWall, only the rows and columns are offered, with one demo video, courtesy of Apple, and downsized in Adobe Media Encoder CS4.<span id="more-90"></span></p>
<p>After putting together a VideoSetUp class with connection and stream, et al, I came across a blog by Panta at <a href="http://blog.oaxoa.com/">http://blog.oaxoa.com/</a> who used the Flash FLVPlayback component to build a surprisingly simple video wall. The FLVPlayback component is BitMapDrawable and the VideoScaleMode class with its resize methods allowed a simple translation Matrix to do all the work. Decoupling the rows and columns required a resizeVideo function which divides the width and height by the number of columns if the number of columns is greater the rows, and divides width and height by the number of rows, if the number of rows is greater than columns.</p>
<pre>        <span style="color:#0033ff;font-weight:bold;">private</span> <span style="color:#339966;font-weight:bold;">function</span> <span>resizeVidScreen</span><span>()</span><span>:</span><span style="color:#0033ff;font-weight:bold;">void</span>
        <span>{</span>
            <span style="color:#0033ff;font-weight:bold;">if</span><span>(</span><span>numberOfColumns</span> <span>&gt;</span> <span>numberOfRows</span><span>){</span>
                <span>vid_width</span>        <span>=</span> <span>wall_width</span> <span>/</span> <span>_columns</span>;
                <span>vid_height</span>        <span>=</span> <span>wall_height</span> <span>/</span> <span>_columns</span>;
                <span>video_source</span>.<span>setSize</span><span>(</span><span>vid_width</span>,<span>vid_height</span><span>)</span>;

            <span>}</span><span style="color:#0033ff;font-weight:bold;">else</span> <span style="color:#0033ff;font-weight:bold;">if</span><span>(</span><span>numberOfRows</span> <span>&gt;</span> <span>numberOfColumns</span><span>){</span>
                <span>vid_width</span>        <span>=</span> <span>wall_width</span> <span>/</span> <span>_rows</span>;
                <span>vid_height</span>        <span>=</span> <span>wall_height</span> <span>/</span> <span>_rows</span>;
                <span>video_source</span>.<span>setSize</span><span>(</span><span>vid_width</span>,<span>vid_height</span><span>)</span>;

            <span>}</span><span style="color:#0033ff;font-weight:bold;">else</span><span>{</span>
                <span>vid_width</span>        <span>=</span> <span>wall_width</span> <span>/</span> <span>_columns</span>;
                <span>vid_height</span>        <span>=</span> <span>wall_height</span> <span>/</span> <span>_rows</span>;
                <span>video_source</span>.<span>setSize</span><span>(</span><span>vid_width</span>,<span>vid_height</span><span>)</span>;
            <span>}</span>
            <span>bmp_data</span>.<span>draw</span><span>(</span><span>_background</span><span>)</span>;
        <span>}</span></pre>
<p>With this new functionality, I found that the Bitmap.draw redraws only the new columns or rows and leaves the unchanged area as a still image (of the last frame) of the previous size video. For this I created a black background which is redrawn in the case that the col and rows are uncoupled. Unfortunately the otherwise smooth transitions between view changes is interrupted by this black &#8220;frame&#8221; however brief; that goes on the list of fixes for the next version.</p>
<p>Testing the wall with different sized videos has inspired a few presets for the view size of the video. I decided that if the video is not wider than 220 pixels there is no interest in dividing it along a video wall; if it is between 220 and 320 it will be resized to 320; and anything larger than 320 will show as a video of width 505. The setWallDimensions function covers this.</p>
<pre>        <span style="color:#0033ff;font-weight:bold;">private</span> <span style="color:#339966;font-weight:bold;">function</span> <span>setWallDimensions</span><span>()</span><span>:</span><span style="color:#0033ff;font-weight:bold;">void</span>
        <span>{</span>
            <span style="color:#0033ff;font-weight:bold;">if</span> <span>(</span><span>wall_width</span> <span>&gt;</span> 319<span>){</span>
                <span>wall_width</span>     <span>=</span> 505;
                <span>wall_height</span> <span>=</span> <span>wall_width</span> <span>/</span> <span>aspect_ratio</span>;
            <span>}</span><span style="color:#0033ff;font-weight:bold;">else</span> <span style="color:#0033ff;font-weight:bold;">if</span> <span>((</span><span>wall_width</span> <span>&lt;</span> 319<span>)</span> <span>&amp;&amp;</span> <span>(</span><span>wall_width</span> <span>&gt;</span> 220<span>)){</span>
                <span>wall_width</span> <span>=</span> 320;
                <span>wall_height</span> <span>=</span> <span>wall_width</span> <span>/</span> <span>aspect_ratio</span>;
            <span>}</span><span style="color:#0033ff;font-weight:bold;">else</span> <span style="color:#0033ff;font-weight:bold;">if</span><span>(</span><span>wall_width</span> <span>&lt;</span> 220<span>){</span>

                 <span>Alert</span>.<span>show</span><span>(</span><span style="color:#990000;font-weight:bold;">"Your video's dimensions are too small"</span><span>)</span>;
                 <span style="color:#0033ff;font-weight:bold;">return</span>;
            <span>}</span>
            <span>shift_x</span>        <span>=</span> <span>(</span>540 <span>-</span> <span>wall_width</span><span>)</span> <span>*</span>0.5;
            <span>shift_y</span>        <span>=</span> <span>(</span>395 <span>-</span> <span>wall_height</span><span>)</span> <span>*</span> 0.25;
        <span>}</span></pre>
<p>The onEnterFrameHandler contains the translation Matrix which displays the video frame across the columns and rows once every frame of the swf.</p>
<pre>        <span style="color:#0033ff;font-weight:bold;">private</span> <span style="color:#339966;font-weight:bold;">function</span> <span>onEnterframeHandler</span><span>(</span><span>ev</span><span>:</span><span>Event</span><span>)</span><span>:</span><span style="color:#0033ff;font-weight:bold;">void</span>
        <span>{</span>
            <span style="color:#0033ff;font-weight:bold;">for</span><span>(</span><span style="color:#6699cc;font-weight:bold;">var</span> <span>i</span><span>:</span><span>uint</span><span>=</span>0; <span>i</span><span>&lt;</span><span>_rows</span>;<span>i</span><span>++</span><span>){</span>
                <span style="color:#0033ff;font-weight:bold;">for</span><span>(</span><span style="color:#6699cc;font-weight:bold;">var</span> <span>j</span><span>:</span><span>uint</span><span>=</span>0; <span>j</span><span>&lt;</span><span>_columns</span>;<span>j</span><span>++</span><span>){</span>

                    <span style="color:#6699cc;font-weight:bold;">var</span> <span>_matrix</span><span>:</span><span>Matrix</span>    <span>=</span> <span style="color:#0033ff;font-weight:bold;">new</span> <span>Matrix</span><span>()</span>;
                    <span>_matrix</span>.<span>translate</span><span>(</span><span>j</span><span>*</span><span>vid_width</span>, <span>i</span><span>*</span><span>vid_height</span><span>)</span>;
                    <span>bmp_data</span>.<span>draw</span><span>(</span><span>video_source</span>,<span>_matrix</span><span>)</span>;
                <span>}</span>
            <span>}</span>
        <span>}</span></pre>
<p>In the mxml a UIcomponent named videowall_container holds the _videowall which is an instance of the VideoWall.as class. The properties numberOfColumns, numberOfRows, shiftX, shiftY, and videoURL are available to the VideoWall.as class. Both NumericSteppers call the columnChange function upon change.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johnnygod.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johnnygod.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johnnygod.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johnnygod.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/johnnygod.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/johnnygod.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/johnnygod.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/johnnygod.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johnnygod.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johnnygod.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johnnygod.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johnnygod.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johnnygod.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johnnygod.wordpress.com/90/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnygod.wordpress.com&amp;blog=1016879&amp;post=90&amp;subd=johnnygod&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://johnnygod.wordpress.com/2009/06/26/video-wall/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/587f3f26fccb28086301e7a369170007?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">johnnygod</media:title>
		</media:content>
	</item>
		<item>
		<title>Working With / Against RSS</title>
		<link>http://johnnygod.wordpress.com/2009/06/20/if-i-add-a-post-where-does-it-go/</link>
		<comments>http://johnnygod.wordpress.com/2009/06/20/if-i-add-a-post-where-does-it-go/#comments</comments>
		<pubDate>Sat, 20 Jun 2009 15:01:35 +0000</pubDate>
		<dc:creator>John Holland</dc:creator>
				<category><![CDATA[Flex Development]]></category>

		<guid isPermaLink="false">http://johnnygod.wordpress.com/?p=36</guid>
		<description><![CDATA[Having no experience with web feed formats and rss readers, I set out to create my own rss reader. The first puzzle seemed to be that feed urls come in many forms, ending in  .xml, .rss,  and others : rss/rss.php?id=1006  seem to be any manner of link which (I imagine) points to an xml file in the end. One question was : Do good aggregators manage all of these different url forms?<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnygod.wordpress.com&amp;blog=1016879&amp;post=36&amp;subd=johnnygod&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Having no experience with web feed formats and rss readers, I set out to create my own rss reader. The first puzzle seemed to be that feed urls come in many forms, ending in  .xml, .rss,  and others : rss/rss.php?id=1006  seem to be any manner of link which (I imagine) points to an xml file in the end. One question was : Do good aggregators manage all of these different url forms? The HTTPService in Flex has disapproved of many of these links, throwing warnings or compile errors, yet seems to accept them and process them at runtime.<span id="more-36"></span></p>
<p>The resulting file can be in the &lt;rss&gt;&lt;channel&gt;&lt;item&gt; form, or, often, a long page of html tags, apparently an rss to html feed; Twitter feeds return &lt;statuses type=&#8221;array&#8221;&gt; , other feeds resulted in other tags. One puzzling characteristic of the subscription url is that it often returns the html tags (page) if we look at event.result but returns the rss channel.item if we look at event.result.RDF.item .. . Flex Builder and Flash Builder, allow me to view the returned data in debug mode, in the variables window, of course, but I was expecting the reverse: an XML file beginning with the:  ?xml version=&#8221;1.0&#8243;  rss version 2.0, etc. , at event.result and maybe an html version if we drill down into the data returned by the feed. (I know, maybe I just don’t get it) but if the return property of the httpService is set to e4x, the xml we trace at event.result is almost always the html page, if we allow the default return in the form of an ArrayCollection, event.result.rdf is null and event.result.rdf.item returns the entire rss feed.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johnnygod.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johnnygod.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johnnygod.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johnnygod.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/johnnygod.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/johnnygod.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/johnnygod.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/johnnygod.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johnnygod.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johnnygod.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johnnygod.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johnnygod.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johnnygod.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johnnygod.wordpress.com/36/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnygod.wordpress.com&amp;blog=1016879&amp;post=36&amp;subd=johnnygod&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://johnnygod.wordpress.com/2009/06/20/if-i-add-a-post-where-does-it-go/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/587f3f26fccb28086301e7a369170007?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">johnnygod</media:title>
		</media:content>
	</item>
	</channel>
</rss>
