<?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"
	>

<channel>
	<title>Joseph Labrecque</title>
	<atom:link href="http://josephlabrecque.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://josephlabrecque.com</link>
	<description>In Flagrante Delicto!</description>
	<pubDate>Wed, 30 Jul 2008 14:58:08 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<item>
		<title>Who Wants a DropBox Invite?</title>
		<link>http://josephlabrecque.com/2008/07/who-wants-a-dropbox-invite/</link>
		<comments>http://josephlabrecque.com/2008/07/who-wants-a-dropbox-invite/#comments</comments>
		<pubDate>Wed, 30 Jul 2008 14:57:37 +0000</pubDate>
		<dc:creator>Joseph Labrecque</dc:creator>
		
		<category><![CDATA[Services]]></category>

		<category><![CDATA[DropBox]]></category>

		<guid isPermaLink="false">http://josephlabrecque.com/?p=231</guid>
		<description><![CDATA[I recently picked up a DropBox invite from Richard Davies (thanks Richard!) and the service is an unbelievably nice experience.  I&#8217;ve got it linked to a few of my machines and it makes file sync very, very easy.
If you are unaware of what DropBox is, I&#8217;d suggest having a quick look at their overview video.  [...]]]></description>
			<content:encoded><![CDATA[<p>I recently picked up a <a href="http://www.getdropbox.com/">DropBox</a> invite from <a href="http://www.richarddavies.us/">Richard Davies</a> (thanks Richard!) and the service is an unbelievably nice experience.  I&#8217;ve got it linked to a few of my machines and it makes file sync very, very easy.</p>
<p>If you are unaware of what DropBox is, I&#8217;d suggest having a quick look at their <a href="http://www.getdropbox.com/">overview video</a>.  I have found it to be an excellent service and highly recommend it!</p>
<p>If anyone wants an invite- I have a few left so just leave a comment below!</p>
]]></content:encoded>
			<wfw:commentRss>http://josephlabrecque.com/2008/07/who-wants-a-dropbox-invite/feed/</wfw:commentRss>
		</item>
		<item>
		<title>DU Visual Media Center Weblog</title>
		<link>http://josephlabrecque.com/2008/07/du-visual-media-center-weblog/</link>
		<comments>http://josephlabrecque.com/2008/07/du-visual-media-center-weblog/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 20:44:59 +0000</pubDate>
		<dc:creator>Joseph Labrecque</dc:creator>
		
		<category><![CDATA[AIR]]></category>

		<category><![CDATA[ActionScript]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[Professional Work]]></category>

		<category><![CDATA[DU]]></category>

		<guid isPermaLink="false">http://josephlabrecque.com/?p=212</guid>
		<description><![CDATA[I&#8217;m taking a moment to highlight the Visual Media Center at the University of Denver and the relatively new weblog maintained by its Director, Leslie Trumble.

The VMC works very closely with those of us on the DU VAGA development team and most of the feedback we receive about the application originates with users from this [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m taking a moment to highlight the <a href="http://www.du.edu/art/undergraduate/UGvmc.htm">Visual Media Center</a> at the <a href="http://www.du.edu/">University of Denver</a> and the relatively new <a href="http://duvmc.wordpress.com/">weblog</a> maintained by its Director, Leslie Trumble.</p>
<p><a href="http://duvmc.wordpress.com/"><img class="alignnone size-full wp-image-213" title="Unmasked" src="http://josephlabrecque.com/wp-content/uploads/2008/07/unmasked.jpg" alt="" width="500" height="336" /></a></p>
<p>The VMC works very closely with those of us on the <a href="http://vaga.du.edu/">DU VAGA</a> development team and most of the feedback we receive about the application originates with users from this area.  This week, Leslie writes about two pretty large additions to the application environment; the inclusion of <a href="http://www.piclens.com/">PicLens</a> on digital object search results,  and a standalone application that I&#8217;ve been heavily involved in this summer called the <em><strong>DU VAGA Projection System</strong></em>.</p>
<p>What may be of interest to most of my readers is that the DU VAGA Projection System [VPS] is written using Flex and ActionScript 3 for deployment via <a href="http://www.adobe.com/products/air/">Adobe AIR</a>.  Though it is not the first application from the university built for the AIR runtime (see the <a href="http://www.du.edu/art/galleries/myhren/exhibitions/Fridlyand%20Page.html">Fridlyand</a> Kiosk software), it is certainly the most complex.</p>
<p>The software takes advantage of a few AIR-specific capabilities including the ability to integrate with the operating system in terms of hardware discovery (and the flexibility to adapt to various configurations), the power to read and write files to a local hard drive, and extensive use of windowing technology.  This application also makes heavy use of <a href="http://www.adobe.com/products/coldfusion/">Coldfusion 8</a> and <a href="http://www.adobe.com/products/flashmediaserver/">Flash Media Server 3</a>.</p>
<p>I may be writing more on this software and other efforts at the university in the near future.  In fact, many of my <a href="http://josephlabrecque.com/2008/07/creating-a-splash-screen-in-air/">recent</a> <a href="http://josephlabrecque.com/2008/06/clientvideosampleaccess-false-negative/">posts</a> were born directly from work on this specific project.</p>
<p><strong>Visit <a href="http://duvmc.wordpress.com/">Unmasked</a>.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://josephlabrecque.com/2008/07/du-visual-media-center-weblog/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Creating a Splash Screen in AIR</title>
		<link>http://josephlabrecque.com/2008/07/creating-a-splash-screen-in-air/</link>
		<comments>http://josephlabrecque.com/2008/07/creating-a-splash-screen-in-air/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 14:19:10 +0000</pubDate>
		<dc:creator>Joseph Labrecque</dc:creator>
		
		<category><![CDATA[AIR]]></category>

		<category><![CDATA[ActionScript]]></category>

		<category><![CDATA[Flash]]></category>

		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://josephlabrecque.com/?p=167</guid>
		<description><![CDATA[A lot of desktop apps have a splash screen that brands the application while it is loading or performing other processes in the background.  Adobe AIR does not have a direct mechanism for this- but the feature can be easily achieved with some nice windowing action.

There are a number of steps to take when [...]]]></description>
			<content:encoded><![CDATA[<p>A lot of desktop apps have a splash screen that brands the application while it is loading or performing other processes in the background.  Adobe AIR does not have a direct mechanism for this- but the feature can be easily achieved with some nice windowing action.</p>
<p><a href="http://josephlabrecque.com/wp-content/uploads/2008/07/splashexample.jpg"><img class="size-full wp-image-200 alignnone" title="Splash Example" src="http://josephlabrecque.com/wp-content/uploads/2008/07/splashexample.jpg" alt="" width="500" height="330" /></a></p>
<p>There are a number of steps to take when preparing your app for this sort of thing.  This example was adapted from a much larger application and there may also be some imports and properties that are not necessary for our narrow purpose here.  I&#8217;m sure my method is not the only one and I&#8217;m not saying it&#8217;s perfect either!   Taking the following steps should produce a similar result though:</p>
<p><strong>1)</strong> Edit your application descriptor file to set the initial main application window x and y positions off screen.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="xml"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- The window's initial x position. Optional. --&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;x<span style="font-weight: bold; color: black;">&gt;</span></span></span>-1000<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/x<span style="font-weight: bold; color: black;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- The window's initial y position. Optional. --&gt;</span></span>
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;y<span style="font-weight: bold; color: black;">&gt;</span></span></span>-1000<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/y<span style="font-weight: bold; color: black;">&gt;</span></span></span></pre></td></tr></table></div>

<p><strong>2)</strong> I have also set an applicationComplete event within the WindowedApplication node.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="xml"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;mx:WindowedApplication</span> <span style="color: #000066;">xmlns:mx</span>=<span style="color: #ff0000;">&quot;http://www.adobe.com/2006/mxml&quot;</span> <span style="color: #000066;">xmlns:custom</span>=<span style="color: #ff0000;">&quot;components.*&quot;</span> 
	<span style="color: #000066;">layout</span>=<span style="color: #ff0000;">&quot;absolute&quot;</span> <span style="color: #000066;">horizontalScrollPolicy</span>=<span style="color: #ff0000;">&quot;off&quot;</span> <span style="color: #000066;">verticalScrollPolicy</span>=<span style="color: #ff0000;">&quot;off&quot;</span> 
	<span style="color: #000066;">showFlexChrome</span>=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="color: #000066;">applicationComplete</span>=<span style="color: #ff0000;">&quot;{init()}&quot;</span> <span style="color: #000066;">currentState</span>=<span style="color: #ff0000;">&quot;SplashState&quot;</span><span style="font-weight: bold; color: black;">&gt;</span></span></pre></td></tr></table></div>

<p><strong>3)</strong> The init function reads as follow:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
</pre></td><td class="code"><pre class="actionscript"><span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> init<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
	mainWindow = <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">stage</span>.<span style="color: #006600;">nativeWindow</span>;
&nbsp;
	<span style="color: #000000; font-weight: bold;">var</span> splashWindowinitOptions:NativeWindowInitOptions = <span style="color: #000000; font-weight: bold;">new</span> NativeWindowInitOptions<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	splashWindowinitOptions.<span style="color: #006600;">transparent</span> = <span style="color: #000000; font-weight: bold;">true</span>;
	splashWindowinitOptions.<span style="color: #006600;">systemChrome</span> = NativeWindowSystemChrome.<span style="color: #006600;">NONE</span>;
	splashWindowinitOptions.<span style="color: #0066CC;">type</span> = NativeWindowType.<span style="color: #006600;">UTILITY</span>;
&nbsp;
	splashWindow = <span style="color: #000000; font-weight: bold;">new</span> NativeWindow<span style="color: #66cc66;">&#40;</span>splashWindowinitOptions<span style="color: #66cc66;">&#41;</span>;
	splashWindow.<span style="color: #006600;">title</span> = <span style="color: #ff0000;">&quot;Splash Example&quot;</span>;
&nbsp;
	appSplash = <span style="color: #000000; font-weight: bold;">new</span> SplashScreen<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	hiddenCanvas.<span style="color: #006600;">addChild</span><span style="color: #66cc66;">&#40;</span>appSplash<span style="color: #66cc66;">&#41;</span>;
	hiddenCanvas.<span style="color: #006600;">removeChild</span><span style="color: #66cc66;">&#40;</span>appSplash<span style="color: #66cc66;">&#41;</span>;
&nbsp;
	splashWindow.<span style="color: #0066CC;">stage</span>.<span style="color: #0066CC;">scaleMode</span> = <span style="color: #ff0000;">'noScale'</span>;
	splashWindow.<span style="color: #0066CC;">stage</span>.<span style="color: #0066CC;">align</span> = <span style="color: #ff0000;">'topLeft'</span>;
	splashWindow.<span style="color: #0066CC;">stage</span>.<span style="color: #006600;">addChild</span><span style="color: #66cc66;">&#40;</span>appSplash<span style="color: #66cc66;">&#41;</span>;
	splashWindow.<span style="color: #006600;">x</span> = Screen.<span style="color: #006600;">mainScreen</span>.<span style="color: #006600;">visibleBounds</span>.<span style="color: #0066CC;">width</span><span style="color: #66cc66;">/</span><span style="color: #cc66cc;">2</span> - <span style="color: #cc66cc;">300</span>;
	splashWindow.<span style="color: #006600;">y</span> = Screen.<span style="color: #006600;">mainScreen</span>.<span style="color: #006600;">visibleBounds</span>.<span style="color: #0066CC;">height</span><span style="color: #66cc66;">/</span><span style="color: #cc66cc;">2</span> - <span style="color: #cc66cc;">200</span>;
	splashWindow.<span style="color: #0066CC;">width</span> = <span style="color: #cc66cc;">600</span>;
	splashWindow.<span style="color: #0066CC;">height</span> = <span style="color: #cc66cc;">400</span>;
	splashWindow.<span style="color: #006600;">activate</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
	mainWindow.<span style="color: #0066CC;">visible</span> = <span style="color: #000000; font-weight: bold;">false</span>;
&nbsp;
	splashTimer = <span style="color: #000000; font-weight: bold;">new</span> Timer<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1000</span>, <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>;
	splashTimer.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>TimerEvent.<span style="color: #006600;">TIMER_COMPLETE</span>, removeSplash<span style="color: #66cc66;">&#41;</span>;
	splashTimer.<span style="color: #0066CC;">start</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
	<span style="color: #0066CC;">this</span>.<span style="color: #006600;">removeEventListener</span><span style="color: #66cc66;">&#40;</span>FlexEvent.<span style="color: #006600;">APPLICATION_COMPLETE</span>, init<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>The NativeWindowInitOptions are hugely important as they will render the window chromeless and transparent.</p>
<p>&#8220;SplashScreen&#8221; is a custom component which simply holds material for display- such as an image or text or whatever you want users to see as a visible splash screen.</p>
<p>Since I am using the ActionScript NativeWindow class here and not the Flex Window component, we must add the display object first to a hidden element in our Flex application.  It&#8217;s weird but is something you must do if you want your splash screen to be visible when doing it this way.</p>
<p>We then activate our splash window and make the main app window invisible.  In the case of this example, I have a timer that runs to determine when to remove the splash screen and bring up the main app window.  In most cases, this would instead be reliant on some background process such as a data load.</p>
<p><strong>4)</strong> Next comes the function that fires when we want to remove the splash screen and start using our app.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
</pre></td><td class="code"><pre class="actionscript"><span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> removeSplash<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:TimerEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
	mainWindow.<span style="color: #006600;">x</span> = Screen.<span style="color: #006600;">mainScreen</span>.<span style="color: #006600;">visibleBounds</span>.<span style="color: #0066CC;">width</span><span style="color: #66cc66;">/</span><span style="color: #cc66cc;">2</span> - mainWindow.<span style="color: #0066CC;">width</span><span style="color: #66cc66;">/</span><span style="color: #cc66cc;">2</span>;
	mainWindow.<span style="color: #006600;">y</span> = Screen.<span style="color: #006600;">mainScreen</span>.<span style="color: #006600;">visibleBounds</span>.<span style="color: #0066CC;">height</span><span style="color: #66cc66;">/</span><span style="color: #cc66cc;">2</span> - mainWindow.<span style="color: #0066CC;">height</span><span style="color: #66cc66;">/</span><span style="color: #cc66cc;">2</span>;
&nbsp;
	mainWindow.<span style="color: #0066CC;">visible</span> = <span style="color: #000000; font-weight: bold;">true</span>;
	mainWindow.<span style="color: #006600;">activate</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
	splashWindow.<span style="color: #0066CC;">stage</span>.<span style="color: #006600;">removeChild</span><span style="color: #66cc66;">&#40;</span>appSplash<span style="color: #66cc66;">&#41;</span>;
	splashWindow.<span style="color: #0066CC;">close</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	splashWindow = <span style="color: #000000; font-weight: bold;">null</span>;
&nbsp;
	currentState = <span style="color: #ff0000;">&quot;LoadedState&quot;</span>;
	splashTimer.<span style="color: #0066CC;">stop</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	splashTimer.<span style="color: #006600;">removeEventListener</span><span style="color: #66cc66;">&#40;</span>TimerEvent.<span style="color: #006600;">TIMER_COMPLETE</span>, removeSplash<span style="color: #66cc66;">&#41;</span>;
	splashTimer = <span style="color: #000000; font-weight: bold;">null</span>;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>So, we reset reposition the main window onto the screen, render it visible again, and activate it.  This will cause it to spring to life and now the app is running for our user.  We then perform some cleanup routines on the splash screen and timer objects so they will not linger in memory any longer.</p>
<p>There we have it!  I&#8217;ve made the source available as a <a href="http://josephlabrecque.com/wp-content/uploads/2008/07/splashair.zip">Flex Project Archive</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://josephlabrecque.com/2008/07/creating-a-splash-screen-in-air/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Client.videoSampleAccess False-Negative</title>
		<link>http://josephlabrecque.com/2008/06/clientvideosampleaccess-false-negative/</link>
		<comments>http://josephlabrecque.com/2008/06/clientvideosampleaccess-false-negative/#comments</comments>
		<pubDate>Thu, 19 Jun 2008 13:51:59 +0000</pubDate>
		<dc:creator>Joseph Labrecque</dc:creator>
		
		<category><![CDATA[ActionScript]]></category>

		<category><![CDATA[Flash Media Server]]></category>

		<category><![CDATA[Video]]></category>

		<category><![CDATA[FMS]]></category>

		<guid isPermaLink="false">http://josephlabrecque.com/?p=164</guid>
		<description><![CDATA[In past versions of FMS, developers were barred from accessing raw audio and video data over RTMP and had to resort to a number of hacks and proxies to get around the restriction.  As time went by and new versions of the Flash Player were released, a lot of these loopholes were blocked as well.
With [...]]]></description>
			<content:encoded><![CDATA[<p>In past versions of FMS, developers were barred from accessing raw audio and video data over RTMP and had to resort to a number of hacks and proxies to get around the restriction.  As time went by and new versions of the Flash Player were released, a lot of these loopholes were blocked as well.</p>
<p>With FMS3, there is <a href="http://www.adobe.com/livedocs/flashmediaserver/3.0/hpdocs/help.html?content=00000277.html">Client.videoSampleAccess</a>: a property of the Flash Media Server 3 that allows direct access to raw stream data for video use (&#8221;audioSampleAccess&#8221; for audio).  This can be used for things like producing visual audio spectrums or grabbing a still from a video stream.  It is applied within the onConnect method of the Application server class as demonstrated here:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="actionscript">appClient.<span style="color: #006600;">audioSampleAccess</span> = <span style="color: #ff0000;">&quot;/&quot;</span>;
appClient.<span style="color: #006600;">videoSampleAccess</span> = <span style="color: #ff0000;">&quot;/&quot;</span>;</pre></td></tr></table></div>

<p>In the above example, the &#8220;/&#8221; signifies that any streams within the application directory are allowed to be sampled in this way.  You can also specify a semicolon-delimited list of folder names instead if you need to be picky.</p>
<p><a href="http://josephlabrecque.com/wp-content/uploads/2008/06/vaga-project-thumbs.png"><img class="alignnone size-full wp-image-166" title="Projection" src="http://josephlabrecque.com/wp-content/uploads/2008/06/vaga-project-thumbs.png" alt="" width="400" height="200" /></a></p>
<p>Something I came across today and the whole point of this post: even when you have Client.videoSampleAccess set up properly on Flash Media Server, you will still receive a security sandbox violation error #2123 if the stream data is not available.  This can easily happen if you have a timer invoking BitmapData.draw every few milliseconds on loading content.</p>
<p>One way to get around this is using NetStatusEvent.NET_STATUS making sure it reports &#8220;NetStream.Buffer.Full&#8221; before attempting to access the stream data.  Depending on what you are doing, you can oftentimes check the object recieving the stream data to be sure it is accessible first.  this all seems really obvious now, but threw me for a bit of a loop, initially.</p>
]]></content:encoded>
			<wfw:commentRss>http://josephlabrecque.com/2008/06/clientvideosampleaccess-false-negative/feed/</wfw:commentRss>
		</item>
		<item>
		<title>&#8220;A Prison of Oneself&#8221; Update - Now at Vendetta!</title>
		<link>http://josephlabrecque.com/2008/06/a-prison-of-oneself-update-now-at-vendetta/</link>
		<comments>http://josephlabrecque.com/2008/06/a-prison-of-oneself-update-now-at-vendetta/#comments</comments>
		<pubDate>Thu, 19 Jun 2008 00:07:09 +0000</pubDate>
		<dc:creator>Joseph Labrecque</dc:creator>
		
		<category><![CDATA[Business]]></category>

		<category><![CDATA[Music]]></category>

		<category><![CDATA[sales]]></category>

		<guid isPermaLink="false">http://josephlabrecque.com/?p=165</guid>
		<description><![CDATA[Vendetta Music is a neat independent music store located in Denver, CO off Broadway and Bayaud.  They carry a lot of unique pieces and now &#8220;A Prison of Oneself&#8221; can be purchased there as well:

Special thanks to Jesse Sola of Numina for hooking me up with this great location.
As a side note; &#8220;Prison&#8221; can also [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://vendetta-music.com/">Vendetta Music</a> is a neat independent music store located in Denver, CO off Broadway and Bayaud.  They carry a lot of unique pieces and now &#8220;A Prison of Oneself&#8221; can be purchased there as well:</p>
<p><a href="http://josephlabrecque.com/wp-content/uploads/2008/06/cover250.png"><img class="alignnone size-thumbnail wp-image-137" title="A Prison of Oneself" src="http://josephlabrecque.com/wp-content/uploads/2008/06/cover250-150x150.png" alt="" width="150" height="150" /></a></p>
<p>Special thanks to <a href="http://en.wikipedia.org/wiki/Jesse_Sola">Jesse Sola</a> of <a href="http://www.numinamusic.com/">Numina</a> for hooking me up with this great location.</p>
<p>As a side note; &#8220;Prison&#8221; can also be purchased at <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewAlbum?id=272017057&amp;s=143441">iTunes</a>, <a href="http://www.amazon.com/A-Prison-of-Oneself/dp/B00193EE0Y/ref=sr_f3_1?ie=UTF8&amp;s=dmusic&amp;qid=1210277961&amp;sr=103-1">Amazon</a>, <a href="http://cdbaby.com/cd/aemld">CDBaby</a> and many others&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://josephlabrecque.com/2008/06/a-prison-of-oneself-update-now-at-vendetta/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Flex Builder 3 - &#8220;Building Workspace&#8221; Limbo</title>
		<link>http://josephlabrecque.com/2008/06/flex-builder-3-building-workspace-limbo/</link>
		<comments>http://josephlabrecque.com/2008/06/flex-builder-3-building-workspace-limbo/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 14:23:31 +0000</pubDate>
		<dc:creator>Joseph Labrecque</dc:creator>
		
		<category><![CDATA[AIR]]></category>

		<category><![CDATA[Flex]]></category>

		<category><![CDATA[problem]]></category>

		<guid isPermaLink="false">http://josephlabrecque.com/?p=162</guid>
		<description><![CDATA[I have this problem with Flex Builder 3.  If I have &#8220;Build Automatically&#8221; checked under &#8220;Project&#8221;, my workspace gets stuck in this &#8220;Building Workspace&#8221; limbo and can never lauch any projects for testing unless I toggle this setting back off.

I&#8217;ve had the feature disabled for a few months now, but with the release of AIR [...]]]></description>
			<content:encoded><![CDATA[<p>I have this problem with Flex Builder 3.  If I have &#8220;Build Automatically&#8221; checked under &#8220;Project&#8221;, my workspace gets stuck in this &#8220;Building Workspace&#8221; limbo and can never lauch any projects for testing unless I toggle this setting back off.</p>
<p><a href="http://josephlabrecque.com/wp-content/uploads/2008/06/buildauto.png"><img class="alignnone size-full wp-image-163" title="Build Automatically" src="http://josephlabrecque.com/wp-content/uploads/2008/06/buildauto.png" alt="" width="500" height="120" /></a></p>
<p>I&#8217;ve had the feature disabled for a few months now, but with the release of AIR 1.1 and the Flex 3.0.2 SDK, I decided to try and enable it again.  Unfortuanately, this has had no affect on this particular issue- so it must be more FB-related than SDK-related.</p>
<p>If anyone has any insight on this issue- I&#8217;m all ears.</p>
]]></content:encoded>
			<wfw:commentRss>http://josephlabrecque.com/2008/06/flex-builder-3-building-workspace-limbo/feed/</wfw:commentRss>
		</item>
		<item>
		<title>AIR: Window vs. NativeWindow</title>
		<link>http://josephlabrecque.com/2008/06/air-window-vs-nativewindow/</link>
		<comments>http://josephlabrecque.com/2008/06/air-window-vs-nativewindow/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 14:20:15 +0000</pubDate>
		<dc:creator>Joseph Labrecque</dc:creator>
		
		<category><![CDATA[AIR]]></category>

		<category><![CDATA[ActionScript]]></category>

		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://josephlabrecque.com/?p=160</guid>
		<description><![CDATA[This one threw me for a loop.  So I&#8217;ve been using the flash.display.NativeWindow class to create new windows in AIR (via Flex) since the beta releases.  Historically, this has been a pain when you want to add MXML components to the native window as addChild() does not work with the NativeWindow class unless that child [...]]]></description>
			<content:encoded><![CDATA[<p>This one threw me for a loop.  So I&#8217;ve been using the flash.display.NativeWindow class to create new windows in AIR (via Flex) since the beta releases.  Historically, this has been a pain when you want to add MXML components to the native window as addChild() does not work with the NativeWindow class unless that child object is first added to some other MXML container.  Somewhat of a pain, in practice.</p>
<p>Apparently, the mx.core.Window class was added in AIR 1.0 to resolve this problem.  The Window class is a sort of UIComponent wrapper for a NativeWindow.  This allows you to add other components directly to the Window through addChild().  Though in my particular situation, it simply caused more issues as the Window component class seems to inherit the properties of your initial application window somewhat- therefore, if you are trying to generate chromeless, transparent windows in a standard application interface&#8230; you can&#8217;t.</p>
<p><a href="http://josephlabrecque.com/wp-content/uploads/2008/06/window.png"><img class="alignnone size-full wp-image-161" title="NativeWindow" src="http://josephlabrecque.com/wp-content/uploads/2008/06/window.png" alt="" width="397" height="133" /></a></p>
<p>In the end, I find flash.display.NativeWindow a lot more flexible than mx.core.Window&#8230; and it is most likely a bit lighter in terms of the codebase as well.  The Window class may be a good option in some situations, and it&#8217;s really good to know that it exists.  You can never have too many options!</p>
]]></content:encoded>
			<wfw:commentRss>http://josephlabrecque.com/2008/06/air-window-vs-nativewindow/feed/</wfw:commentRss>
		</item>
		<item>
		<title>New Updates</title>
		<link>http://josephlabrecque.com/2008/06/new-updates/</link>
		<comments>http://josephlabrecque.com/2008/06/new-updates/#comments</comments>
		<pubDate>Thu, 05 Jun 2008 02:06:10 +0000</pubDate>
		<dc:creator>Joseph Labrecque</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://josephlabrecque.com/?p=136</guid>
		<description><![CDATA[I&#8217;m really excited about a lot of developments that have been happening over the past few weeks and into the next few months!  This has prompted me to resurrect this website and begin posting again.
So&#8230; just a quick notification that the site will be updated soon with the expectation of regular, informative, and hopefully interesting [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m really excited about a lot of developments that have been happening over the past few weeks and into the next few months!  This has prompted me to resurrect this website and begin posting again.</p>
<p>So&#8230; just a quick notification that the site will be updated soon with the expectation of regular, informative, and hopefully interesting commentary and useful information.</p>
]]></content:encoded>
			<wfw:commentRss>http://josephlabrecque.com/2008/06/new-updates/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Flash Media Interactive Server 3</title>
		<link>http://josephlabrecque.com/2008/02/flash-media-interactive-server-3/</link>
		<comments>http://josephlabrecque.com/2008/02/flash-media-interactive-server-3/#comments</comments>
		<pubDate>Tue, 19 Feb 2008 04:33:31 +0000</pubDate>
		<dc:creator>Joseph Labrecque</dc:creator>
		
		<category><![CDATA[Flash Media Server]]></category>

		<guid isPermaLink="false">http://josephlabrecque.com/blog/2008/02/18/flash-media-interactive-server-3/</guid>
		<description><![CDATA[We&#8217;ve been running Flash Media Interactive Server 3 for over two weeks now on one of our media servers and I couldn&#8217;t be happier with the results.  I was going to put off the upgrade from FMS2 for a few months while testing and waiting on a point release, but after having so many [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve been running Flash Media Interactive Server 3 for over two weeks now on one of our media servers and I couldn&#8217;t be happier with the results.  I was going to put off the upgrade from FMS2 for a few months while testing and waiting on a point release, but after having so many issues with FMS2 and with the security patch released last week, decided to just push ahead.</p>
<p>I&#8217;d recommend anyone having weird issues with FMS2 to upgrade as soon as you possibly can.  It only takes about 15 minutes and will preserve all your current applications.  I did need to update some of my client SWFs- but only because of how much more accurate this new version is.</p>
<p>While I had to continually monitor FMS2 for various problems, this new server has been nothing but stable, fast, and just a great performer all-around!  I am honestly so pleased with the results that I want to give a general &#8216;thanks&#8217; to the team involved in this latest release.  You have taken a load off my shoulders!</p>
]]></content:encoded>
			<wfw:commentRss>http://josephlabrecque.com/2008/02/flash-media-interactive-server-3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Remoting through Flex with Coldfusion</title>
		<link>http://josephlabrecque.com/2008/01/remoting-through-flex-with-coldfusion/</link>
		<comments>http://josephlabrecque.com/2008/01/remoting-through-flex-with-coldfusion/#comments</comments>
		<pubDate>Tue, 08 Jan 2008 21:52:56 +0000</pubDate>
		<dc:creator>Joseph Labrecque</dc:creator>
		
		<category><![CDATA[ActionScript]]></category>

		<category><![CDATA[Coldfusion]]></category>

		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://josephlabrecque.com/blog/2008/01/08/remoting-through-flex-with-coldfusion/</guid>
		<description><![CDATA[I&#8217;m used to setting the ObjectEncoding to AMF0 when working with Flash Media Server 2, but haven&#8217;t realized till now that I also am required to do this when communicating with Coldfusion 8 through remoting:

1
2
3
import flash.net.NetConnection;
import flash.net.ObjectEncoding;
NetConnection.defaultObjectEncoding = flash.net.ObjectEncoding.AMF0;

The error &#8220;Unknown object type tag (17)&#8221; was being generated by CF8 as I attempted to pass [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m used to setting the ObjectEncoding to AMF0 when working with Flash Media Server 2, but haven&#8217;t realized till now that I also am required to do this when communicating with Coldfusion 8 through remoting:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="actionscript"><span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">net</span>.<span style="color: #0066CC;">NetConnection</span>;
<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">net</span>.<span style="color: #006600;">ObjectEncoding</span>;
<span style="color: #0066CC;">NetConnection</span>.<span style="color: #006600;">defaultObjectEncoding</span> = flash.<span style="color: #006600;">net</span>.<span style="color: #006600;">ObjectEncoding</span>.<span style="color: #006600;">AMF0</span>;</pre></td></tr></table></div>

<p>The error &#8220;Unknown object type tag (17)&#8221; was being generated by CF8 as I attempted to pass an Object in AS3 over remoting to CF8 interpreted as a Structure.  Apparently, there is also the need to wrap any such Object within a container Object for it to be properly read by the CFC:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="actionscript"><span style="color: #000000; font-weight: bold;">var</span> wrapper:<span style="color: #0066CC;">Object</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Object</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
wrapper.<span style="color: #006600;">submissionObject</span> = submissionObject;
submissionResponder = <span style="color: #000000; font-weight: bold;">new</span> Responder<span style="color: #66cc66;">&#40;</span>onSubmissionResult, onSubmissionError<span style="color: #66cc66;">&#41;</span>;
testConnection.<span style="color: #0066CC;">call</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;some.cfc.Test&quot;</span>, submissionResponder, wrapper<span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>

<p>The CFC function expects a Structure named &#8220;submissionObject&#8221; in this case.</p>
<p>I hope this is helpful for someone- I had a hell of a time digging up this information.</p>
]]></content:encoded>
			<wfw:commentRss>http://josephlabrecque.com/2008/01/remoting-through-flex-with-coldfusion/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
