Subversion Repositories filter_foundry

Rev

Rev 382 | Rev 389 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 382 Rev 385
1
# Changelog
1
# Changelog
2
 
2
 
-
 
3
## 1.7.0.12 [Work-In-Progress]
-
 
4
- Added possibility to load PluginCommander TXT files.
-
 
5
 
3
## 1.7.0.11 [01-Nov-2021]
6
## 1.7.0.11 [01-Nov-2021]
4
- Tab-Order has been changed (*)
7
- Tab-Order has been changed (*)
5
- Fixed incompatibility with older versions of Wine (Windows emulator for Linux systems)
8
- Fixed incompatibility with older versions of Wine (Windows emulator for Linux systems)
6
- In the Make dialog, if you clicked "OK" and then cancelled the save dialog, you didn't get back to the Make-dialog. Fixed.
9
- In the Make dialog, if you clicked "OK" and then cancelled the save dialog, you didn't get back to the Make-dialog. Fixed.
7
- "Filters Unlimited" filters (FFX files) can now be loaded. However, only the basic Filter Factory commands are supported.
10
- "Filters Unlimited" filters (FFX files) can now be loaded. However, only the basic Filter Factory commands are supported.
8
- You can now also save to the "Premiere Filter Factory" (.pff) file format.
11
- You can now also save to the "Premiere Filter Factory" (.pff) file format.
9
- Internal change: The resource fork type 'TpLT' is now 'tpLT'.
12
- Internal change: The resource fork type 'TpLT' is now 'tpLT'.
10
- Internal change: Obfuscated data is stored in resource fork 'obFS' instead of 'DATA'. For Windows "OBFS" instead of RCDATA.
13
- Internal change: Obfuscated data is stored in resource fork 'obFS' instead of 'DATA'. For Windows "OBFS" instead of RCDATA.
11
- Bugfix: When you tried to load a protected obfuscated filter and then tried to make a new filter, the filter was damaged. Fixed.
14
- Bugfix: When you tried to load a protected obfuscated filter and then tried to make a new filter, the filter was damaged. Fixed.
12
 
15
 
13
(*) This bug/solution was tested on Windows but needs to be verified and/or implemented on Mac.
16
(*) This bug/solution was tested on Windows but needs to be verified and/or implemented on Mac.
14
 
17
 
15
## 1.7.0.10 [19-Sep-2021]
18
## 1.7.0.10 [19-Sep-2021]
16
- Introduced obfuscation version 6, which is more secure and 4 times faster!
19
- Introduced obfuscation version 6, which is more secure and 4 times faster!
17
- Warning signs and zoom in/out pictures now have "tool tips" so that you know what will happen if you click them (*)
20
- Warning signs and zoom in/out pictures now have "tool tips" so that you know what will happen if you click them (*)
18
 
21
 
19
(*) This bug/solution was tested on Windows but needs to be verified and/or implemented on Mac.
22
(*) This bug/solution was tested on Windows but needs to be verified and/or implemented on Mac.
20
 
23
 
21
## 1.7.0.9 [12-Sep-2021]
24
## 1.7.0.9 [12-Sep-2021]
22
- `dmin` has been changed from 0 to -512, `dmax` has been changed from 1024 to 512, and `D` stayed 1024 (`D:=dmax-dmin`), in order to fit the actual ranges of `d`, as implemented in Filter Factory.
25
- `dmin` has been changed from 0 to -512, `dmax` has been changed from 1024 to 512, and `D` stayed 1024 (`D:=dmax-dmin`), in order to fit the actual ranges of `d`, as implemented in Filter Factory.
23
- `I` is now defined as `imax-imin`. Same with `U` and `V`. Therefore, the variables are now `I=255`, `U=110`, and `V=156`.
26
- `I` is now defined as `imax-imin`. Same with `U` and `V`. Therefore, the variables are now `I=255`, `U=110`, and `V=156`.
24
- Windows: Reading of Mac standalone plugins (rsrc files): The initial values of the sliders are now correctly read, as well as the line-breaks of the copyright-field.
27
- Windows: Reading of Mac standalone plugins (rsrc files): The initial values of the sliders are now correctly read, as well as the line-breaks of the copyright-field.
25
- Standalone dialog: Can now have multi-line copyright text (*)
28
- Standalone dialog: Can now have multi-line copyright text (*)
26
- Increased speed of the creation of the preview picture if state-changing functions (put,rnd,rst) are used (reverted change in 1.7b1). The preview might not be accurate at some rare cases, but at least it is now very fast again...
29
- Increased speed of the creation of the preview picture if state-changing functions (put,rnd,rst) are used (reverted change in 1.7b1). The preview might not be accurate at some rare cases, but at least it is now very fast again...
27
- Built filters can now be read by Plugin Manager 2.1 by I.C.NET (Michael Johannhanwahr). Note that not all filters might work, because PluginManager has its own implementation of the FilterFactory functions and might not implemented some previously undocumented functions. It will not implement the newly added pow() function of FilterFactory 3.1.0 / Filter Foundry 1.7 either.
30
- Built filters can now be read by Plugin Manager 2.1 by I.C.NET (Michael Johannhanwahr). Note that not all filters might work, because PluginManager has its own implementation of the FilterFactory functions and might not implemented some previously undocumented functions. It will not implement the newly added pow() function of FilterFactory 3.1.0 / Filter Foundry 1.7 either.
28
 
31
 
29
(*) This bug/solution was tested on Windows but needs to be verified and/or implemented on Mac.
32
(*) This bug/solution was tested on Windows but needs to be verified and/or implemented on Mac.
30
 
33
 
31
## 1.7.0.8 [03-Sep-2021]
34
## 1.7.0.8 [03-Sep-2021]
32
- Created 8BF standalone filters now contain the correct PE checksum (Note: The original compiled binaries contain "0", compiled with OpenWatcom and Visual C++)
35
- Created 8BF standalone filters now contain the correct PE checksum (Note: The original compiled binaries contain "0", compiled with OpenWatcom and Visual C++)
33
- Introduced obfuscation version 5 (it is like version 4, but contains an integrity check); also fixed some smaller issues with obfuscation loading.
36
- Introduced obfuscation version 5 (it is like version 4, but contains an integrity check); also fixed some smaller issues with obfuscation loading.
34
- Following functions have been changed to a 100% replica of the Filter Factory implementation:
37
- Following functions have been changed to a 100% replica of the Filter Factory implementation:
35
	* `rnd(a,b)`
38
	* `rnd(a,b)`
36
	* `cos(x)`
39
	* `cos(x)`
37
	* `sin(x)`
40
	* `sin(x)`
38
	* `tan(x)`
41
	* `tan(x)`
39
	* `r2x(d,m)`
42
	* `r2x(d,m)`
40
	* `r2y(d,m)`
43
	* `r2y(d,m)`
41
	* `rad(d,m,z)`
44
	* `rad(d,m,z)`
42
	* `c2d(x,y)`
45
	* `c2d(x,y)`
43
	* `c2m(x,y)`
46
	* `c2m(x,y)`
44
	* `sqr(x)`
47
	* `sqr(x)`
45
	* `d`
48
	* `d`
46
	* `m`
49
	* `m`
47
	* `M`
50
	* `M`
48
- The window is now opened on the correct screen (the one where Photoshop is opened). Additionally, it is avoided that the window is spread over multiple screens. (*)
51
- The window is now opened on the correct screen (the one where Photoshop is opened). Additionally, it is avoided that the window is spread over multiple screens. (*)
49
- Added new function `pow(b,e)` which are already part of the inofficial Filter Factory 3.1.0 patch by Daniel Marschall.
52
- Added new function `pow(b,e)` which are already part of the inofficial Filter Factory 3.1.0 patch by Daniel Marschall.
50
- The previously undocumented variables I, U, V as well as imin, umin, vmin have been changed to represent the actual results of the i,u,v variables:
53
- The previously undocumented variables I, U, V as well as imin, umin, vmin have been changed to represent the actual results of the i,u,v variables:
51
	imin = 0 (stayed the same)
54
	imin = 0 (stayed the same)
52
	umin = -55 (was 0)
55
	umin = -55 (was 0)
53
	vmin = -78 (was 0)
56
	vmin = -78 (was 0)
54
	I, imax = 255 (stayed the same)
57
	I, imax = 255 (stayed the same)
55
	U, umax = 55 (was 255)
58
	U, umax = 55 (was 255)
56
	V, vmax = 78 (was 255)
59
	V, vmax = 78 (was 255)
57
- Added a documentation based on the Filter Factory documentation.
60
- Added a documentation based on the Filter Factory documentation.
58
- Added a help button which opens the documentation on the web. (*)
61
- Added a help button which opens the documentation on the web. (*)
59
- For 32/64-bit cross-build, there is now no requirement that both plugin files must be installed anymore.
62
- For 32/64-bit cross-build, there is now no requirement that both plugin files must be installed anymore.
60
- Windows 95/98/Me: If UNICOWS.DLL is missing (required for building a standalone filter), it will be automatically installed for you (version 1.1.3790.0, signed 07 Dec 2004)
63
- Windows 95/98/Me: If UNICOWS.DLL is missing (required for building a standalone filter), it will be automatically installed for you (version 1.1.3790.0, signed 07 Dec 2004)
61
- Fixed error where the 8BF manifest file contained garbage data at the end, resulting in the standalone filter having no "XP design"
64
- Fixed error where the 8BF manifest file contained garbage data at the end, resulting in the standalone filter having no "XP design"
62
 
65
 
63
(*) This bug/solution was tested on Windows but needs to be verified and/or implemented on Mac.
66
(*) This bug/solution was tested on Windows but needs to be verified and/or implemented on Mac.
64
 
67
 
65
## 1.7.0.7 [08-Aug-2021]
68
## 1.7.0.7 [08-Aug-2021]
66
- Standalone filters are now created in 32 and 64 bit. To make this work, you need to install FilterFoundry.8bf and FilterFoundry64.8bf in your plug-in directory. (*)
69
- Standalone filters are now created in 32 and 64 bit. To make this work, you need to install FilterFoundry.8bf and FilterFoundry64.8bf in your plug-in directory. (*)
67
- Security improvement: Filters which have been built using obfuscation "V3" or "V4" will now always be treated as protected plugin, even if the obfuscated code has been manipulated.
70
- Security improvement: Filters which have been built using obfuscation "V3" or "V4" will now always be treated as protected plugin, even if the obfuscated code has been manipulated.
68
- Introduced obfuscation "V4" (more secure) which stores the seed in the binary code of the 8BF file (*)
71
- Introduced obfuscation "V4" (more secure) which stores the seed in the binary code of the 8BF file (*)
69
- Obfuscated "V1" and obfuscated "V2" filters can now be loaded again (as long as they aren't protected)
72
- Obfuscated "V1" and obfuscated "V2" filters can now be loaded again (as long as they aren't protected)
70
- Windows message box dialogs are now properly "modal" (they have the correct parent window handle), and therefore, they blink when you click at the parent window.
73
- Windows message box dialogs are now properly "modal" (they have the correct parent window handle), and therefore, they blink when you click at the parent window.
71
- The TPLT (template data) and build dialog resources are now deleted from standalone filters to save space. (*)
74
- The TPLT (template data) and build dialog resources are now deleted from standalone filters to save space. (*)
72
- "PE header build timestamp" is now set for built standalone filters
75
- "PE header build timestamp" is now set for built standalone filters
73
 
76
 
74
(*) This bug/solution was tested on Windows but needs to be verified and/or implemented on Mac.
77
(*) This bug/solution was tested on Windows but needs to be verified and/or implemented on Mac.
75
 
78
 
76
## 1.7.0.6 [01-Aug-2021]
79
## 1.7.0.6 [01-Aug-2021]
77
- .pff files (Premiere Filter Factory) are now correctly loaded
80
- .pff files (Premiere Filter Factory) are now correctly loaded
78
- Obfuscated standalone filters can now recall the previous settings on GIMP/Irfanview (was disabled in 1.7.0.5, because the temporaray .afs file leaked the obfuscated code).
81
- Obfuscated standalone filters can now recall the previous settings on GIMP/Irfanview (was disabled in 1.7.0.5, because the temporaray .afs file leaked the obfuscated code).
79
 
82
 
80
## 1.7.0.5 [30-Jul-2021]
83
## 1.7.0.5 [30-Jul-2021]
81
- Changed obfuscation code ("Version 3", now more secure). It is compiler-dependent, therefore the resource cannot be exchanged between plugins
84
- Changed obfuscation code ("Version 3", now more secure). It is compiler-dependent, therefore the resource cannot be exchanged between plugins
82
- When an obfuscated filter is loaded, it will be checked if the obfuscation worked / is compatible
85
- When an obfuscated filter is loaded, it will be checked if the obfuscation worked / is compatible
83
- The feature "Obfuscate" and "Protected" are now merged together.
86
- The feature "Obfuscate" and "Protected" are now merged together.
84
	Reason: Obfuscate without protect makes no sense (since everybody can read/load it using FilterFoundry) and
87
	Reason: Obfuscate without protect makes no sense (since everybody can read/load it using FilterFoundry) and
85
	protect without obfuscate makes no sense (because you can read the formula using a resource editor and even remove the protect flag with a hex editor)
88
	protect without obfuscate makes no sense (because you can read the formula using a resource editor and even remove the protect flag with a hex editor)
86
- Standalone plugins: Version info wasn't written correctly when plugin was obfuscated. Fixed.
89
- Standalone plugins: Version info wasn't written correctly when plugin was obfuscated. Fixed.
87
 
90
 
88
## 1.7.0.4 [27-Jul-2021]
91
## 1.7.0.4 [27-Jul-2021]
89
- Fixed problem where 32bit Windows plugin tries to load 64bit standalone plugin
92
- Fixed problem where 32bit Windows plugin tries to load 64bit standalone plugin
90
- Bugfix: Windows Open/Save dialogs: At the title, the first character was missing. Fixed.
93
- Bugfix: Windows Open/Save dialogs: At the title, the first character was missing. Fixed.
91
- Internal change: "Manifest" resource gets individualized in standalone plugins
94
- Internal change: "Manifest" resource gets individualized in standalone plugins
92
- Internal change: PiPL/Manifest-template is now stored in 'TpLT' instead of 'DATA'/RCDATA. (But obfuscated data stays at 'DATA'/RCDATA)
95
- Internal change: PiPL/Manifest-template is now stored in 'TpLT' instead of 'DATA'/RCDATA. (But obfuscated data stays at 'DATA'/RCDATA)
93
- Bugfix: If you called a standalone filter two times, then the main dialog opened (bug introduced in 1.7.0.3)
96
- Bugfix: If you called a standalone filter two times, then the main dialog opened (bug introduced in 1.7.0.3)
94
- Ifanview/GIMP can now also work with standalone filters
97
- Ifanview/GIMP can now also work with standalone filters
95
- If the user tries to open a protected 8BF file, the error message will now state that it can't be opened because the filter is protected
98
- If the user tries to open a protected 8BF file, the error message will now state that it can't be opened because the filter is protected
96
 
99
 
97
## 1.7.0.3 [23-Jul-2021]
100
## 1.7.0.3 [23-Jul-2021]
98
- Support BigDocument structure (.psb) (*)
101
- Support BigDocument structure (.psb) (*)
99
 
102
 
100
(*) This bug/solution was tested on Windows but needs to be verified and/or implemented on Mac.
103
(*) This bug/solution was tested on Windows but needs to be verified and/or implemented on Mac.
101
 
104
 
102
## 1.7.0.2 [19-Jul-2021]
105
## 1.7.0.2 [19-Jul-2021]
103
- Project was forked by Daniel Marschall and released on GitHub. For now, only the Windows version is supported.
106
- Project was forked by Daniel Marschall and released on GitHub. For now, only the Windows version is supported.
104
- Bugfix: If a plugin is called from a recorded Action, a dialog was shown at the first start, even if dialogs were disabled.
107
- Bugfix: If a plugin is called from a recorded Action, a dialog was shown at the first start, even if dialogs were disabled.
105
- Bugfix: Variable `d` now works like FilterFactory/FilterFoundy1.6 again. (Bug introduced in FilterFoundry 1.7b1 due to the change of the `c2d()` function)
108
- Bugfix: Variable `d` now works like FilterFactory/FilterFoundy1.6 again. (Bug introduced in FilterFoundry 1.7b1 due to the change of the `c2d()` function)
106
  NOTE: FilterFactory uses `c2d(x,y) := atan2(y,x)`, but `d := atan2(-y,-x)`. Due to compatibility reasons, we implement it the same way!
109
  NOTE: FilterFactory uses `c2d(x,y) := atan2(y,x)`, but `d := atan2(-y,-x)`. Due to compatibility reasons, we implement it the same way!
107
- Bugfix: Standalone filters did not show the correct "About" dialog
110
- Bugfix: Standalone filters did not show the correct "About" dialog
108
- FilterFoundry is now AppleScript aware (*)
111
- FilterFoundry is now AppleScript aware (*)
109
- Fixed various smaller things and improved the source code building process
112
- Fixed various smaller things and improved the source code building process
110
- Map labels are centered between two sliders, like in Filter Factory (*)
113
- Map labels are centered between two sliders, like in Filter Factory (*)
111
- AFS files: Improved interoperability (read/write) with Filter Factory in regards "line break" characters
114
- AFS files: Improved interoperability (read/write) with Filter Factory in regards "line break" characters
112
- "About dialog" shows if the plugin is a 32 bit or 64 bit plugin
115
- "About dialog" shows if the plugin is a 32 bit or 64 bit plugin
113
- "Original filename" version info attribute now correctly shows "FilterFoundry64.8bf" for 64 bit build
116
- "Original filename" version info attribute now correctly shows "FilterFoundry64.8bf" for 64 bit build
114
- Left "beta" state
117
- Left "beta" state
115
 
118
 
116
(*) This bug/solution was tested on Windows but needs to be verified and/or implemented on Mac.
119
(*) This bug/solution was tested on Windows but needs to be verified and/or implemented on Mac.
117
 
120
 
118
## 1.7b1 [20-Sep-2019]
121
## 1.7b1 [20-Sep-2019]
119
- First release by Daniel Marschall
122
- First release by Daniel Marschall
120
- Fixed crash at filter startup when the computer had too much RAM.
123
- Fixed crash at filter startup when the computer had too much RAM.
121
- Fixed crash where built obfuscated filters could not be opened.
124
- Fixed crash where built obfuscated filters could not be opened.
122
- Changed format of obfuscated filters ("Version 2"). It is now compiler-independant.
125
- Changed format of obfuscated filters ("Version 2"). It is now compiler-independant.
123
- Added function `rst(i)` which is an undocumented function in Filter Factory for setting a random seed.
126
- Added function `rst(i)` which is an undocumented function in Filter Factory for setting a random seed.
124
- Size PARM_SIZE in PARM resource corrected.
127
- Size PARM_SIZE in PARM resource corrected.
125
- Added Visual Studio project file, and extended NMake script to support flex and bison compilation.
128
- Added Visual Studio project file, and extended NMake script to support flex and bison compilation.
126
- Dialogs (build dialog, open and save dialogs) are now modal, i.e. the main window is locked when they are open. (*)
129
- Dialogs (build dialog, open and save dialogs) are now modal, i.e. the main window is locked when they are open. (*)
127
- The preview dialog has now a hand cursor. (Open hand on hover. Grabbing hand on panning) (*)
130
- The preview dialog has now a hand cursor. (Open hand on hover. Grabbing hand on panning) (*)
128
- Dialog boxes now have a "X" button to close the window.
131
- Dialog boxes now have a "X" button to close the window.
129
- Preview: Checkerboard does only move when the panning succeeded (the picture didn't go off border)
132
- Preview: Checkerboard does only move when the panning succeeded (the picture didn't go off border)
130
- Bugfix: In the preview window, you could (virtually) pan the image beyond the canvas, so that you needed to pan multiple times in the opposite direction to get to the position "0" again.
133
- Bugfix: In the preview window, you could (virtually) pan the image beyond the canvas, so that you needed to pan multiple times in the opposite direction to get to the position "0" again.
131
- The "version information" of standalone filters is now individualized by the creator's input
134
- The "version information" of standalone filters is now individualized by the creator's input
132
- Win64 support (*)
135
- Win64 support (*)
133
- All undocumented symbol aliases of FilterFactory are now supported (`rmin`, `rmax`, `cnv0`, etc.)
136
- All undocumented symbol aliases of FilterFactory are now supported (`rmin`, `rmax`, `cnv0`, etc.)
134
- Bugfix: In some cases, the preview image had a small stripe of random pixels at the right or bottom.
137
- Bugfix: In some cases, the preview image had a small stripe of random pixels at the right or bottom.
135
- For disabled sliders, the corresponding label is now also grayed out (*)
138
- For disabled sliders, the corresponding label is now also grayed out (*)
136
- Bugfix: In standalone filters, the unused `ctl()` labels were not hidden. They are now invisible as intended.
139
- Bugfix: In standalone filters, the unused `ctl()` labels were not hidden. They are now invisible as intended.
137
- Bugfix: At standalone filters, the `map` text was not displayed; instead, the two `ctl` texts were displayed.
140
- Bugfix: At standalone filters, the `map` text was not displayed; instead, the two `ctl` texts were displayed.
138
- AFS Files are now compatible with FilterFactory. (FilterFactory does ONLY understand `"\r"` (0D) linebreaks, while FilterFoundry always saved `"\n"` (0A) linebreaks, while being able to read `"\r"`, `"\n"` or `"\r\n"`. Now, `"\r"` is used for saving.) (*)
141
- AFS Files are now compatible with FilterFactory. (FilterFactory does ONLY understand `"\r"` (0D) linebreaks, while FilterFoundry always saved `"\n"` (0A) linebreaks, while being able to read `"\r"`, `"\n"` or `"\r\n"`. Now, `"\r"` is used for saving.) (*)
139
- The "caution" sign that indicates an error in the expression now has a hand cursor that shows up when you hover over the icon, to indicate that the user will receive more information if they click on the icon (*)
142
- The "caution" sign that indicates an error in the expression now has a hand cursor that shows up when you hover over the icon, to indicate that the user will receive more information if they click on the icon (*)
140
- The "caution" sign now has a sharper design (it was a bit pixelated).
143
- The "caution" sign now has a sharper design (it was a bit pixelated).
141
- The expression input fields now have a vertical scrollbar (*)
144
- The expression input fields now have a vertical scrollbar (*)
142
- YUV formulas are now more accurate. They are slightly different, but not much.
145
- YUV formulas are now more accurate. They are slightly different, but not much.
143
	* The i range is now [0..255] instead of [0..254].
146
	* The i range is now [0..255] instead of [0..254].
144
	   (This means that pure white has now i=255 instead of i=254)
147
	   (This means that pure white has now i=255 instead of i=254)
145
	* The u range stays at [-55..55].
148
	* The u range stays at [-55..55].
146
	* The v range is now [-78..78] instead of [-77..77].
149
	* The v range is now [-78..78] instead of [-77..77].
147
- Bugfix: If `ctl()` or `map()` was called with a non-constant argument, the controls in the build dialogs were not correctly enabled/disabled, and built standalone filters did not get the correct "needs UI" flag. Fixed.
150
- Bugfix: If `ctl()` or `map()` was called with a non-constant argument, the controls in the build dialogs were not correctly enabled/disabled, and built standalone filters did not get the correct "needs UI" flag. Fixed.
148
- In the build dialog, if `map()` was used, the corresponding `ctl()`-labels now can't be changed anymore, since the resulting standalone filter won't show them anyway.
151
- In the build dialog, if `map()` was used, the corresponding `ctl()`-labels now can't be changed anymore, since the resulting standalone filter won't show them anyway.
149
- Warning dialogs (`alertuser` and `simplealert` function) are now modal. (*)
152
- Warning dialogs (`alertuser` and `simplealert` function) are now modal. (*)
150
- Bugfix: Trigonometry functions sin and cos had wrong output ranges for Windows (it was -1024..1024 instead of the documented output range -512..512). Fixed.
153
- Bugfix: Trigonometry functions sin and cos had wrong output ranges for Windows (it was -1024..1024 instead of the documented output range -512..512). Fixed.
151
- Bugfix: Trigonometry function tan now behaves like in Filter Factory
154
- Bugfix: Trigonometry function tan now behaves like in Filter Factory
152
- Bugfix: Function `c2d()` now behaves like in Filter Factory. Implementation changed from `atan2(-y,-x)` to atan2(y,x).
155
- Bugfix: Function `c2d()` now behaves like in Filter Factory. Implementation changed from `atan2(-y,-x)` to atan2(y,x).
153
- Bugfix: The cell values used by the functions `get()` and `put()` were not (re-)initialized before the filter started running. This caused that expressions like `put(get(0)+1,0)` produced different results at each run.
156
- Bugfix: The cell values used by the functions `get()` and `put()` were not (re-)initialized before the filter started running. This caused that expressions like `put(get(0)+1,0)` produced different results at each run.
154
- Adobe Premiere FilterFactory/TransitionFactory filters (`.pff` Settings and `.prm` 16/32 bit Windows Standalone Filters) can now be imported (*)
157
- Adobe Premiere FilterFactory/TransitionFactory filters (`.pff` Settings and `.prm` 16/32 bit Windows Standalone Filters) can now be imported (*)
155
- Old FilterFactory standalone filters for macOS can now be imported (*)
158
- Old FilterFactory standalone filters for macOS can now be imported (*)
156
- In Windows, the "load" algorithm will now first check if a file is an AFS/PFF file, and then if it is a standalone filter. Due to this, files can now be opened, even if they have the wrong file extension.
159
- In Windows, the "load" algorithm will now first check if a file is an AFS/PFF file, and then if it is a standalone filter. Due to this, files can now be opened, even if they have the wrong file extension.
157
- Bugfix: When state-changing functions (rst, rnd or put) are used within the formula, every pixel in the picture will now be evaluated during preview, even if the user has zoomed in.
160
- Bugfix: When state-changing functions (rst, rnd or put) are used within the formula, every pixel in the picture will now be evaluated during preview, even if the user has zoomed in.
158
- Fixed "off by one" bug where you could pan a fit-zoomed picture by 1 pixel in the preview
161
- Fixed "off by one" bug where you could pan a fit-zoomed picture by 1 pixel in the preview
159
- The preview area now has a dark off-canvas area and for Windows, a "sunken" border
162
- The preview area now has a dark off-canvas area and for Windows, a "sunken" border
160
- Windows: Visual Styles are now supported and always be applied
163
- Windows: Visual Styles are now supported and always be applied
161
- Bugfix: If you click the zoom level-caption for a tiny picture, the zoom ("fit zoom") won't zoom in to >100% anymore.
164
- Bugfix: If you click the zoom level-caption for a tiny picture, the zoom ("fit zoom") won't zoom in to >100% anymore.
162
- Building standalone filters is now possible with Windows 9x. (Requires compilation using an old Windows SDK, or compilation using OpenWatcom)
165
- Building standalone filters is now possible with Windows 9x. (Requires compilation using an old Windows SDK, or compilation using OpenWatcom)
163
- Fixed TLV lengths in the PIPL structure (includes now paddings). This might solve incompatibilities with non-Photoshop hosts (i.e. GIMP).
166
- Fixed TLV lengths in the PIPL structure (includes now paddings). This might solve incompatibilities with non-Photoshop hosts (i.e. GIMP).
164
- GIMP (using PSPI to load 8BF plugins) and IrfanView is now compatible.
167
- GIMP (using PSPI to load 8BF plugins) and IrfanView is now compatible.
165
- `c2m()` and `sqr()` are now approximately 3 times faster
168
- `c2m()` and `sqr()` are now approximately 3 times faster
166
- Build of plugins with empty titles or categories will now be prevented since plugins with empty categories or titles won't be shown in the filter menu.
169
- Build of plugins with empty titles or categories will now be prevented since plugins with empty categories or titles won't be shown in the filter menu.
167
- Fixed Actions (recording/playback). Several things like the AETE resource were broken. The classID had to be changed to `'Fltr'` so that the parameters are shown in the Photoshop Action tab. (*)
170
- Fixed Actions (recording/playback). Several things like the AETE resource were broken. The classID had to be changed to `'Fltr'` so that the parameters are shown in the Photoshop Action tab. (*)
168
- Scripting/Actions: For standalone filters, the name of the sliders are now written in the "Actions" tab. The function `fixaete()` was replaced with `aete_generate()`. (*)
171
- Scripting/Actions: For standalone filters, the name of the sliders are now written in the "Actions" tab. The function `fixaete()` was replaced with `aete_generate()`. (*)
169
- `MaxSpace64` will now be used, if supported by the host
172
- `MaxSpace64` will now be used, if supported by the host
170
 
173
 
171
(*) This bug/solution was tested on Windows but needs to be verified and/or implemented on Mac.
174
(*) This bug/solution was tested on Windows but needs to be verified and/or implemented on Mac.
172
 
175
 
173
## 1.6b1 [07-Jun-2009]
176
## 1.6b1 [07-Jun-2009]
174
- Clean up for 64-bit Windows build
177
- Clean up for 64-bit Windows build
175
 
178
 
176
## 1.5b6 [26-Aug-2007]
179
## 1.5b6 [26-Aug-2007]
177
- Associativity of `?`: operator (Harald Heim)
180
- Associativity of `?`: operator (Harald Heim)
178
 
181
 
179
## 1.5b4 [02-Aug-2007]
182
## 1.5b4 [02-Aug-2007]
180
- Fix debug message spotted by Daniel Denk
183
- Fix debug message spotted by Daniel Denk
181
 
184
 
182
## 1.5b3 [13-Jul-2007]
185
## 1.5b3 [13-Jul-2007]
183
- Add instrumentation to try to find CS3/Intel Mac "Make standalone" problem.
186
- Add instrumentation to try to find CS3/Intel Mac "Make standalone" problem.
184
 
187
 
185
## 1.5b1,2 [19-Feb-2007]
188
## 1.5b1,2 [19-Feb-2007]
186
- Support remaining 8-bit image modes (wishlist proposal)
189
- Support remaining 8-bit image modes (wishlist proposal)
187
 
190
 
188
## 1.4b7 [18-Feb-2007]
191
## 1.4b7 [18-Feb-2007]
189
- Swap +/- zoom controls to match Photoshop builtins
192
- Swap +/- zoom controls to match Photoshop builtins
190
 
193
 
191
## 1.4b8,9,10
194
## 1.4b8,9,10
192
- Simple parameter obfuscation ("Version 1") in standalone plugins (wishlist #7)
195
- Simple parameter obfuscation ("Version 1") in standalone plugins (wishlist #7)
193
 
196
 
194
## 1.4b6 [16-Feb-2007]
197
## 1.4b6 [16-Feb-2007]
195
- Lowercase default file extensions (wishlist #1)
198
- Lowercase default file extensions (wishlist #1)
196
 
199
 
197
## 1.4b5 [02-Feb-2007]
200
## 1.4b5 [02-Feb-2007]
198
- Minor changes to image sampling logic (`ff_src()`, `rawsrc()`)
201
- Minor changes to image sampling logic (`ff_src()`, `rawsrc()`)
199
 
202
 
200
## 1.4b4 [01-Feb-2007]
203
## 1.4b4 [01-Feb-2007]
201
- `cnv()` no longer requests the entire filtered image in one piece; can now work in chunks to improve the handling of edge pixels when filtering selection
204
- `cnv()` no longer requests the entire filtered image in one piece; can now work in chunks to improve the handling of edge pixels when filtering selection
202
 
205
 
203
## 1.4b3 [01-Feb-2007]
206
## 1.4b3 [01-Feb-2007]
204
- In `cnv()`, repeat pixels at the edge of the image, instead of using zero (reported by Daniel Denk)
207
- In `cnv()`, repeat pixels at the edge of the image, instead of using zero (reported by Daniel Denk)
205
 
208
 
206
## 1.4b2 [31-Jan-2007]
209
## 1.4b2 [31-Jan-2007]
207
- Fix selection bug reported by Daniel Denk
210
- Fix selection bug reported by Daniel Denk
208
 
211
 
209
## 1.4b1 [04-Jan-2007]
212
## 1.4b1 [04-Jan-2007]
210
- Universal Binary on OS X (PPC+Intel)
213
- Universal Binary on OS X (PPC+Intel)
211
 
214
 
212
## 1.3b2 [01-Sep-2006]
215
## 1.3b2 [01-Sep-2006]
213
- Fix standalone UI bugs (thanks Craig Bickford)
216
- Fix standalone UI bugs (thanks Craig Bickford)
214
 
217
 
215
## 1.3b1 [05-Jun-2006]
218
## 1.3b1 [05-Jun-2006]
216
- Fix `x`, `y`, `X`, `Y`, `M` variables to use selection extent instead of image size (per Eiji Nishidai)
219
- Fix `x`, `y`, `X`, `Y`, `M` variables to use selection extent instead of image size (per Eiji Nishidai)
217
 
220
 
218
## 1.2b4 [06-May-2006]
221
## 1.2b4 [06-May-2006]
219
- Fix minor AFS saving bug
222
- Fix minor AFS saving bug
220
 
223
 
221
## 1.2b3 [25-Mar-2006]
224
## 1.2b3 [25-Mar-2006]
222
- Include `R`, `G`, `B`, `A`, `C`, `i`, `U`, `V` undocumented(?) constants (per Harald Heim)
225
- Include `R`, `G`, `B`, `A`, `C`, `i`, `U`, `V` undocumented(?) constants (per Harald Heim)
223
 
226
 
224
## 1.2b2 [23-Mar-2006]
227
## 1.2b2 [23-Mar-2006]
225
- New release
228
- New release
226
 
229
 
227
## 1.2b1 [22-Mar-2006]
230
## 1.2b1 [22-Mar-2006]
228
- Read parameters from Windows .8BF Filter Factory standalone plugins, in Mac version
231
- Read parameters from Windows .8BF Filter Factory standalone plugins, in Mac version
229
 
232
 
230
## 1.1f9,10 [21-Mar-2006]
233
## 1.1f9,10 [21-Mar-2006]
231
- Improve file filtering on OS X (parse Windows-style extension filter)
234
- Improve file filtering on OS X (parse Windows-style extension filter)
232
 
235
 
233
## 1.1f7,8 [18-Mar-2006]
236
## 1.1f7,8 [18-Mar-2006]
234
- Safer handling of previewing very large images, and clarify an out-of-memory message
237
- Safer handling of previewing very large images, and clarify an out-of-memory message
235
 
238
 
236
## 1.1f6 [17-Mar-2006]
239
## 1.1f6 [17-Mar-2006]
237
- Fix loading of Filter Factory saved PARM data on Windows
240
- Fix loading of Filter Factory saved PARM data on Windows
238
 
241
 
239
## 1.1f4,5 [16-Mar-2006]
242
## 1.1f4,5 [16-Mar-2006]
240
- Add default extension AFS, 8BF for file saving (thanks Daniel Denk)
243
- Add default extension AFS, 8BF for file saving (thanks Daniel Denk)
241
 
244
 
242
## 1.1f3 [26-Feb-2006]
245
## 1.1f3 [26-Feb-2006]
243
- Fix plugin DLL extension; fix many source code warnings
246
- Fix plugin DLL extension; fix many source code warnings
244
 
247
 
245
## 1.1f2 [18-Jan-2006]
248
## 1.1f2 [18-Jan-2006]
246
- Fix CS2/Mac build (missing fields in PiPL); scripting parameters were being ignored (!!)
249
- Fix CS2/Mac build (missing fields in PiPL); scripting parameters were being ignored (!!)
247
 
250
 
248
## 1.1f1 [03-Oct-2005]
251
## 1.1f1 [03-Oct-2005]
249
- Fix dialog behavior on repeated filter application
252
- Fix dialog behavior on repeated filter application
250
 
253
 
251
## 1.1b11 [22-Jul-2005]
254
## 1.1b11 [22-Jul-2005]
252
- Merge changes to fix parameter bug reported by Demitrios Vassaras
255
- Merge changes to fix parameter bug reported by Demitrios Vassaras
253
 
256
 
254
## 1.1b10 [25-Jun-2005]
257
## 1.1b10 [25-Jun-2005]
255
- Can make "standalone" Mach-O bundles
258
- Can make "standalone" Mach-O bundles
256
 
259
 
257
## 1.1b9 [24-Jun-2005]
260
## 1.1b9 [24-Jun-2005]
258
- Mach-O build for CS2/Mac
261
- Mach-O build for CS2/Mac
259
 
262
 
260
## 1.1b5 [11-Feb-2005]
263
## 1.1b5 [11-Feb-2005]
261
- Cosmetic fixes in Mac dialog (right justify slider text, etc)
264
- Cosmetic fixes in Mac dialog (right justify slider text, etc)
262
 
265
 
263
## 1.1b6 [11-Feb-2005]
266
## 1.1b6 [11-Feb-2005]
264
- Fix aete key (hash) calculation for standalone plugins to obey Adobe's stated rules
267
- Fix aete key (hash) calculation for standalone plugins to obey Adobe's stated rules
265
 
268
 
266
## 1.1b7 [11-Feb-2005]
269
## 1.1b7 [11-Feb-2005]
267
- Aaaargh fix the stupid hex handling bug in the lexer
270
- Aaaargh fix the stupid hex handling bug in the lexer
268
 
271
 
269
## 1.1b8 [11-Feb-2005]
272
## 1.1b8 [11-Feb-2005]
270
- Remove dbg call in lexer (it's late :( )
273
- Remove dbg call in lexer (it's late :( )
271
 
274
 
272
## 1.1b3 [10-Feb-2005]
275
## 1.1b3 [10-Feb-2005]
273
- Various mostly cosmetic cleanups; switch to GNU flex and bison in Makefile
276
- Various mostly cosmetic cleanups; switch to GNU flex and bison in Makefile
274
- Use a monospaced font in Win expression text controls
277
- Use a monospaced font in Win expression text controls
275
 
278
 
276
## 1.1b4 [10-Feb-2005]
279
## 1.1b4 [10-Feb-2005]
277
- Fix crash blooper in make.c (`fixpipl`)
280
- Fix crash blooper in make.c (`fixpipl`)
278
 
281
 
279
## 1.1b1 [09-Feb-2005]
282
## 1.1b1 [09-Feb-2005]
280
- Incl aete for Windows
283
- Incl aete for Windows
281
 
284
 
282
## 1.1b2 [09-Feb-2005]
285
## 1.1b2 [09-Feb-2005]
283
- Oops, forgot scripting.r (aete resource) in 68K build
286
- Oops, forgot scripting.r (aete resource) in 68K build
284
 
287
 
285
## 1.1a1 [06-Feb-2005]
288
## 1.1a1 [06-Feb-2005]
286
- Scripting support
289
- Scripting support
287
 
290
 
288
## 02-Feb-2005
291
## 02-Feb-2005
289
- Add Win VERSIONINFO
292
- Add Win VERSIONINFO
290
 
293
 
291
## 1.0f6 [20-Dec-2004]
294
## 1.0f6 [20-Dec-2004]
292
- Fix bug in `rad(d,m,z)` -- wasn't relative to centre of image! Also `ff_c2d`, needed to negate x and y arguments to `atan2()`
295
- Fix bug in `rad(d,m,z)` -- wasn't relative to centre of image! Also `ff_c2d`, needed to negate x and y arguments to `atan2()`
293
 
296
 
294
## 1.0f5 [25-Sep-2004]
297
## 1.0f5 [25-Sep-2004]
295
- Remove debug calls in Win build (!!) - thanks Shiro Akaishi; fix RC EDITTEXT syntax
298
- Remove debug calls in Win build (!!) - thanks Shiro Akaishi; fix RC EDITTEXT syntax
296
 
299
 
297
## 1.0f4 [23-May-2004]
300
## 1.0f4 [23-May-2004]
298
- Include missing license (!)
301
- Include missing license (!)
299
 
302
 
300
## 1.0f3 [21-Mar-2004]
303
## 1.0f3 [21-Mar-2004]
301
- Alert when `pb->inData` is `NULL` - temporary workaround for crash bug
304
- Alert when `pb->inData` is `NULL` - temporary workaround for crash bug
302
 
305
 
303
## 1.0f2 [20-Mar-2004]
306
## 1.0f2 [20-Mar-2004]
304
- Fix code to blank margins of the preview... hunting David Owen's crash
307
- Fix code to blank margins of the preview... hunting David Owen's crash
305
 
308
 
306
## 1.0f1 [21-Feb-2004]
309
## 1.0f1 [21-Feb-2004]
307
- GPL source release
310
- GPL source release
308
 
311
 
309
## 1.0b2 [06-Feb-2004]
312
## 1.0b2 [06-Feb-2004]
310
- Fix bufferSpace computation (Prepare call)
313
- Fix bufferSpace computation (Prepare call)
311
 
314
 
312
## 1.0b1 [31-Jan-2004]
315
## 1.0b1 [31-Jan-2004]
313
- Finally fix Win32 standalone filters - building and running
316
- Finally fix Win32 standalone filters - building and running
314
 
317
 
315
## 0.9b6 [28-Jan-2004]
318
## 0.9b6 [28-Jan-2004]
316
- Fix problems with making standalone on Mac (thanks Chris Greene)
319
- Fix problems with making standalone on Mac (thanks Chris Greene)
317
 
320
 
318
## 0.9b5 [21-Jul-2003]
321
## 0.9b5 [21-Jul-2003]
319
- Fix crash on About box (!!)
322
- Fix crash on About box (!!)
320
 
323
 
321
## 0.9b4 [19-May-2003]
324
## 0.9b4 [19-May-2003]
322
- Fix Make... suggested file name bug
325
- Fix Make... suggested file name bug
323
 
326
 
324
## 0.9b3 [17-May-2003]
327
## 0.9b3 [17-May-2003]
325
- Add Harry's suggestions: skip comments; other bugfixes
328
- Add Harry's suggestions: skip comments; other bugfixes
326
 
329
 
327
## 0.9b2 [17-May-2003]
330
## 0.9b2 [17-May-2003]
328
- Fix `dmin`/`mmin` crash
331
- Fix `dmin`/`mmin` crash
329
 
332
 
330
## 0.9b1 [16-May-2003]
333
## 0.9b1 [16-May-2003]
331
- Added `cnv()` function, `dmin`, `mmin`
334
- Added `cnv()` function, `dmin`, `mmin`
332
 
335
 
333
## 0.8b5 [31-Mar-2003]
336
## 0.8b5 [31-Mar-2003]
334
- Windows version can create standalone (?) NT platform only
337
- Windows version can create standalone (?) NT platform only
335
 
338
 
336
## 0.8b4 [28-Mar-2003]
339
## 0.8b4 [28-Mar-2003]
337
- Windows version can load PARM resource
340
- Windows version can load PARM resource
338
 
341
 
339
## 0.8b3 [26-Mar-2003]
342
## 0.8b3 [26-Mar-2003]
340
- Switch to "universal" PowerPC build in one file (inspired by Harald Heim)
343
- Switch to "universal" PowerPC build in one file (inspired by Harald Heim)
341
 
344
 
342
## 0.8b1 [23-Mar-2003]
345
## 0.8b1 [23-Mar-2003]
343
- Can now make standalone filters (Mac only)
346
- Can now make standalone filters (Mac only)
344
 
347
 
345
## 0.7b2 [18-Mar-2003]
348
## 0.7b2 [18-Mar-2003]
346
- Check for direct host callbacks before using them (preview)
349
- Check for direct host callbacks before using them (preview)
347
 
350
 
348
## 0.7b1 [16-Mar-2003]
351
## 0.7b1 [16-Mar-2003]
349
- Read Mac PARM resources
352
- Read Mac PARM resources
350
 
353
 
351
## 0.6b4 [16-Mar-2003]
354
## 0.6b4 [16-Mar-2003]
352
- Fix `map()`
355
- Fix `map()`
353
 
356
 
354
## 0.6b3 [16-Mar-2003]
357
## 0.6b3 [16-Mar-2003]
355
- Windows preview pannable
358
- Windows preview pannable
356
 
359
 
357
## 0.6b1,2 [16-Mar-2003]
360
## 0.6b1,2 [16-Mar-2003]
358
- Zoomable preview
361
- Zoomable preview
359
 
362
 
360
## 0.5b7 [15-Mar-2003]
363
## 0.5b7 [15-Mar-2003]
361
- Mac version uses edit controls, theme, is movable
364
- Mac version uses edit controls, theme, is movable
362
 
365
 
363
## 0.5b6 [13-Mar-2003]
366
## 0.5b6 [13-Mar-2003]
364
- Finally caught divide-by-zero in Win version
367
- Finally caught divide-by-zero in Win version
365
 
368
 
366
## 0.5b4 [08-Mar-2003]
369
## 0.5b4 [08-Mar-2003]
367
- First Mac 68K build (CW1)
370
- First Mac 68K build (CW1)
368
 
371
 
369
## 0.5b1 [04-Mar-2003]
372
## 0.5b1 [04-Mar-2003]
370
- First Windows beta released
373
- First Windows beta released
371
 
374
 
372
## 0.4b7,8,9,10 [02-Mar-2003]
375
## 0.4b7,8,9,10 [02-Mar-2003]
373
 
376
 
374
## 0.4b4,5,6 [01-Mar-2003]
377
## 0.4b4,5,6 [01-Mar-2003]
375
- Finally! Live sliders
378
- Finally! Live sliders
376
 
379
 
377
## 0.4b1 [27-Feb-2003]
380
## 0.4b1 [27-Feb-2003]
378
- With preview
381
- With preview
379
 
382
 
380
## 0.3b3,b4 [25-Feb-2003]
383
## 0.3b3,b4 [25-Feb-2003]
381
 
384
 
382
## 0.3b1,b2 [24-Feb-2003]
385
## 0.3b1,b2 [24-Feb-2003]
383
 
386
 
384
## 0.1b1,0.2b1 [23-Feb-2003]
387
## 0.1b1,0.2b1 [23-Feb-2003]
385
- Released 0.1b1,0.2b1
388
- Released 0.1b1,0.2b1
386
 
389
 
387
## 0.1b1 [22-Feb-2003]
390
## 0.1b1 [22-Feb-2003]
388
- Started 0.1b1
391
- Started 0.1b1