Subversion Repositories filter_foundry

Rev

Rev 93 | Rev 101 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. /*
  2.     This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
  3.     Copyright (C) 2003-7 Toby Thain, toby@telegraphics.com.au
  4.  
  5.     This program is free software; you can redistribute it and/or modify
  6.     it under the terms of the GNU General Public License as published by  
  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.  
  15.     You should have received a copy of the GNU General Public License  
  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;
  54.                                          fix RC EDITTEXT syntax
  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)
  65.                          1.1b6 - fix aete key (hash) calculation for standalones to obey Adobe's stated rules
  66.                          1.1b7 - aaaargh fix stupid hex handling bug in lexer
  67.                          1.1b8 - remove dbg call in lexer (it's late :( )
  68. 24-Jun-2005: 1.1b9 - Mach-O build for CS2/Mac
  69. 25-Jun-2005: 1.1b10 - can make 'standalone' Mach-O bundles
  70. 22-Jul-2005: 1.1b11 - merge changes to fix parameter bug reported by Demitrios Vassaras
  71. 03-Oct-2005: 1.1f1 - fix dialog behaviour on repeated filter application
  72. 18-Jan-2006: 1.1f2 - fix CS2/Mac build (missing fields in PiPL);
  73.                      scripting parameters were being ignored (!!)
  74. 26-Feb-2006: 1.1f3 - fix plugin DLL extension; fix many source code warnings
  75. 16-Mar-2006: 1.1f4,5 - add default extension AFS, 8BF for file saving (thanks Daniel Denk)
  76. 17-Mar-2006: 1.1f6 - fix loading of Filter Factory saved PARM data on Windows
  77. 18-Mar-2006: 1.1f7,8 - safer handling of previewing very large images, and clarify out-of-memory message
  78. 21-Mar-2006: 1.1f9,10 - improve file filtering on OS X (parse Windows-style extension filter)
  79. 22-Mar-2006: 1.2b1 - read parameters from Windows .8BF Filter Factory standalones, in Mac version
  80. 23-Mar-2006: 1.2b2 - new release
  81. 25-Mar-2006: 1.2b3 - include R,G,B,A,C,I,U,V undocumented(?) constants (per Harald Heim)
  82. 06-May-2006: 1.2b4 - fix minor AFS saving bug
  83. 05-Jun-2006: 1.3b1 - fix x,y,X,Y,M variables to use selection extent instead of image size (per Eiji Nishidai)
  84. 01-Sep-2006: 1.3b2 - fix standalone UI bugs (thanks Craig Bickford)
  85. 04-Jan-2007: 1.4b1 - Universal Binary on OS X (PPC+Intel)
  86. 31-Jan-2007: 1.4b2 - fix selection bug reported by Daniel Denk
  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
  90. 02-Feb-2007: 1.4b5 - minor changes to image sampling logic (ff_src(), rawsrc())
  91. 16-Feb-2007: 1.4b6 - lowercase default file extensions (wishlist #1)
  92. 18-Feb-2007: 1.4b7 - swap +/- zoom controls to match Photoshop builtins
  93.              1.4b8,9,10 - simple parameter obfuscation in standalone plugins (wishlist #7)
  94. 19-Feb-2007: 1.5b1,2 - support remaining 8-bit image modes (wishlist proposal)
  95. 13-Jul-2007: 1.5b3 - add instrumentation to try to find CS3/Intel Mac 'Make standalone' problem
  96. */
  97.  
  98. #define plugInName "FilterFoundry"
  99. #define VERSION_STR "1.5b3"
  100. #define VERSION_NUM 1,0x50,beta,3
  101. #define VERS_RSRC VERSION_NUM,verAustralia,VERSION_STR,"Filter Foundry " VERSION_STR
  102.  
  103. /* formatted for Win32 VERSIONINFO resource */
  104. #define VI_VERS_NUM 1,5,0,3
  105. #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 */
  106. #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 */
  107.  
  108. /* wildcard signature in resources */
  109. #define ANY '    '
  110.