Parses a Filter Factory Wizard program.
(Mario Klingemann)?'s Filter Factory Wizard modified and extended the AFS text file format to provide a more general and complete way to save the design parameters of a Filter Factory filter. This format was also proposed as the basis for the general publication format used in the (FFDG)?.
The FFW format improves on the AFS format by explicitly tagging all fields, and adding fields for the filter Category, Title, Copyright, Author, and Filename information. It also allows one to specify which sliders are actually used by the filter, and the labels of these sliders.
The following is an example of a FFW program file (MyFilter1.ffw):
%FFW Category: MyFilters Title: My First Filter Filename: MyFilter1 Author: Plato Copyright: © 2008 Description: My very first plug-in filter. R:(r-g)/2 G:(g+b)/2 B:(b/2) + ctl(0) A:255 ctl[0]: Red Mix val[0]: 0 ctl[1]: Green Mix val[1]: 10 ctl[2]: Blue Mix val[2]: 120
The following is a more elaborate example:
Category: AFH Title: AFH Beveler 2.0b... Copyright: Copyright © 1998 AFH Web Design http://www.afh.com/web/design.html Author: Alexander F. Hunter Filename: afhbev2b.8bf R:((x<val(7,0,M))&&(y>=x)&&(y<Y-x))?scl(c,0,255,ctl(0),ctl(1)*2)+ctl(4)-128: ((y<val(7,0,M))&&(x>y)&&(x<X-y))?scl(c,0,255,ctl(0),ctl(1)*2)-ctl(4)+128: ((X-x<=val(7,0,M))&&(Y-y>=X-x)&&(y>x-X))?scl(c,0,255,ctl(2),ctl(3)*2)+ctl(5)-128: ((Y-y<=val(7,0,M))&&(X-x>Y-y)&&(x>y-Y))?scl(c,0,255,ctl(2),ctl(3)*2)-ctl(5)+128:c G:((x<val(7,0,M))&&(y>=x)&&(y<Y-x))?scl(c,0,255,ctl(0),ctl(1)*2)+ctl(4)-128: ((y<val(7,0,M))&&(x>y)&&(x<X-y))?scl(c,0,255,ctl(0),ctl(1)*2)-ctl(4)+128: ((X-x<=val(7,0,M))&&(Y-y>=X-x)&&(y>x-X))?scl(c,0,255,ctl(2),ctl(3)*2)+ctl(5)-128: ((Y-y<=val(7,0,M))&&(X-x>Y-y)&&(x>y-Y))?scl(c,0,255,ctl(2),ctl(3)*2)-ctl(5)+128:c B:((x<val(7,0,M))&&(y>=x)&&(y<Y-x))?scl(c,0,255,ctl(0),ctl(1)*2)+ctl(4)-128: ((y<val(7,0,M))&&(x>y)&&(x<X-y))?scl(c,0,255,ctl(0),ctl(1)*2)-ctl(4)+128: ((X-x<=val(7,0,M))&&(Y-y>=X-x)&&(y>x-X))?scl(c,0,255,ctl(2),ctl(3)*2)+ctl(5)-128: ((Y-y<=val(7,0,M))&&(X-x>Y-y)&&(x>y-Y))?scl(c,0,255,ctl(2),ctl(3)*2)-ctl(5)+128:c A:a ctl[0]: Top/left black level: ctl[1]: Top/left white level: ctl[2]: Bot/right black level: ctl[3]: Bot/right white level: ctl[4]: Top/left balance: ctl[5]: Bot/right balance: ctl[7]: Bevel width: val[0]: 28 val[1]: 201 val[2]: 0 val[3]: 76 val[4]: 82 val[5]: 149 val[7]: 8