Joe Maller: FXScript Reference: Frequently Asked Questions

Answers to common questions and my to-do list of future FXScript projects.


  1. Can you make me a filter for me that does ___?
  2. What about Transitions and Generators?
  3. What's wrong with my FXScript?
  4. Is there a downloadable version of the FXScript Reference?
  5. Where is a good place to discuss FXScript?
  6. Is FXScript like AppleScript?
  7. I suck at math, should I bother trying to use FXScript?
  8. Do you hate Eureka?

1. Can you make me a filter for me that does ___?

I do not make filters upon request, although many of filters in Joe's Filters 3 came from user requests and ideas. I'm also constantly on the lookout for common processes and effects that can be accomplished by an FXScript plugin.



* top *

2. What about Transitions and Generators?

Transitions and Generators are coming in the near future, but I've been concentrating on filters for now. I will release a set of transitions in the future, but I have no idea when that will be. There is some information about different types of scripts in the FXScript Reference, creating transitions isn't any more difficult than creating filters.

* top *

3. What's wrong with my FXScript?

Unfortunately I do not have the time to troubleshoot everyone's scripts. This sort of thing would be better dealt with as a discussion topic on 2-pop. If I have time, I might be able to help, but I can't guarantee anything.

* top *

4. Is there a downloadable version of the FXScript Reference?

Not yet. I've had requests for PDFs and HTML packages, I'm looking into both.

* top *

5. Where is a good place to discuss FXScript?

I would think this sort of thing would be appropriate on 2-pop's FCP Advanced Technical discussion board. The last thing 2-pop needs is another board. Another good place might be LAFCPUG's Final Cut Pro forums or Apple's Final Cut Pro discussion boards (registration required).

* top *

6. Is FXScript like AppleScript?

FXScript and AppleScript are completely different. Learning AppleScript will help with the basic concepts behind FXScript, but FXScript's syntax is much more strict and closer to C++ (so I'm told). I started with AppleScript, then got into JavaScript, both probably helped me develop an understand FXScript more easily.

* top *

7. I suck at math, should I bother trying to use FXScript?

I suck at math too. Honest, I never got past Algebra in High School and switched to art in college. Most all of the math in FXScript is visually based, and the results are immediate. I don't like to be told I'm incapable of something, especially not with my own voice. Give it a shot and choose not to from experience, not from fear of the unknown.

* top *

8. Why do you hate Eureka?

I don't hate Eureka. When I started my filters, the Eureka site was gone and there was no indication it was coming back. The disappearance of the Eureka author(s) was a key factor in my decision to unlock the paid version of Joe's Filters. In the few months since I started doing this, the Eureka page returned, crashed my browser and then dissappeared again.

Things to do

This is a list of stuff I plan to look into adding to Joe's Filters or the various related web pages in the near future. Some things were suggested, others were stuff I thought of while building out this site. Of course, I will finish any incomplete pages first.

FXScript Reference:

  • Possible reorganization into smaller chunks with descriptive titles (should use existing page as referrer to relocated information)


  • Add tutorial about creating a pixeled out face with Joe's Pixelizer. Duplicate a clip on top of itself, apply a garbage matte or circle to the clip on top. Once this is masked, apply Joe's Pixelizer to the masked clip. (now use Joe's Soft Spot with Shape Only selected, then apply Joe's Pixelizer)


  • Add white and black clamp to Joe's Threshold.
  • Threshold for alpha only (checkbox)
  • Add transparent background to Color Glow (ghost effect?)
  • Joe's Circular Color Fade - An inverted version of Joe's Soft Spot, with color applied instead of a blur.
  • Figure out Hue Rotation, then create HSB color isolation filter, sort of like Pleasantville.
  • Add transparent checkbox to Joe's Gradients, allowing the gradation to affect the alpha channel instead of applying color. Could be "as Alpha" which would generate the alpha channel of the image instead of applying the effect to the original image.
  • Add glow-around option to Joe's Color Glow, this would subtract out the original selection from the modified selection, creating a glow around something.
  • Add an Aspect stretch attribute to Joe's Pixelizer
  • Noise reducer - Erode/dissolve (e->d and d->e) also masking with luminance, to remove noise only from dark areas. Also possibly mask based on edges? This should also use blurring to in light or dark as an option.
  • Add multiple step blurs to Joe's Soft Spot, where blurs further from the center are more intense, to create a faux-depth of field effect. This should only happen on blurs applied around the center.
  • Add an invert color checkbox to Joe's Noise, this would result in CMY noise instead of RGB. Would I need to explain how inverted colors work? I hope not.
  • Use channelcopy for the desaturation routines on Joe's Threshold, there is no need for a matrix operation if the output is just going to be R, G or B. Actually this should be a Matrix or Blending option. When Matrix is checked, it works as it does now (which is faster than copying) when Blending is selected, the filter builds a second image with ChannelCopy and then combines this with the original. Maybe this should just be a fade control attached to channel viewer? Saturating would be hard to do otherwise.
  • Joe's Motion Trail (I think I can do better than Stop Motion Blur)
  • Joe's DrawSoftDot Explorer - filter to show what the different settings in DrawSoftDot do, include a background color option to demonstrate haloing.
  • Reverse color order and make InvertChannel optional in Joe's Gradients and Joe's Soft Gradients.
  • Remove steps on Joe's Color Glow? Too late? Is anyone using this?
  • Joe's AutoLevels - Can this be fast enough to be worthwhile? Seems like it will work something like an auto-shutter in post. The good part is that it will be able to anticipate changes in the future (since it's already recorded)
  • Luma-only sharpener
  • Channel Viewer (mentioned above, includes a fade with original slider)
  • Add "No targets" warning to Joe's Channel Blur and Joe's Motion Blur
  • Add alpha target to Joe's Channel and Motion Blurs.
  • Temporal noise reducer
  • Difference matte De-Interlacer
  • Random motion blur (camera shaker)
  • Transitions and generators
  • Alpha FX
  • Compare Blit to BlitRect, Better alpha support in Blit? What other advantages?
  • Add soft noise mask to diffuser
  • Add a check to De-Interlacer to check for 0% original blending. If it's at zero, except everything so this filter can be used for switching effects to fullframe. Does this work? Do filters applied after a fullframe effect become fullframe effects?
  • Wiggle and Jiggle on Flexi-Smear should be a slider and an angle adjustment. This would make more sense than the current arrangement of two sliders with seemingly arbitrary names.

FXScript Wishlist

  • Constant to determine full sized frame, instead of the zoomfactor 720 hack
  • Color space conversions should be smarter, to prevent double-converting.
  • Batch encoding of plugins. re-encoding is a royal pain in the butt.
  • Interpolation options, to allow for nearest neighbor scaling as well as Bilinear.
  • FXBuilder should recognize time-based elements so testing Clip functions don't require restarting Final Cut Pro every time
  • FXBuilder recognize YUV and display correctly. This could be a bad thing.
  • Histograms. This relates to more than just histograms, FXScript seems to have no means to look at and use the values in the frame. To get around this means building slow recursive operations which sample the image every frame. This is similar to the color sampling in Joe's Pixelizer, but the values are averaged while working to find the top and bottom of the image's lumanince bell curve. This seems very related to FXScript's inability to detect the existing color space before converting. (sort of added in FCP 3)
  • Logical matrix operations (actually, I sort of worked around this and ended up with a much better filter than I might have had otherwise)
  • Access to clip data besides Reel Name, things that would be nice would be access to Clip name (as placed), markers (could htne write a subtitling routine to place logged marker data into the visible frame
page last modified: