Given that Final Cut’s scripting language has been around for many years now, it is obvious that it is too complex for editors, and not advanced enough for graphics programmers. There have been a reasonable number of FxScript plugins, but not very many if you consider how many copies of Final Cut are out there.
A few months ago I decided to check out FxFactory, the plugin system from Noise Industries. It gives non code-writers the chance to create their own plugins. Instead of learning Apple’s version of the C programming language and their development environment, people can use Quartz Composer to program their plugins. Quartz Composer is a free application you can install from your OS X DVD. It is used to create user interfaces for applications for Macs and iPhones, screen savers and interactive animations within applications. The effects in Photo Booth are implemented using Quartz compositions. Some VJ software uses them for music visualization.
FxFactory lets you use these animations as filters, generators or transitions in Final Cut Pro, Motion and Adobe After Effects. They also provide some useful bits of code to use within Quartz Composer to create plugins.
The important thing to understand about this system is that although Noise say that you don’t need to write a line of code to create first class plugins, you’ll still have to learn a kind of programming. You create Quartz compositions in Quartz Composer by adding patches to a layout and linking the outputs of one to the inputs of another.
This is a small part of a Quartz Composition that takes an RSS feed and animates the headlines appearing in front of a rotating globe. Here you’ll see an ‘input splitter’ patch selected. This takes the input from a control from the Final Cut filters tab and sends it to other patches. As the control is a pop-up menu for choosing whether the headlines are left, right or center aligned, the input splitter patch sends a 0, 1 or 2 to an ‘image multiplexer’ patch. This kind of patch uses the number on its ‘Source Index’ input to choose which source image to send to its output. Each of the images sent to ‘Source #0’ ‘#1’ and ‘#2’ is generated by an ‘Image with String’ patch, a kind of patch that takes some text (a ‘string’ in programming parlance), some font specs and outputs an image. Each of these patches are named to show what alignment the text they produce will be: left, right or center aligned. As you’d want the text to use the same font and size whichever alignment you choose, the inputs come from the output of splitter patches for font name and font size. The inputs from the controls in the Final Cut filter tab come from these two patches and are split so that they are sent two all three alignment ‘image with string’ patches.
It may not be code writing, but it is still programming. As necessity is the mother of invention, you might discover that needing to produce a specific result is a great incentive for learning how to make it happen.
You’ll need to download any .qtz files to watch them in QuickTime player or install them as screensavers to Your Macintosh HD/Library/Screen Savers
Looks like my Closing Credits Pro plugin will be created in Quartz Composer made available to Final Cut, Motion and After Effects users using FxFactory.