Attention: This page only addresses Filter Factory 3.00 and 3.0.4 for Photoshop/Win32.
There are five core functions in the FUNC and OPER resources which are used internally. Five function names (error, prolog, epilog, number and negate) cannot be used by the user as they have a special meaning.
The function "error" gets called in case of an error.
2B C0 | sub eax,eax | res = 0 |
C3 | ret | return res; |
The function "prolog" gets written at the beginning of the channel processing sequence.
55 | push ebp (backup) |
56 | push esi (backup) |
57 | push edi (backup) |
54 | push esp (backup) |
8B 7C 24 14 | mov edi,[esp+$14] |
The function "epilog" gets written at the end of the channel processing sequence.
58 | pop eax (result) |
5C | pop esp (restore) |
5F | pop edi (restore) |
5E | pop esi (restore) |
5D | pop ebp (restore) |
C3 | ret |
The function "number" will be called every time you enter an absolute number in a formula.
68 .. .. .. .. | push $........ |
The function "negate" is called everytime you write a "-" which is not part of a subtraction infix operator.
The reason why the function name "negate" had to be used is that "-" is already used as subtraction operator in the OPER resource, but "-" can be used as infix and unary operator.
58 | pop eax (param_a) | . |
F7 D8 | neg eax | . |
50 | push eax | return -param_a; |
In some variants of FilterFactory/TransitionFactory, calling negate is possible, and will negate the whole formula.
The function debug
(number of arguments unknown) causes Premiere to crash if it is called manually. It's functionality is unknown.
The function dbg(i)
only exists in Filter Foundry on Macintosh and WILL crash the WHOLE SYSTEM, seriously!