Subversion Repositories filter_foundry

Rev

Rev 124 | Rev 127 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 toby 1
/*
18 toby 2
    This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
102 toby 3
    Copyright (C) 2003-9 Toby Thain, toby@telegraphics.com.au
2 toby 4
 
5
    This program is free software; you can redistribute it and/or modify
106 dmarschall 6
    it under the terms of the GNU General Public License as published by
2 toby 7
    the Free Software Foundation; either version 2 of the License, or
8
    (at your option) any later version.
9
 
10
    This program is distributed in the hope that it will be useful,
11
    but WITHOUT ANY WARRANTY; without even the implied warranty of
12
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
    GNU General Public License for more details.
14
 
106 dmarschall 15
    You should have received a copy of the GNU General Public License
2 toby 16
    along with this program; if not, write to the Free Software
17
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18
*/
19
 
20
/*
21
22-Feb-2003: started 0.1b1
22
23-Feb-2003: released 0.1b1,0.2b1
23
24-Feb-2003: 0.3b1,b2
24
25-Feb-2003: 0.3b3,b4
25
27-Feb-2003: 0.4b1 - with preview
26
01-Mar-2003: 0.4b4,5,6 - finally! live sliders
27
02-Mar-2003: 0.4b7,8,9,10
28
04-Mar-2003: 0.5b1 - first Windows beta released
29
08-Mar-2003: 0.5b4 - first Mac 68K build (CW1)
30
13-Mar-2003: 0.5b6 - finally caught divide-by-zero in Win version
31
15-Mar-2003: 0.5b7 - Mac version uses edit controls, theme, is movable
32
16-Mar-2003: 0.6b1,2 - zoomable preview
33
16-Mar-2003: 0.6b3 - Windows preview pannable
34
16-Mar-2003: 0.6b4 - fix map()
35
16-Mar-2003: 0.7b1 - read Mac PARM resources
36
18-Mar-2003: 0.7b2 - check for direct host callbacks before using them (preview)
37
23-Mar-2003: 0.8b1 - can now make standalone filters (Mac only)
38
26-Mar-2003: 0.8b3 - switch to "universal" PowerPC build in one file (inspired by Harald Heim)
39
28-Mar-2003: 0.8b4 - Windows version can load PARM resource
40
31-Mar-2003: 0.8b5 - Windows version can create standalone (?) NT platform only
41
16-May-2003: 0.9b1 - added cnv() function, dmin, mmin
42
17-May-2003: 0.9b2 - fix dmin/mmin crash
43
17-May-2003: 0.9b3 - add Harry's suggestions: skip comments; other bugfixes
44
19-May-2003: 0.9b4 - fix Make... suggested file name bug
45
21-Jul-2003: 0.9b5 - fix crash on About box (!!)
46
28-Jan-2004: 0.9b6 - fix problems with making standalone on Mac (thanks Chris Greene)
47
31-Jan-2004: 1.0b1 - finally fix Win32 standalone filters - building and running
48
06-Feb-2004: 1.0b2 - fix bufferSpace computation (Prepare call)
49
21-Feb-2004: 1.0f1 - GPL source release
50
20-Mar-2004: 1.0f2 - fix code to blank margins of preview... hunting David Owen's crash
51
21-Mar-2004: 1.0f3 - alert when pb->inData is NULL - temporary workaround for crash bug
52
23-May-2004: 1.0f4 - include missing license(!)
53
25-Sep-2004: 1.0f5 - remove debug calls in Win build (!!) - thanks Shiro Akaishi;
106 dmarschall 54
                                         fix RC EDITTEXT syntax
2 toby 55
20-Dec-2004: 1.0f6 - fix bug in rad(d,m,z) -- wasn't relative to centre of image!
56
                                         also ff_c2d, needed to negate x and y arguments to atan2()
57
02-Feb-2005: add Win VERSIONINFO
58
06-Feb-2005: 1.1a1 - scripting support
59
09-Feb-2005: 1.1b1 - incl aete for Windows
60
                         1.1b2 - oops, forgot scripting.r (aete resource) in 68K build
61
10-Feb-2005: 1.1b3 - various mostly cosmetic cleanups; switch to GNU flex and bison in Makefile
62
                                   - use monospaced font in Win expr text controls
63
                         1.1b4 - fix crash blooper in make.c (fixpipl)
64
11-Feb-2005: 1.1b5 - cosmetic fixes in Mac dialog (right justify slider text, etc)
21 toby 65
                         1.1b6 - fix aete key (hash) calculation for standalones to obey Adobe's stated rules
2 toby 66
                         1.1b7 - aaaargh fix stupid hex handling bug in lexer
67
                         1.1b8 - remove dbg call in lexer (it's late :( )
8 toby 68
24-Jun-2005: 1.1b9 - Mach-O build for CS2/Mac
11 toby 69
25-Jun-2005: 1.1b10 - can make 'standalone' Mach-O bundles
15 toby 70
22-Jul-2005: 1.1b11 - merge changes to fix parameter bug reported by Demitrios Vassaras
18 toby 71
03-Oct-2005: 1.1f1 - fix dialog behaviour on repeated filter application
21 toby 72
18-Jan-2006: 1.1f2 - fix CS2/Mac build (missing fields in PiPL);
73
                     scripting parameters were being ignored (!!)
24 toby 74
26-Feb-2006: 1.1f3 - fix plugin DLL extension; fix many source code warnings
32 toby 75
16-Mar-2006: 1.1f4,5 - add default extension AFS, 8BF for file saving (thanks Daniel Denk)
35 toby 76
17-Mar-2006: 1.1f6 - fix loading of Filter Factory saved PARM data on Windows
39 toby 77
18-Mar-2006: 1.1f7,8 - safer handling of previewing very large images, and clarify out-of-memory message
43 toby 78
21-Mar-2006: 1.1f9,10 - improve file filtering on OS X (parse Windows-style extension filter)
45 toby 79
22-Mar-2006: 1.2b1 - read parameters from Windows .8BF Filter Factory standalones, in Mac version
48 toby 80
23-Mar-2006: 1.2b2 - new release
50 toby 81
25-Mar-2006: 1.2b3 - include R,G,B,A,C,I,U,V undocumented(?) constants (per Harald Heim)
52 toby 82
06-May-2006: 1.2b4 - fix minor AFS saving bug
54 toby 83
05-Jun-2006: 1.3b1 - fix x,y,X,Y,M variables to use selection extent instead of image size (per Eiji Nishidai)
57 toby 84
01-Sep-2006: 1.3b2 - fix standalone UI bugs (thanks Craig Bickford)
64 toby 85
04-Jan-2007: 1.4b1 - Universal Binary on OS X (PPC+Intel)
66 toby 86
31-Jan-2007: 1.4b2 - fix selection bug reported by Daniel Denk
71 toby 87
01-Feb-2007: 1.4b3 - in cnv(), repeat pixels at edge of image, instead of using zero (reported by Daniel Denk)
88
             1.4b4 - cnv() no longer requests entire filtered image in one piece; can now work in chunks
89
                     improve the handling of edge pixels when filtering selection
76 toby 90
02-Feb-2007: 1.4b5 - minor changes to image sampling logic (ff_src(), rawsrc())
85 toby 91
16-Feb-2007: 1.4b6 - lowercase default file extensions (wishlist #1)
83 toby 92
18-Feb-2007: 1.4b7 - swap +/- zoom controls to match Photoshop builtins
87 toby 93
             1.4b8,9,10 - simple parameter obfuscation in standalone plugins (wishlist #7)
93 toby 94
19-Feb-2007: 1.5b1,2 - support remaining 8-bit image modes (wishlist proposal)
99 toby 95
13-Jul-2007: 1.5b3 - add instrumentation to try to find CS3/Intel Mac 'Make standalone' problem
101 toby 96
02-Aug-2007: 1.5b4 - fix debug message spotted by Daniel Denk
97
26-Aug-2007: 1.5b6 - associativity of ?: operator (Harald Heim)
102 toby 98
07-Jun-2009: 1.6b1 - clean up for 64-bit Windows build
106 dmarschall 99
19-Dec-2018: 1.6b2 - Fixed crash at filter startup when computer had too much RAM.
119 dmarschall 100
                   - Fixed crash where built obfuscated filters could not be opened.
101
                   - Added function rst(i) which is an undocumented function in Filter Factory for setting a random seed.
102
                   - Size PARM_SIZE in PARM ressource corrected.
103
                   - Extended NMake file to support flex and bison compilation.
104
                   - Dialogs (build dialog, open and save dialogs) are now modal, i.e. the main window is locked when they are open. (*)
105
                   - The preview dialog has now a hand cursor. (Open hand on hover. Grabbing hand on panning) (*)
106
                   - Dialog boxes now have an [X] button to close the window.
107
                   - Preview: Checkerboard does only move when the panning actually suceeded (the picture didn't went off border)
108
                   - Bugfix: In the preview window, you could (virtually) pan the image beyond the canvas,
109
                             so that you needed to pan multiple times to get to the position "0" again.
110
                   - The "version information" of standalone filters is now individualized by the creators input
126 dmarschall 111
                   - Win64 support (*)
119 dmarschall 112
                   - All undocumented symbol aliases of FilterFactory are now supported (rmin, rmax, cnv0, etc.)
121 dmarschall 113
                   - Bugfix: In some cases, the preview image had a small stripe of random pixels at the right or bottom.
122 dmarschall 114
                   - For disabled sliders, the corresponding label is now also grayed out (*)
115
                   - Bugfix: In standalone filters, the unused ctl() labels were not hidden. They are now invisible as intended.
123 dmarschall 116
                   - Bugfix: At standalone filters, the "map" text was not displayed; instead, the two "ctl" texts were displayed.
124 dmarschall 117
                   - AFS Files are now compatible with FilterFactory. (FilterFactory does ONLY understand "\r" (0D) linebreaks, while
118
                     FilterFoundry always saved "\n" (0A) linebreaks, while being able to read "\r", "\n" or "\r\n". Now, "\r" is used
119
                     for saving.) (*)
126 dmarschall 120
                   - The "caution" sign that indicates an error in the expression does now have a hand cursor that shows up when
121
                     you hover over the icon, to indicate that the user will receive more information if they click on the icon (*)
122
                   (Changes by Daniel Marschall)
106 dmarschall 123
 
124
(*) This bug/solution was tested on Windows but needs to be verified and/or implemented on Mac.
125
 
2 toby 126
*/
127
 
128
#define plugInName "FilterFoundry"
106 dmarschall 129
#define VERSION_STR "1.6b2"
130
#define VERSION_NUM 1,0x60,beta,2
2 toby 131
#define VERS_RSRC VERSION_NUM,verAustralia,VERSION_STR,"Filter Foundry " VERSION_STR
132
 
133
/* formatted for Win32 VERSIONINFO resource */
106 dmarschall 134
#define VI_VERS_NUM 1,6,0,2
45 toby 135
#define VI_FLAGS        VS_FF_PRERELEASE /* 0 for final, or any of VS_FF_DEBUG,VS_FF_PATCHED,VS_FF_PRERELEASE,VS_FF_PRIVATEBUILD,VS_FF_SPECIALBUILD */
136
#define VI_COMMENTS     "Beta.\r\n\r\nPlease contact support@telegraphics.com.au with any bug reports, suggestions or comments.\0"      /* null terminated Comments field */
2 toby 137
 
138
/* wildcard signature in resources */
139
#define ANY '    '