Filter Factory - Technical Analysis and Inofficial Patch
by Daniel Marschall
Filter Factory is a plugin for Photoshop which was developed by Adobe in 1994/95
is one of my favorite plugins.
Since 2012, I am analysing and extending this plugin,
and also have found several undocumented functions.
My patch contains a lot of bugfixes and a few other improvements,
and it also extends the maximum code size of user scripts.
Please note that this page is mostly about the Photoshop plugin for
Windows.
Filter Factory also exists for Adobe Premiere and for Macintosh. I have not
further analyzed or patched these.
Download
Download inofficial patch version 3.1.1 for Photoshop/Win32 (based on version 3.0.4)
Download all known releases, like Filter/Transition Factory for Premiere and Macintosh
How to install
To install the plugin to Photoshop, copy the 8BF-file into the directory C:\Program Files
(x86)\Adobe\Photoshop ....\Plug-Ins\Filters and then restart Photoshop.
To install the plugin to other hosts (e.g. Paint.net), please follow the
instructions of the specific application. A few hints:
Troubleshooting
If you run a modern version of Windows:
- If the original Filter Factory plugin (3.00 or 3.0.4) does not show up in the Filters menu, your system probably
misses the file msvcrt10.dll .
There are two ways to solve this issue:
- You can download a version of
msvcrt10.dll (included in Photoshop 7)
here.
Place it into the directory C:\Windows\System32 or C:\Program Files (x86)\Adobe\Photoshop ....\
. The patched version of
the plugin should not have this problem, since it uses msvcrt.dll instead of
msvcrt10.dll , which should be installed on all modern operating systems.
- My patch solves this problem by binding to
msvcrt.dll instead of msvcrt10.dll
- You could use
FilterFoundry instead.
- In combination with newer operating systems (starting with Windows
Vista) and newer versions of Photoshop, the plugin directory becomes
read-only for normal users for security reasons. Therefore, you will not be
able to use the "Make filter" feature. To solve this problem, you
must
start Photoshop with administrator privileges. (Right click -> Run as
administrator). When Photoshop runs as administrator, filters can be
created.
- In combination with newer operating systems (starting with Windows
Vista) and older versions of Photoshop (e.g. Photoshop 7), the creation of
filters works, and the filter shows up in Photoshop, but not in C:\Program Files\Adobe\Photoshop...\Plug-Ins\Filters : In this
case, the created filter was moved to a "roamed" directory by the operating
system, because the program directory is write-protected for users. You can
find the filter in the directory C:\Users\....\AppData\Local\VirtualStore\Program Files (x86)\Adobe\Photoshop
...\Plug-Ins\Filters .
If you run 64 bit:
- This version of Filter Factory works only with 32-Bit Photoshop, not
with 64-Bit. The operating system can be 64-Bit, though.
Some users report that it works by using a tool called
LaunchBox . I have not tried it yet.
- If you need 64-bit Photoshop,
FilterFoundry could be a good alternative. Version 1.7 (created by me)
is the first FilterFoundry version that supports 64-bit.
If you run Windows 3.11:
- In case you are using Windows 3.11, the patched version of the plugin
might not work, because Windows 3.11 only has msvcrt10.dll and not
msvcrt.dll . To solve the problem, duplicate the file msvcrt10.dll to msvcrt.dll inside
the C:\Windows\System directory.
If you run a non-Photoshop product (which is compatible with Photoshop
plugins):
- If you are using a program other than Photoshop (e.g. PaintShop Pro),
then you will not be able to run Filter Factory 3.0.4 or my patch, since
they rely on Photoshop's plugin.dll to draw the sliders and calculate
trigonometry. You can solve this problem with two ways:
- Use Filter Factory 3.00 which did not require any additional DLL
file.
- Here, you can download Plugin.dll,
taken from Photoshop 7. Place it in the "Filters" directory next to the
8BF file.
- You could use FilterFoundry instead.
General issues:
- You created a filter, but it does not show up in the Filters-menu: Did
you restart Photoshop? The reason is, that the 8BF filter file is created,
but these files will only be loaded once when Photoshop starts..
- You can only use this filter in RGB mode.
It appears that Filter Factory does not work on some systems
with Adobe Photoshop CS6. If you know more, please contact me.
Documentation
Known bugs, limitations and incompatibilities
List of all functions (incl. undocumented ones!)
Technical analysis
Filter Foundry
Filter Foundry is an OpenSource remake of Filter Factory. It is
be fully compatible with FilterFactory and is available for 32 bit and 64 bit
Windows systems. I have contributed a lot of new features and bugfixes to this project.
Software and tools
If you enjoy creating Filters, you might
also want to check out FilterMeister
and FilterFormula.
Ancient software and tools:
- PluginCommander has some nice functionalities like converting FilterFactory filters
- PluginManager 2.1 (30 day trial) by Michael Johannhanwahr (English, German)
The following functions/symbols are missing in Plugin Manager 2.1:
- xmin, ymin, zmin (existing in Filter Factory 3.0.x)
- cmin, cmax (existing in Filter Factory 3.0.x)
- sqrt (synonym of sqr, available in Premiere)
- pow(b,e) (added by Daniel Marschall to Filter Factory 3.1.x and Filter Foundry 1.7)
- T (constant synonym of total / tmax, added by Daniel Marschall to Filter Factory 3.1.x and Filter Foundry 1.7)
- Filters Unlimited 2.0 (Demo) by Michael Johannhanwahr (English, German)
- FFDECOMP.EXE by Michael
Johannhanwahr
Attention: This is a 16Bit MS-DOS application!
Does not work on 64 Bit Windows.
Not compatible with Filter Factory 3.00b (internal
build), Filter Factory 3.1.x (inofficial patch), or Filter Foundry.
Links to other good pages
Filter Factory
Programming Guide by Werner D. Streidt
Note: There are some mistakes in the programming guide:
- tan(x) is NOT bounded and WILL go to +/- infinity! See the correct diagram here
- The ranges of the i,u,v functions are wrong. The correct ranges are: i=0..254, u=-55..55, v=-77..77, however, these ranges have been
changed in my patch to i=0..255, u=-55..55,
v=-78..78.
- The diagram of the polar coordinate functions and the range of variable d is wrong. The correct values are -512 to 512, going clockwise, beginning from the 9 o'clock position. The original Filter Factory manual is wrong, too.
- The download-links are outdated
Contact
You can contact me at
daniel-marschall(at)viathinksoft.de