Final Cut Pro as a Platform


I’ve had a lot of hits on my Avid vs. FCP post, but when I showed it to some of my friends over at Apple, they suggested one point-of-view that I hadn’t considered. Namely, that Final Cut Pro should be viewed as not just another NLE, but rather a development platform. I think that argument could be made for After Effects or Pro Tools, but since FCP is tightly integrated with Apple hardware, the Mac OS and QuickTime, development possibilities go much deeper. Although the Final Cut Pro ecosystem isn’t open source software, the development community shares many of the same approaches as the open source community.


Apple’s Final Cut Studio – and particularly Final Cut Pro – revolves around several open architectures, including core technologies of Mac OS X itself, QuickTime, XML, FxScript, FxPlug, Apple Events, Log and Transfer, MIDI, FireWire and the PCI Express hardware bus. These allow outside developers to produce hardware and software products that extend the functionality of Final Cut Studio beyond Apple’s own development. QuickTime is the most obvious and that’s the media architecture upon which FCP is based. If you develop for QuickTime, most likely that product will work with a whole host of QuickTime-compliant products, including After Effects, Media 100 and Premiere Pro, as well as Final Cut.




One the hardware side, Apple has chosen to leave video development to others. As graphics display cards become more powerful and processing is increasingly offloaded to the GPU, Final Cut Pro is able to ride on the power of OpenGL and newer, faster products manufactured by Nvidia and ATI. Core Apple technologies like Core Image and FxPlug rely on this power. Video I/O is another area that Apple has left to others. Today these include AJA, Blackmagic Design, MOTO and Matrox as the main products that editors use for ingest and output of full bandwidth video. If you toss FireWire and audio interfaces into this mix, then you can also include companies like Convergent Designs, Thomson (Canopus) and Digidesign. Add to this list past developers, such as Digital Voodoo, Pinnacle and Aurora, and you can see that the hardware development sphere that services Final Cut Pro is quite a bit larger than for nearly all other NLE companies.




On the software side, the greatest number of developers would be those designing plug-ins. Current versions of FCP work with two video effects plug-in APIs: FxScript and FxPlug. FxScript is the older API and you can find many free or low cost effects filters on the Internet created by enterprising editors and dedicated software developers. FCP even includes the FXBuilder tool that allows users to modify or create effects and transitions on their own. FxScript plug-ins generally can’t be copy-protected, which is why many of them are offered for free.


On the other hand, FxPlug is a more advanced framework for effects that takes advantage of OpenGL. Effects can be of higher quality, more complex and maintain a level of real-time performance based on OpenGL acceleration. As a more advanced API, developers are also able to protect their filters, but at the same time, one set of filters can be used not only in FCP but also Motion. One developer, Noise Industries, even offers the ability to create your own effects using Apple’s developer tool, Quartz Composer. The FxFactory filters offered by Noise Industries and its partners can be installed in FCP, Motion and now also After Effects on Intel Macs.


Less known is that Final Cut’s Log and Transfer module is also a plug-in API. This is the conduit currently used by RED and Panasonic to import native media into Final Cut Pro. In the case of Panasonic, DVCPRO HD is simply rewrapped, but AVC-Intra is transcoded into ProRes 422. The newest version for RED now permits importing REDCODE files as rewrapped native media. Add to this the fact that FCP also utilizes three audio filter APIs: FCP, Mac Audio Units and VST. All together, this makes Final Cut Studio one of the richest plug-in environments of any NLE.


In contrast, Avid is locked into one flavor of MXF as a media structure, which uses primarily Avid codecs. The exception is compatibility with many of the DV and AVC-Intra codecs. On the other hand, you cannot take QuickTime or AVI file formats natively into an Avid NLE without transcoding the media upon ingest. Hardware is limited to Avid’s own and the plug-in architecture is strictly AVX, which only works with Avid products.


When you compare these two situations, it boils down to the fact that there are simply more developers creating products for use with Final Cut Pro, Final Cut Studio or Final Cut Express, than there are for Avid Media Composer, Symphony or DS. The reason is partly the fact that there is a larger market for developers on the Final Cut side, but it is also because of a more open development environment. This provides an opportunity for many different programmers and hardware designers to jump in. Some who know what they are doing and some who don’t. Apple has thus far chosen to let the market weed things out, which has proven to be quite successful.




Another area in which Final Cut has served as a platform is in the creation of companion applications. Here again, if you compare the number of utilities designed to work with various Final Cut Studio applications and compare that with those for Avid, Quantel, Autodesk and others, the edge goes to Final Cut. A key enabler is that Apple makes extensive use of XML and Apple Events. XML is the basis of such apps as those produced by The Assistant Editor, XMiL, Spherico and xm|Edit. XML lets developers not only extract useful information from FCP projects and sequences, but also change the information and import it back with new and different data and results.


Apple Events is less known. This is a core OS X technology that applications use to communicate with each other. An interesting application to utilize this is Digital Heaven’s Loader – a new FCP companion utility to control the import of non-footage files, such as graphics and music tracks. Through Apple Events, Loader can ask FCP for a list of open projects and if FCP isn’t busy (rendering or capturing) then it sends a list of project file locations back to Loader. Other useful Digital Heaven products that augment Final Cut Studio include: Final Print (print FCP bins, markers, sequences), Big Time (adds a large timecode window display to the user interface), Automotion (create a series of lower third titles using Motion templates) and MovieLogger (review and log QuickTime media files outside of FCP).


Other NLE vendors certainly have their own partners, which generally operate under contractual licensing agreements. This controls the quality of the third-party products, but it doesn’t encourage a quickly-growing developer community. Often a powerful product is made even more attractive through such developers. Witness After Effects, Photoshop and Pro Tools. The same open model benefits Apple and Final Cut users by specifically extending the capabilities of the Final Cut product family. The best part is that this is happening at a pace that exceeds what any one company can do using only its internal resources.


Click here for a list of Final Cut Pro / Studio resources.


© 2008 Oliver Peters