Joe Maller: FXScript ReferenceA reference for working with FXBuilder and FXScript, Final Cut Pro's visual effects scripting language.
FXScript is the native effects language used by Apple's Final
Cut Pro for creating or modifying generators, filters and transitions. It's one
of the most powerful elements of the program but almost no one knows it exists.
It's been a while since I first posted this, and there have to be more than five of us now.
One reason for the lack of FXScripting is how spare available documentation is. Apple used to have a FXScripting web page which offered nine addon FXScripts for download with no reference materials of any kind. The site disappeared when Final Cut Pro 2.0 was released. Since first publishing this, many new Final Cut Pro books have been published, many with FXScripting chapters.
My goal in writing this down is to help others get started making effects for Final Cut Pro. However, I've found many similarities to other programming languages while researching this, so this site might be helpful to more then just Final Cut Pro users.
About the FXScript Reference
These pages grew out of notes I made while developing Joe's Filters. A lot of what is covered on these pages resulted from experimenting and dissecting the scripts included with Final Cut Pro.
The reference into the following sections:
Things you should probably know
I've tried to start slow, but there are some assumptions I make to keep things flowing. If you've been working with computer graphics for a little while most of this should probably be second nature. Basic programming ideas like variables and functions will be covered, but I try to explain these when discussing how FXScript deals with them.
About Image Processing
The Hypermedia Image Processing Reference is an amazing reference on image processing from a math-intensive computer science perspective. The site was published by the Department of Artificial Intelligence at the University of Edinburgh. It's huge and somewhat overwhelming considering I'm used to using these tools, not building them. However, it's interesting to explore the space between conventional right-brain creativity and the left-brain technology that makes all this stuff work.
Here are some additional sites which might be helpful:
Lecture notes from Prof. Frederic I. Parke (Texas A&M)
Professor Parke's notes refer to this book, which is unfortunately out of print:
Digital Imaging : Theory and Applications by Howard E. Burdick
Also see The C Terrain by Nitin Gupta, a fantastic, funny and lengthly introduction to programming in C. (remember that FXScript syntax is very similar to C)
Other FXScript Resources
Unfortunately, this list isn't very long. However, that shortage or resources was a major factor in my sitting down to write out these pages. I've been searching the web extensively and nothing much comes up. Here's all I found:
If you know of any other FXScript resources, please send me a note and I will add them to the list.
Final Cut Versions
This reference was mostly written and tested on Final Cut Pro 1.2.5, then updated for Final Cut Pro 2.0. All of Joe's Filters have been tested on Final Cut Pro 2.0, and needed no modification. FXScript was revised between version 1.2.1 and 1.2.5, when YUV functions were added and clarified. FXScript changed very little between versions 1.2.5 and 2.0, most all of the included Final Cut Pro filters were unchanged.
Improvements in Final Cut Pro 3.0
Not much changed for FXScript with the new version. On OS X, the FXBuilder editor seems to have been carbonized, so type is anti-aliased, drap and drop editing works, and the save dialogs are OS X clean. Most noticably, the plugin controls have been reworked and now take up less space. Aquafied radio buttons and checkboxes were also added.
So far, Apple hasn't documented the workings of the three-way color corrector or other visual controls. These effects do have FXScript attached to them, but very few of their commands are documented and I haven't been able to get any changes to work.
Is this free? Are you crazy? Why not a book?
Yes. My FXScript Reference is free, but my filters are shareware. If you find this helpful, please consider buying the filters as a show of suppor, they're fairly useful too. Several people suggested some sort of donation mechanism, so I added PayPal and a checkbox to the Kagi purchasing page.
I am open to any discussions of expanding this site into a book. As it stands now though, FXScript isn't popular enough for most publishers. I doubt that will change any time soon.
If the information contained on these web pages will be used in a paid instructional environment please consider purchasing a set of my filters for each student. The price is very reasonable and could be built into the tuition or administrative costs of the course. Thank you in advance for helping me to help you.
Some of my other online tutorials have been used in classes where students pay tuition to attend. I like knowing that my work is helping people learn, but I'm slightly disturbed that someone could be getting paid as a teacher while passing out my work then sitting back and drinking a coffee. Hopefully this isn't the case, but in at least one instance, I have reason to believe that is the situation.
All explanations provided in my FXScript Reference are based on research and conclusions made while writing Joe's Filters. I am not a trained programmer, and the contents of this site are provided as is.
If I got something wrong, please let me know: