<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ajar Productions</title>
	<atom:link href="http://ajarproductions.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://ajarproductions.com/blog</link>
	<description>Animation &#124; Design &#124; Development</description>
	<lastBuildDate>Tue, 15 May 2012 19:19:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Character and Mouth Packs for Animation</title>
		<link>http://ajarproductions.com/blog/2012/05/15/character-and-mouth-packs-for-animation/</link>
		<comments>http://ajarproductions.com/blog/2012/05/15/character-and-mouth-packs-for-animation/#comments</comments>
		<pubDate>Tue, 15 May 2012 19:01:08 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[animation]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[lipsync]]></category>

		<guid isPermaLink="false">http://ajarproductions.com/blog/?p=1210</guid>
		<description><![CDATA[I&#8217;ve had a couple of people write me about pre-built mouth shapes for use with SmartMouth. SmartMouth is built with the principle of flexibility in mind, so it relies on the content created by the animator. Since receiving inquiries about pre-built mouth shapes, I&#8217;ve given more thought to the wide range of people using SmartMouth, [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had a couple of people write me about pre-built mouth shapes for use with <a title="SmartMouth product page" href="http://smartmouth.ajarproductions.com" target="_blank">SmartMouth</a>. SmartMouth is built with the principle of flexibility in mind, so it relies on the content created by the animator. Since receiving inquiries about pre-built mouth shapes, I&#8217;ve given more thought to the wide range of people using SmartMouth, from professional animators in studios, to less-experienced users seeking an easy way to add character animation to their projects.</p>
<p>I had assumed there must be tons free character and mouth packs on the net, but alas I could only find 2. The <a title="Free lip sync pack" href="http://active.tutsplus.com/freebies/exclusive/quick-freebie-lip-sync-assets/" target="_blank">first pack</a> is totally free, and was used by <a title="MJW profile page" href="http://active.tutsplus.com/author/michael-williams/" target="_blank">Michael James Williams</a> in his <a title="SmartMouth review" href="http://active.tutsplus.com/articles/reviews/smartmouth-for-flash-review/" target="_blank">review</a> of SmartMouth. The <a title="lip sync pack #2" href="http://www.cartoonsolutions.com/store/catalog/Free-Character-Pack-Head-sp-19.html" target="_blank">second pack</a> is free when you sign up for a newsletter from Cartoon Solutions (who also offer several commercial character packs).</p>
<p><a title="Free Mouth Shape FLA" href="http://ajarproductions.com/go/cc.php?mouthShapes1"><img class="alignleft" title="Mouth Shape" src="http://ajarproductions.com/flash_extensions/resources/mouth_shapes_1.gif" alt="" width="104" height="70" /></a>Given this total lack of free pre-built mouth shapes, I put together a simple <a title="Free Mouth Shape FLA" href="http://ajarproductions.com/go/cc.php?mouthShapes1">Flash file</a> that you can download for free, which contains the basic <a title="Phoneme chart" href="http://ajarproductions.com/pages/products/smartmouth/help.php#Phonemes" target="_blank">phonemes</a> (mouth shapes). The file is compatible back to Flash Pro CS3.</p>
<p>&nbsp;</p>
<h2>Custom Mouth Shapes</h2>
<p><a href="http://click.linksynergy.com/fs-bin/click?id=Uq4cDpmt1Rk&amp;subid=&amp;offerid=145244.1&amp;type=10&amp;tmpid=3565&amp;RD_PARM1=http%253A%252F%252Fwww.peachpit.com%252Fstore%252Fproduct.aspx%253Fisbn%253D0321683692"><img class="alignright" title="Animation with Scripting" src="http://www.adobepress.com/ShowCover.asp?isbn=0321683692&amp;type=c" alt="" width="125" height="154" /></a>It&#8217;s not as difficult as you might think to create the mouth shapes required make a character speak. Once you have the mouth shapes, you can leverage the power of the <a title="Graphic Symbol article" href="http://active.tutsplus.com/articles/general/flashs-underrated-graphic-symbol/" target="_blank">Graphic symbol</a>. There are several great video tutorials online for building characters that talk, like <a title="CG MAX 2010 session" href="http://2010.max.adobe.com/online/2010/MAX106_1288135045156ETHF" target="_blank">this one</a> from Chris Georgenes. Chris and I also covered this topic in depth in <em><a href="http://click.linksynergy.com/fs-bin/click?id=Uq4cDpmt1Rk&amp;subid=&amp;offerid=145244.1&amp;type=10&amp;tmpid=3565&amp;RD_PARM1=http%253A%252F%252Fwww.peachpit.com%252Fstore%252Fproduct.aspx%253Fisbn%253D0321683692" target="_blank">Animation with Scripting</a></em> (available from: <a href="http://click.linksynergy.com/fs-bin/click?id=Uq4cDpmt1Rk&amp;subid=&amp;offerid=145244.1&amp;type=10&amp;tmpid=3565&amp;RD_PARM1=http%253A%252F%252Fwww.peachpit.com%252Fstore%252Fproduct.aspx%253Fisbn%253D0321683692" target="_blank">Peachpit</a> | <a href="http://www.amazon.com/gp/product/0321683692?ie=UTF8&amp;tag=ajarprodu-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0321683692" target="_blank">Amazon</a> | <a href="http://click.linksynergy.com/fs-bin/click?id=Uq4cDpmt1Rk&amp;subid=&amp;offerid=145244.1&amp;type=10&amp;tmpid=3566&amp;RD_PARM1=http%253A%252F%252Fwww.adobepress.com%252Fbookstore%252Fproduct.asp%253Fisbn%253D0321683692" target="_blank">Adobe Press</a>)<em>.</em></p>
<p>If mouth shapes and character packs are something you&#8217;d like to see more of on our site or within our products, please let us know in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajarproductions.com/blog/2012/05/15/character-and-mouth-packs-for-animation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SmartMouthRT (Real-Time) Lipsyncing Preview</title>
		<link>http://ajarproductions.com/blog/2012/05/10/smartmouthrt-real-time-lipsyncing-preview/</link>
		<comments>http://ajarproductions.com/blog/2012/05/10/smartmouthrt-real-time-lipsyncing-preview/#comments</comments>
		<pubDate>Thu, 10 May 2012 15:36:27 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[lipsync]]></category>

		<guid isPermaLink="false">http://ajarproductions.com/blog/?p=1184</guid>
		<description><![CDATA[Ever since our SmartMouth auto-lipsyncing Flash extension was released, people have been asking about lipsyncing in real time&#8230;Well, we&#8217;re getting pretty close to having such a product ready for purchase. SmartMouthRT is an easy-to-use ActionScript 3 library that allows for on-the-fly lipsyncing. With Adobe&#8217;s packaging utilities for Android and iOS (iPhone/iPad), SmartMouthRT could easily be [...]]]></description>
			<content:encoded><![CDATA[<p>Ever since our <a title="SmartMouth Flash Extension" href="http://ajarproductions.com/pages/products/smartmouth/" target="_blank">SmartMouth</a> auto-lipsyncing Flash extension was released, people have been asking about lipsyncing in real time&#8230;Well, we&#8217;re getting pretty close to having such a product ready for purchase. <em>SmartMouthRT</em> is an easy-to-use ActionScript 3 library that allows for on-the-fly lipsyncing. With Adobe&#8217;s packaging utilities for Android and iOS (iPhone/iPad), SmartMouthRT could easily be used for mobile apps as well. We&#8217;ve put a little demo video together to show you what it&#8217;s all about, which includes behind-the-scenes footage of the assets and code used to make the demo.</p>
<p><iframe src="http://player.vimeo.com/video/41895502" width="580" height="428" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p><strong>Voices</strong>: Betsie Bush and Peter Yearsley (<a title="LibriVox" href="http://librivox.org" target="_blank">librivox.org</a>)<br />
<strong>Music</strong>: <em>Baby, Please Don&#8217;t Go</em> by Big Bill Broonzy</p>
<p>We don&#8217;t have an exact release date available. I&#8217;m hoping it will be in the next 1-3 months<em>. </em>The SmartMouthRT SDK (Software Developer&#8217;s Kit) will be priced to reflect its greater flexibility beyond that of the Flash Extension. The first release will analyze essentially any (and all) sound playing within the Flash Player. Future releases will likely include the ability to target specific sound objects (i.e., for multiple simultaneous characters) as well as microphone objects.</p>
<p>Want an email when SmartMouthRT is available? <a title="Be among the first to know..." href="http://ajarproductions.com/newsletter/?p=subscribe&amp;id=1" target="_blank">Subscribe to our newsletter</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajarproductions.com/blog/2012/05/10/smartmouthrt-real-time-lipsyncing-preview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Advanced Page Tracking with Articulate</title>
		<link>http://ajarproductions.com/blog/2012/05/01/advanced-page-tracking-with-articulate/</link>
		<comments>http://ajarproductions.com/blog/2012/05/01/advanced-page-tracking-with-articulate/#comments</comments>
		<pubDate>Tue, 01 May 2012 15:48:28 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[Instructional Design]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tip]]></category>

		<guid isPermaLink="false">http://ajarproductions.com/blog/?p=1156</guid>
		<description><![CDATA[At my job as a Creative Technology Manager at Pearson, I do a significant amount work on interactive training with our Instructional Design team. Over the last 7 years, we&#8217;ve developed a highly-reusable, modular set of Flash templates that can handle all sorts of advanced interaction. As rapidly as the team can generate a course [...]]]></description>
			<content:encoded><![CDATA[<p>At my job as a Creative Technology Manager at Pearson, I do a significant amount work on interactive training with our Instructional Design team. Over the last 7 years, we&#8217;ve developed a highly-reusable, modular set of Flash templates that can handle all sorts of advanced interaction. As rapidly as the team can generate a course from the Flash templates, there are smaller projects where products like Captivate and Articulate are more appropriate. In the case of <a title="Articulate homepage" href="http://www.articulate.com/" target="_blank">Articulate</a> (Presenter), this is even more true when the client already has their materials in Powerpoint form, and would like to continue editing the Powerpoint assets. Articulate can export the Powerpoint slides as an interactive course (to run as a Flash/HTML-based module). Additionally, Articulate has <a title="Wikipedia page on SCORM" href="http://en.wikipedia.org/wiki/SCORM" target="_blank">SCORM</a> tracking as an export feature for use with Learning Management Systems (LMS).</p>
<p>While we often produce LMS-based projects, we also frequently utilize other tracking modalities (to generate custom completion certificates, or when deployment to non-LMS sites is a client requirement, etc). The nifty thing we&#8217;ve discovered in these cases, is that we can publish an Articulate project for SCORM, and overwrite the JavaScript hook to serve our particular scenario.</p>
<p>To write your own custom hook: export your project with the LMS tracking turned on. Duplicate the <em>player.html</em> file that has been generated so that you can refer back to the unedited file. Open your duplicated file in a text editor.</p>
<p>Open a new script tag after the existing ones in the head tag:</p>
<pre><code>&lt;script language="JavaScript1.2"&gt;</code></pre>
<p>Inside this <em>&lt;script&gt;</em> tag, you can now begin to override the default LMS configurations.</p>
<pre><code>//Configuration Overrides
//set this to false if you don't want the overhead of recording debug information
var blnDebug = false;
//type of LMS to use
var strLMSStandard = "NONE";
//set this to true when debugging to force the debug window to launch immediately
var SHOW_DEBUG_ON_LAUNCH = false;
//set to empty function to prevent a js error from another file
LoadContent = function(){};</code></pre>
<p>By setting <em>strLMSStandard</em> to <em>NONE</em> the JavaScript exported from Articulate will utilize functions from the <em>lms/NONEFunctions.js</em> file (instead of the files using SCORM or AICC functions).</p>
<p>Continuing inside the <em>&lt;script&gt;</em> tag you started, you can override any of the &#8220;NONE&#8221; functions (since you script comes after the embedding of the other scripts). The essential function is <em>NONE_SetDataChunk</em>, which is called each time a new screen (i.e. slide) is shown. This function receives a string that includes which pages have been visited, and which page is currently active. You can use this information to trigger you desired events (and make sure to close your <em>&lt;script&gt;</em> tag at the end).</p>
<pre><code>//Override function in the NONEFunctions.js file
function NONE_SetDataChunk(strData){
   //example strData looks as follows:
   //viewed=1,2,3,4,5,6,7,8,9,10|lastviewedslide=10|
   var pageNum = strData.split('lastviewedslide=').pop().split('|').shift();
   pageNum = parseInt(pageNum) - 1;    //convert to array numbering
   //you can then use the pageNum value to trigger an outcome
   return true;
}
&lt;/script&gt;</code></pre>
<p>Not only have we used this generate custom certificates on non-LMS web servers, but we also combine this functionality with our comment tracking system. In the development and client review stages of a project, we use this code to trigger and update a button onscreen. When clicked, this button takes the visitor to our comment tracking system, opens and a new ticket, and pre-populates the field that identifies the current slide. That way we effectively solicit and apply feedback to each element of the project.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajarproductions.com/blog/2012/05/01/advanced-page-tracking-with-articulate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Titmouse Demos Facinator</title>
		<link>http://ajarproductions.com/blog/2012/04/27/titmouse-demos-facinator/</link>
		<comments>http://ajarproductions.com/blog/2012/04/27/titmouse-demos-facinator/#comments</comments>
		<pubDate>Fri, 27 Apr 2012 20:04:45 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[animation]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://ajarproductions.com/blog/?p=1162</guid>
		<description><![CDATA[Now that Titmouse&#8217;s new series Motorcity (mentioned in the previous post) is about to air, they&#8217;re sharing some behind-the-scenes magic. In this video, Supervisor Animator, Allison Craig shows off the Facinator tool that I built for Titmouse: Since the folks at Titmouse rendered their 2-D characters from every conceivable angle, they asked me to build [...]]]></description>
			<content:encoded><![CDATA[<p>Now that Titmouse&#8217;s new series <em>Motorcity</em> (mentioned in the <a title="Motorcity Preview" href="http://ajarproductions.com/blog/2012/04/23/motorcity-preview/">previous post</a>) is about to air, they&#8217;re sharing some behind-the-scenes magic.</p>
<p>In this video, Supervisor Animator, Allison Craig shows off the Facinator tool that I built for Titmouse:</p>
<p><iframe src="http://www.youtube.com/embed/AizepmgmkOY" frameborder="0" width="480" height="360"></iframe></p>
<p>Since the folks at Titmouse rendered their 2-D characters from every conceivable angle, they asked me to build a tool to rotate the detailed 2-D heads in 3-D space. You can see this in action starting at the 1 minute mark.</p>
<p>The 1st episode of <em>Motorcity</em> airs this Monday, but you can see it early (for free) on<a title="Motor City ep. 1" href="http://itunes.apple.com/us/tv-season/motorcity-vol.-1/id517052911" target="_blank"> iTunes</a>.</p>
<p>Source: <a title="CHF article" href="http://coldhardflash.com/2012/04/disney-xds-motorcity-firing-on-all-cylinders.html" target="_blank">Cold Hard Flash</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ajarproductions.com/blog/2012/04/27/titmouse-demos-facinator/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Motorcity Preview</title>
		<link>http://ajarproductions.com/blog/2012/04/23/motorcity-preview/</link>
		<comments>http://ajarproductions.com/blog/2012/04/23/motorcity-preview/#comments</comments>
		<pubDate>Mon, 23 Apr 2012 16:55:13 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[animation]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://ajarproductions.com/blog/?p=1151</guid>
		<description><![CDATA[I&#8217;ve had the great privilege over the last year to work on some fun projects building production tools for Titmouse. I&#8217;m excited to say that the series they&#8217;ve been working on, Motorcity, will begin airing 1 week from today on Disney XD. You can also download an early preview of the first episode (for free) [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had the great privilege over the last year to work on some fun projects building production tools for <a title="Titmouse Inc website" href="http://titmouse.net/" target="_blank">Titmouse</a>. I&#8217;m excited to say that the series they&#8217;ve been working on, <em>Motorcity</em>, will begin airing 1 week from today on Disney XD. You can also download an early preview of the <a title="Motor City preview" href="http://itunes.apple.com/us/tv-season/battle-for-motorcity/id517052911?i=517731186&amp;ign-mpt=uo%3D4" target="_blank">first episode</a> (for free) on iTunes. It&#8217;s action packed!</p>
<p><img class="alignnone" title="Motor City" src="http://www.cartoonbrew.com/wp-content/uploads/motorcity545-510x311-e1333660734121.jpg" alt="" width="480" height="292" /></p>
<p>Additionally, Mark Hamill (aka Luke Skywalker, aka voice of the Joker) does a fantastic job voicing the villain.</p>
<p>Earlier this year, Cold Hard Flash <a title="Titmouse interview" href="http://coldhardflash.com/2012/01/chris-p-on-titmouse-migration.html" target="_blank">interviewed</a> the head of Titmouse about opening an east coast office. Chris P, the interviewee, gives a shout-out to Ben Kalina, the fantastic producer with whom I&#8217;ve been working. In addition to producing <em>Motorcity</em>, Titmouse has also taken over production of the <em>Venture Bros.</em> (one of our favorite cartoons), for which I also had the privilege of creating a production tool.</p>
<p>I recommend checking out <em>Motorcity</em> (and the new <em>Venture Bros.</em>, when the season airs). Kudos to the talent people at Titmouse!</p>
<p><strong>UPDATE (4/27)</strong>: Cold Hard Flash just posted a <a title="CHF article" href="http://coldhardflash.com/2012/04/disney-xds-motorcity-firing-on-all-cylinders.html" target="_blank">story</a> about <em>Motorcity</em> and Titmouse&#8217;s animation pipeline which includes a video preview of one of the tools that I built called <a title="Facinator demo" href="http://youtu.be/AizepmgmkOY" target="_blank">Facinator</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajarproductions.com/blog/2012/04/23/motorcity-preview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML &amp; Flash: Explained Part 1</title>
		<link>http://ajarproductions.com/blog/2012/04/10/html-flash-explained-part-1/</link>
		<comments>http://ajarproductions.com/blog/2012/04/10/html-flash-explained-part-1/#comments</comments>
		<pubDate>Tue, 10 Apr 2012 17:31:01 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://ajarproductions.com/blog/?p=1141</guid>
		<description><![CDATA[This is the first video in a series on digital literacy. The goal of this video is to provide an overview of HTML and Flash technologies, primarily for non-technical viewers. Future videos may cover aspects of these technologies in more depth and provide a foundation for deciding when to use each technology.]]></description>
			<content:encoded><![CDATA[<p>This is the first video in a series on digital literacy. The goal of this video is to provide an overview of HTML and Flash technologies, primarily for non-technical viewers. Future videos may cover aspects of these technologies in more depth and provide a foundation for deciding when to use each technology.</p>
<p><iframe width="550" height="376" src="http://www.youtube.com/embed/nRtg39M-Pqs" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://ajarproductions.com/blog/2012/04/10/html-flash-explained-part-1/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>FrameScrub Flash Extension</title>
		<link>http://ajarproductions.com/blog/2012/04/04/framescrub-flash-extension/</link>
		<comments>http://ajarproductions.com/blog/2012/04/04/framescrub-flash-extension/#comments</comments>
		<pubDate>Wed, 04 Apr 2012 17:27:40 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[animation]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://ajarproductions.com/blog/?p=1135</guid>
		<description><![CDATA[Introducing FrameScrub, the lip-syncing tool for those who want to go panel-less. How it Works It works in most ways like the selection tool: you can click to select, double-click to edit, but you can also scrub-slide through graphic symbol frames. You can even scrub through loop settings (using the Alt/Opt key). Features Click and [...]]]></description>
			<content:encoded><![CDATA[<p>Introducing <em>FrameScrub</em>, the lip-syncing tool for those who want to go panel-less.</p>
<h2>How it Works</h2>
<p>It works in most ways like the selection tool: you can click to select, double-click to edit, but you can also <em>scrub-slide through graphic symbol frames</em>.</p>
<p><img title="FrameScrub demo image" src="http://ajarproductions.com/flash_extensions/images/framescrub_image.gif" alt="" width="550" height="280" /></p>
<p>You can even scrub through loop settings (using the Alt/Opt key).</p>
<h3>Features</h3>
<ul>
<li>Click and drag to update the first frame that is displayed.</li>
<li>Hold SHIFT to cycle through frames faster.</li>
<li>Hold ALT (OPT on Mac) to cycle through loop settings (Loop, Play Once, Single Frame).</li>
<li>Hold CTRL (CMD on Mac) to temporarily revert to the Selection Tool.</li>
</ul>
<h3>Download</h3>
<p>(<em>compatibility</em>: CS3 and newer, Flash 8 &amp; MX 2004 untested)<br />
<a title="Download FrameScrub Extension" href="http://ajarproductions.com/go/?FrameScrubDL">FrameScrub.mxp</a></p>
<h3>Installation</h3>
<p>Open the MXP file in Extension Manager, follow the steps, and restart Flash. If you don&#8217;t see the FrameScrub in your toolbar (behind the selection tool), you can add it by accessing <em>Edit</em> (<em>Flash</em> on Mac) &gt; <em>Customize Tools Panel&#8230;</em> Select a tool position, locate FrameScrub in the list on the left and use the right-facing arrow button to add FrameScrub to the selected tool position.</p>
<h2>Other Lip Sync Tools from Ajar Productions</h2>
<ul>
<li><a title="SmartMouth product page" href="http://smartmouth.ajarproductions.com" target="_blank">SmartMouth</a></li>
<li><a title="FrameSync 2.0 Now Available" href="http://ajarproductions.com/blog/2010/08/16/framesync-2-0/" target="_blank">FrameSync</a></li>
</ul>

<!-- Begin PayPal Donations by http://wpstorm.net/ -->
<form action="https://www.paypal.com/cgi-bin/webscr" method="post"><div class="paypal-donations"><input type="hidden" name="cmd" value="_donations" /><input type="hidden" name="business" value="DPEVBX52BUZ98" /><input type="hidden" name="return" value="http://ajarproductions.com/software/pp/donation.php" /><input type="hidden" name="item_name" value="FrameScrub" /><input type="hidden" name="item_number" value="ajarblog" /><input type="hidden" name="currency_code" value="USD" /><input type="image" src="https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif" name="submit" alt="PayPal - The safer, easier way to pay online." /><img alt="" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1" /></div></form>
<!-- End PayPal Donations -->

]]></content:encoded>
			<wfw:commentRss>http://ajarproductions.com/blog/2012/04/04/framescrub-flash-extension/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Flannel: Open Newer FLA Files</title>
		<link>http://ajarproductions.com/blog/2012/03/06/flannel-open-newer-fla-files/</link>
		<comments>http://ajarproductions.com/blog/2012/03/06/flannel-open-newer-fla-files/#comments</comments>
		<pubDate>Tue, 06 Mar 2012 17:37:59 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://ajarproductions.com/blog/?p=1103</guid>
		<description><![CDATA[On a few occasions, I&#8217;ve had to open Flash CS5.5 files on a machine with CS5. Since the FLA format is now XML- and ZIP-based, it&#8217;s relatively easy to unzip the package, open a file, and set the version back so that the file can be opened in Flash CS5. It does, however, take time. [...]]]></description>
			<content:encoded><![CDATA[<p>On a few occasions, I&#8217;ve had to open Flash CS5.5 files on a machine with CS5. Since the FLA format is now XML- and ZIP-based, it&#8217;s relatively easy to unzip the package, open a file, and set the version back so that the file can be opened in Flash CS5. It does, however, take <em>time</em>. So I decided to make this process into an easy-to-use desktop application.</p>
<p><img class="alignnone" title="Flannel User Interface" src="http://ajarproductions.com/software/flannel/images/flannel_v1.png" alt="" width="501" height="322" /></p>
<h2>Usage</h2>
<p>Just drag and drop a Flash CS5.5 FLA file onto Flannel and it will make a copy and append <em>_CS5</em> to the file name. That file can be opened in Flash CS5. Conversion for CS4 is a little trickier, since several new elements were added for CS5, but I&#8217;m working on it.</p>
<h2>Installation</h2>
<p>You can install Flannel using the badge below.</p>
<p><div id="flashcontent6674" style="width:215px; height:180px;"><strong>Please upgrade your Flash Player</strong> This is the content that would be shown if the user does not have Flash Player 9.0.115 or higher installed.</div><script type="text/javascript">
<!-- // <![CDATA[
var so = new SWFObject("http://ajarproductions.com/blog/wp-content/plugins/air-badge/AIRInstallBadge.swf", "Badge", "215", "180", "9.0.115", "#333333");
so.useExpressInstall("http://ajarproductions.com/blog/wp-content/plugins/air-badge/expressinstall.swf");
so.addVariable("airversion", "1.0");
so.addVariable("appname", "Flannel");
so.addVariable("appurl", "http://ajarproductions.com/go/?getFlannel");
so.addVariable("appid", "Flannel");
so.addVariable("pubid", "");
so.addVariable("appversion", "1.0.0");
so.addVariable("imageurl", "http://ajarproductions.com/software/flannel/images/badgeIMG.png");
so.addVariable("appinstallarg", "installed from web");
so.addVariable("applauncharg", "launched from web");
so.addVariable("helpurl", "help.html");
so.addVariable("hidehelp", "true");
so.addVariable("skiptransition", "false");
so.addVariable("titlecolor", "#00AAFF");
so.addVariable("buttonlabelcolor", "#00AAFF");
so.addVariable("appnamecolor", "#00AAFF");
so.addVariable("str_err_airswf", "<u>Running locally?</u><br/><br/>The AIR proxy swf won't load properly when this is run from the local file system.");
so.write("flashcontent6674");
// ]]&gt; -->
</script>
</p>
<p>Or you can download the file directly <a title="Download the Flannel .air package" href="http://ajarproductions.com/go/?getFlannel">Flannel.air</a> (Adobe AIR is required).</p>
<p>Flannel is available at no cost, but donations are welcome.</p>

<!-- Begin PayPal Donations by http://wpstorm.net/ -->
<form action="https://www.paypal.com/cgi-bin/webscr" method="post"><div class="paypal-donations"><input type="hidden" name="cmd" value="_donations" /><input type="hidden" name="business" value="DPEVBX52BUZ98" /><input type="hidden" name="return" value="http://ajarproductions.com/software/pp/donation.php" /><input type="hidden" name="item_name" value="Flannel" /><input type="hidden" name="item_number" value="ajarblog" /><input type="hidden" name="currency_code" value="USD" /><input type="image" src="https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif" name="submit" alt="PayPal - The safer, easier way to pay online." /><img alt="" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1" /></div></form>
<!-- End PayPal Donations -->

]]></content:encoded>
			<wfw:commentRss>http://ajarproductions.com/blog/2012/03/06/flannel-open-newer-fla-files/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>EaseCaddy Resources Posted</title>
		<link>http://ajarproductions.com/blog/2012/02/29/easecaddy-resources-posted/</link>
		<comments>http://ajarproductions.com/blog/2012/02/29/easecaddy-resources-posted/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 18:17:00 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[animation]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://ajarproductions.com/blog/?p=1099</guid>
		<description><![CDATA[I&#8217;ve posted some EaseCaddy resources. I&#8217;ll continue to collect them, if you have custom eases or tutorials to share (on easing), you can post them in the comments below or send them directly to us.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve posted some <a href="http://ajarproductions.com/pages/products/easecaddy/resources.php" title="EaseCaddy Resources" target="_blank">EaseCaddy resources</a>.</p>
<p>I&#8217;ll continue to collect them, if you have custom eases or tutorials to share (on easing), you can post them in the comments below or send them <a href="http://ajarproductions.com/blog/contact/" title="Contact">directly to us</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajarproductions.com/blog/2012/02/29/easecaddy-resources-posted/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google SpreadSheet Scripts for Better Printing</title>
		<link>http://ajarproductions.com/blog/2012/02/14/google-spreadsheet-scripts-for-better-printing/</link>
		<comments>http://ajarproductions.com/blog/2012/02/14/google-spreadsheet-scripts-for-better-printing/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 18:53:51 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[GoogleDocs]]></category>

		<guid isPermaLink="false">http://ajarproductions.com/blog/?p=1090</guid>
		<description><![CDATA[I&#8217;ve been using Google Docs more lately. Especially for spreadsheets. One thing that I noticed when trying to print is the effect of excess empty cells. When you choose File &#62; Print in Google Docs, the system renders a PDF from the server and prompts you to save that PDF. If you have several empty [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using Google Docs more lately. Especially for spreadsheets. One thing that I noticed when trying to print is the effect of excess empty cells. When you choose <em>File &gt; Print</em> in Google Docs, the system renders a PDF from the server and prompts you to save that PDF. If you have several empty rows and column, those will be included in your PDF. If you selected <em>Fit to Page</em> (the default), <strong>your text (like mine) could be tiny</strong>. I went looking for a <em>Set Print Area</em> option similar to the one found in MS Excel, but could not find it. So I wrote a few custom scripts to solve the issue instead.</p>
<h2>Locating the Scripts</h2>
<p>The 2 scripts below have been submitted to the Google Script Gallery and should be available by choosing <em>Tools &gt; Script gallery&#8230;</em> then searching for the term <em>crop</em>. As of writing this post, the first script below is already available.</p>
<p>I&#8217;m including the code below in case anyone has difficulty finding them or would like to copy and modify the code for their own purposes.</p>
<h2 title="Crop to Selection">Crop to Selection</h2>
<div title="Crops cells to the current selection for better printing.">Crops cells to the current selection for better printing.</div>
<pre title="Crops cells to the current selection for better printing."><code>function cropToSelection() {
  var sSheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = sSheet.getActiveSheet();
  var range = sSheet.getActiveSelection();
  var startCol = range.getLastColumn();
  var startRow = range.getLastRow();
  var endCol = sheet.getMaxColumns();
  var endRow = sheet.getMaxRows();
  try{sSheet.deleteColumns(startCol, endCol - startCol);} catch(e){};
  try{sSheet.deleteRows(startRow, endRow - startRow);} catch(e){};
}</code></pre>
<h2 title="Crops cells to the current selection for better printing.">Crop All Sheets</h2>
<div title="Crops cells to the current selection for better printing.">Crops each sheet in the worksheet to the cells that contain content.</div>
<pre title="Crops cells to the current selection for better printing."><code>function cropAllSheets() {
  var sSheet = SpreadsheetApp.getActiveSpreadsheet();
  var numSheets = sSheet.getNumSheets();
  var sheets = sSheet.getSheets();
  var i;
  for(i=0; i < numSheets; i++){
    var sheet = sheets[i];
    var range = sheet.getDataRange();
    sheet.setActiveSelection(range);
    var startCol = range.getLastColumn();
    var startRow = range.getLastRow();
    var endCol = sheet.getMaxColumns();
    var endRow = sheet.getMaxRows();
    if(endCol > startCol) sheet.deleteColumns(startCol, endCol - startCol);
    if(endRow > startRow) sheet.deleteRows(startRow, endRow - startRow);
  }
}</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://ajarproductions.com/blog/2012/02/14/google-spreadsheet-scripts-for-better-printing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 12.013 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-05-17 19:52:56 -->

