Site Sponsors

Primal Screen website launch

Proud and excited about the new Primal Screen Website. A big push at the end, but I think it showcases a bunch of talented designers, animators, and developers. I still do a little whistle when I see the depth and breadth of the Primal oeuvre.

Comments

Workflow tools from Michael Cinquin

Michael Cinquin has developed some handy workflow tools for FCP/Pro Apps. Lots of glue code for Red, FCP,Color, etc. Most of the tools seem to be web apps which makes it handy for remote locations. I’ve been wondering lately if a lot of workflow media tools and processes shouldn’t be moving to a web service architecture? Having been doing mostly web development for a while I can vouch for how handy it is to have an API to solve a problem.

Comments

Saving a download in Safari stuck at “Displaying the software license agreement”

I was stuck on a fairly large .dmg download via Safari today with the Download window reading, “Displaying the software license agreement”, like so.

I’m not sure what was up, but I knew I didn’t want to take the time to re-download it. Turns out a quick right-click, and “Show Package Contents” gave me access to the .dmg and it mounted and verified just fine. I don’t think this would work with a .download that was actually hosed, but maybe a web search to this post will save somebody a bit of download time.

Comments

Conduit for Flash Pixel Bender

I’ve been out of the workflow flow lately doing mostly web and mobile applications (hopefully more about that later), but ran across Conduit for Flash Pixel Bender which seems to have a nice crossover from the video to the web world. I’ve always liked Conduit, a nodal compositing environment sorta like a mini Shake, and now they’ve made it easy, well easier, to work with image processing in web apps. Very cool.

Comments

Motion XML File Format documented

This one has taken a while, but it looks like Apple has finally documented the Motion XML format. It’s been fairly easy to reverse-engineer, but now if you’ve got questions or gotchas you know where to look to find out what the deal should be.

The section on Modifying Text is especially useful for day to day hacking.

Comments

Hacked!

Hey Everybody, My blog was hacked and not in a Creative Workflow way, so things are in a little disarray after restoring and not being sure what files were compromised. It may take a while to sort things out so thanks for your patience. Dale 

Comments

Lost your Quicktime export options?

If you updated to the latest version of Quicktime you lost some of your export options like Sorenson (You take the good with the bad with the beneficent dictatorship that is Apple UI design). To get it back…

  1. Go to System Preferences on the Mac or Control Panel on Windows
  2. Click on Quicktime
  3. Click the Advanced Tab
  4. Check Show Legacy Encoders 

Thanks Brandon

Comments (1)

Oustanding geekery at omino.com

Looks like I’m a little late to the party, but I’m catching up with some great posts at omino.com. I’ve always admired David Van Brink’s qt_tools project, A great open source command-line set of tools for dealing with Quicktime, and it looks like he’s now sharing more quick hits of his pixel, motion and scripting explorations. Very fun David.

Comments (2)

Doing something interesting with our Socket Object and XML; A slightly flawed Flickr reader for AE CS3 on the Mac

Last time, we talked about using a Socket Object in After Effects CS3 to parse a data feed with E4X XML parsing. There are a lot of useful workflow operations I can think of that could make use of data feeds, but After Effects is a visual medium, so let’s do something visual, let’s import a set of flickr photos matching a tag. This is a proof of concept script, and before you plunge into experimenting you should check the terms of service of the web feed provider and respect the use of images you download. That said, let’s take a look at some code.
Read the rest of this entry »

Comments (4)

Using the Socket Object to fetch XML for parsing in After Effects CS3

I had an email conversation with Matt, who wanted to fetch some xml to play with the new E4X XML parsing in AE CS3. We’re still waiting for the ExtendScript HttpConnection Object to show up in After Effects, but we do have access to the Socket Object. The Socket Object is a little low level, but if you are using web feeds and don’t need authentication it’s actually pretty easy.

This code segment outlines the basics.


webConnect = new Socket;
response = new String;

if(webConnect.open("feeds.feedburner.com:80","UTF-8")) {

webConnect.write('GET /current/currentpicks?format=xml HTTP/1.0nn');

response    =  webConnect.read(100000);

response = response.toString();

var xmlStart = response.indexOf("<?xml");
var xmlString = response.substring(xmlStart, response.length);

alert(xmlString)

webConnect.close();

} else {

alert (""unable to open webConnect via Socket"")

}

We open a Socket and connect to, in this case, a feedburner feed. We use the read() method to read in the XML, and since the Socket object includes the header we use indexOf to find the beginning of the XML and substring to read to the end of the line.

A couple of gotchas in the code. In this case the header tells us the document encoding is utf-8 so we explicity set it with

webConnect.open("feeds.feedburner.com:80","UTF-8")

Also, when Matt and I were initially exploring this we were just getting the header. It looks like a GET request with

response    =  webConnect.read()

allows a block response, and the later content was going off into the ether, If we used

response    =  webConnect.read(100000);

with a sufficiently large number to include all of the XML we got all of the contents of the XML file. This seems like a really bad idea, since we’ll never know the size of the XML file unless we munge some headers and setting it arbitrarily high also seems like a bad idea. Can someone who’s spent more time with the Socket object leave a comment or email me on how to handle the block response or alternatives to setting a big count for the read() method? I’d appreciate it.

Anyway, that’s the basic idea. You’d then parse the xmlString variable and do fun stuff with it. One heads up, the sample above includes namespaces, so be sure to read the section on namespaces in the Scripting Guide.

Comments (1)