Subversion Repositories filter_foundry

Compare Revisions

No changes between revisions

Regard whitespace Rev 191 → Rev 192

/trunk/68k.r
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/BUILDING.txt
1,5 → 1,6
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
23,12 → 24,14
--------------------
Source code, makefiles and IDE projects under GPL license are provided
for MPW (Classic & Carbon PowerPC targets), CodeWarrior 7
(Classic & Carbon PowerPC, Win32, 68K targets) and mingw32 (Win32 target).
(Classic & Carbon PowerPC, Win32, 68K targets),
Microsoft Visual C++ (Win32 target), OpenWatcom (Win32 target),
and mingw32 (Win32 target).
 
A Photoshop SDK is required (available from Adobe Systems, http://www.adobe.com/).
A Photoshop SDK is required (available from Adobe Systems,
https://www.adobe.com/devnet/photoshop/sdk.html ).
The SDK was also distributed with Photoshop 6.0 and earlier.
 
The source has been built with SDK 6.0, CS2 and CS3 beta, but older
The source code has been built with SDK 6.0, CS2, CS3 beta, and 2017 but older
versions can be used.
(If building with SDK v4, edit 68k.r, carbon.r, classic.r, and PiMI_68k.r
to remove references to "PIResDefines.h", "PiPL.r" and "PiMI.r" and replace
35,11 → 38,14
with a single #include "PIGeneral.r"; also remove "fmtCanWriteTransparency"
from PiPL_common.r.)
 
 
Mac notes
---------
Before attempting to build, you must edit the makefiles
("FilterFoundry.make" for MPW, "Makefile" for mingw32 or OS X), or change your
("FilterFoundry.make" for MPW), or change your
CodeWarrior project's access paths, to reflect the SDK's installed location.
 
In order to build the Carbon plugin with an SDK prior to version 7.0,
To build the Carbon plugin with an SDK prior to version 7.0,
it is necessary to edit the SDK file :PhotoshopAPI:Resources:PIPL.r
as follows:
1. find the line "case CodePowerPC:"
47,7 → 53,7
3. in the copy only, change "case CodePowerPC:" to "case CodeCarbonPowerPC:"
and change the 5 occurrences of "pwpc" to "ppcb"
 
Photoshop 7.0, CS and CS2 will load Carbon/PEF plugins built in this manner.
Photoshop 7.0, CS, and CS2 will load Carbon/PEF plugins built in this manner.
Only CodeWarrior and MPW can build these.
 
Photoshop CS2 also supports Mach-O format plugins. For details on how
58,12 → 64,9
a "universal" plugin if you have the CS3 "Beta" SDK (use target "fat").
 
Note that building Mach-O plugins requires Apple's Developer Tools
be installed (from the DVD that came with your Mac, or download from
to be installed (from the DVD that came with your Mac, or downloaded from
http://developer.apple.com/ if you have an ADC login).
 
 
Mac notes
---------
The Mac build requires Apple's MoreFiles library, which can be obtained via
https://developer.apple.com/library/archive/samplecode/MoreFiles/
 
73,7 → 76,7
source directory, then:
setfile -t TEXT Å.[chrly] Å.make Å.rc ::common:tt:Å ::common:adobeplugin:Å
This can also be necessary after regenerating y.tab.c and lex.yy.c.
These files are generated from the parser and lexical analyser definitions,
These files are generated from the parser and lexical analyzer definitions,
parser.y and lexer.l, by a UNIX Terminal (not MPW!) command such as:
make y.tab.c lex.yy.c
 
84,35 → 87,33
The finished binary, which contains executables for Classic and Carbon,
is left in the "dist" directory.
 
While a CodeWarrior 7 project is provided, MPW and mingw32 are recommended
as they produce much smaller executables.
 
MPW (Macintosh Programmer's Workshop) runs on PowerPC and
68K Macs under Mac OS 9 or earlier, or Classic under OS X.
 
 
Windows notes
-------------
 
BUILDING WITH VISUAL STUDIO
(Most recently tested with Visual C++ 2019 with Adobe Photoshop SDK CC 2017):
 
To build in Windows with Visual Studio (IDE or command line), see the visual_studio
* For Windows, Visual Studio works best (the community edition is even free),
and it can compile the 32-bit and 64-bit plugins for Windows.
* Download: https://visualstudio.microsoft.com/de/vs/community/
* To build in Windows with Visual Studio (IDE or command line), see the visual_studio
subdirectory and notes (README.TXT).
* Most recently tested with Visual C++ 2019 with Adobe Photoshop SDK CC 2017
 
BUILDING WITH OPEN WATCOM
(Most recently tested with Open Watcom 1.9 with Adobe Photoshop SDK CC 2017):
* OpenWatcom can also be used, but only for 32 Bit, and it is officially not
supported by Adobe.
* Download: https://sourceforge.net/projects/openwatcom/files/
* To build in Windows with the OpenWatcom IDE, see the wpj
subdirectory and notes (README.TXT), kindly provided by Peter Heckert and Daniel Marschall.
* Most recently tested with Open Watcom 1.9 with Adobe Photoshop SDK CC 2017
 
To build in Windows with the OpenWatcom IDE, see the wpj
subdirectory and notes (README.TXT) kindly provided by Peter Heckert and Daniel Marschall.
 
 
Development systems
-------------------
While a CodeWarrior 7 project is provided, MPW and mingw32 are recommended
as they produce much smaller executables.
 
Mingw32 (http://www.mingw.org/) can be hosted on virtually any UNIX or
Linux system, or under Windows.
 
MPW (http://developer.apple.com/tools/mpw-tools/) runs on PowerPC and
68K Macs under Mac OS 9 or earlier, or Classic under OS X.
 
For Windows, Visual Studio works best (the community edition is even free),
and it can compile the 32-Bit and 64-Bit plugin for Windows.
OpenWatcom can also be used, but only for 32 Bit, and it is officially not
supported by Adobe.
BUILDING WITH MINGW32
* Mingw32 can be hosted on virtually any UNIX or Linux system, or under Windows.
* Download: http://mingw-w64.org/doku.php/download
* Before attempting to build, you must edit the file "Makefile".
/trunk/Filter Factory Compatibility.txt
3,12 → 3,12
================================= 08 January 2018
 
FilterFoundry tries to be as compatible with Filter Factory as possible.
However, results are usually not 100% equal, because functions like
cos, sin, sqr, etc. have different accuracy due to the underlying
However, results are usually not 100% equal because functions like
cos, sin, sqr, etc., have different accuracy due to the underlying
implementation.
 
Furthermore, there are following known differences between Filter Foundry
and Filter Factory:
Furthermore, there are the following known differences between
Filter Foundry and Filter Factory:
 
i, u, v (Testcase iuv.afs)
-------
25,7 → 25,7
u=(-147407*r-289391*g+436798*b)/2000000 Output range is -55..55
v=614777*r-514799*g-99978*b)/2000000 Output range is -78..78
 
Both formulas follow the same YUV standard, but have different accuracy.
Both formulas follow the same YUV standard but have different accuracy.
 
 
get(i) (Testcase getput.afs)
50,8 → 50,8
rnd(a,b) and rst(i) (Testcases rst_*.afs)
-------------------
 
Filter Foundry's implementation of rst(i) (undocumented function that sets the seed for the PRG)
and rnd(a,b) (generate random number between a and b, inclusively)
Filter Foundry's implementation of rst(i) (an undocumented function that sets the seed for the PRG)
and rnd(a,b) (generate a random number between a and b, inclusively)
differs from the implementation of Filter Factory in many ways.
 
1. In Filter Foundry, the random seed is automatically initialized with seed 691204.
65,7 → 65,7
If the argument is not within this range, the operation "and 0x7FFF" will be applied to it
to extract the low 15 bits.
 
3. In Filter Foundry, the function rnd(a,b) retrieves a random number at realtime; therefore, if the
3. In Filter Foundry, the function rnd(a,b) retrieves a random number in realtime; therefore, if the
seed is changed via rst(i), there is an immediate effect on the next call of the rnd(a,b) function.
For example, following filter would generate an one-colored picture without any randomness:
R: rst(123), rnd(0,255)
/trunk/FilterFoundry.make
1,5 → 1,6
# This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
# Copyright (C) 2003-5 Toby Thain, toby@telegraphics.com.au
# Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
# Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
/trunk/GIMP Incompatibilities.txt
20,7 → 20,7
I think this is not correct, since even official plugins of Adobe (e.g. "3D Transform.8bf")
are rounding the length to a multiple of 4 (actually, rounding to the next possible multiple 4,
so that a padding is always guaranteed).
so that padding is always guaranteed).
 
 
2. Filters will only fill the bottom of the picture, not the whole canvas.
54,12 → 54,12
(PINEWHANDLE), so FF 1.7 is now assigning 1 byte for these.
 
 
5. For a 1920x1080 picture, the fitzoom in GIMP/PSPI is not correct. It is 8% on GIMP, but should be 7%.
5. For a 1920x1080 picture, the fitzoom in GIMP/PSPI is not correct. It is 8% on GIMP but should be 7%.
 
Status: FIXED (Workaround) in FilterFoundry 1.7
The reason is that FilterFoundry adjusts the zoom level if the available memory is low.
PSPI sets maxSpace to 100 MB hardcoded. It is probably only a dummy value and don't
PSPI sets maxSpace to 100 MB hardcoded. It is probably only a dummy value and doesn't
resemble the actual space GIMP can assign to the plugin.
In Photoshop, maxSpace is 825 MB.
 
/trunk/Makefile
1,5 → 1,6
# This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
# Copyright (C) 2003-7 Toby Thain, toby@telegraphics.com.au
# Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
# Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
18,9 → 19,7
# GNU Makefile
# builds Win32 DLL and CS2/Mac Mach-O plugin bundle
 
# by Toby Thain <toby@telegraphics.com.au>
 
 
# ---------- variables & flags ----------
 
EXEC = FilterFoundry
38,7 → 37,7
YACC = bison -y
YFLAGS = -d
 
PSAPI = "../Adobe Photoshop CS3 Public Beta SDK/photoshopapi"
PSAPI = "photoshop_sdk/pluginsdk/photoshopapi"
 
CFLAGS += -O2 -W -Wall -Wno-main -Wno-unused-parameter -Wno-multichar
CPPFLAGS += -DYY_SKIP_YYWRAP \
/trunk/PARM.h
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/PiPL.rc
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/PiPL_body.rc
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/PiPL_carbon.r
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/PiPL_classic.r
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/PiPL_macho.r
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/PiPL_universal.r
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/c.h
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/cwprefix.h
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/dist/README.html
10,7 → 10,8
 
<h2>FilterFoundry plugin for Photoshop</h2>
 
<p><i>Copyright 2003-2019 Toby Thain, <a href="mailto:toby@telegraphics.com.au">toby@telegraphics.com.au</a></i></p>
<p><i>Copyright 2003-2009 Toby Thain, <a href="mailto:toby@telegraphics.com.au">toby@telegraphics.com.au</a></i></p>
<p><i>Copyright 2018-2019 Daniel Marschall, <a href="https://www.daniel-marschall.de/">www.daniel-marschall.de</a></i></p>
 
<p>Filter Foundry is a compatible replacement for Adobe Filter Factory.
For information about how to use the Filter Factory-compatible interface,
23,16 → 24,22
<h3>Compatibility</h3>
 
<ul>
<li>Tested with Photoshop 3.0 through CS6 on Power&nbsp;Mac (OS&nbsp;X, Classic, OS&nbsp;9 and earlier), 68K&nbsp;Mac and Windows.</li>
<li>Tested with Photoshop 3.0 through CS6 on Power&nbsp;Mac (OS&nbsp;X, Classic, OS&nbsp;9 and earlier), 68K&nbsp;Mac, and Windows.<br>
Filter Foundry 1.7 is currently not available for Mac.</li>
<li>IrfanView 4.0 - Make sure you read the IrfanView documentation on how to load and run Adobe .8bf filters.</li>
<li>JASC PSP 9, Corel's Paint Shop Pro XI - are compatible.</li>
<li>The Gimp 2.2 with PSPI.exe extension (to run Photoshop .8bf files) is compatible with Filter Foundry 1.7.</li>
<li>Serif PhotoPlus 6 is compatible with Filter Foundry 1.7.</li>
<li>PluginCommander 1.62 is compatible with Filter Foundry 1.7.</li>
<li>IrfanView 4.53 (32+64) is compatible with Filter Foundry 1.7.</li>
<li>Paint.Net is compatible with Filter Foundry 1.7.</li>
<li>... nearly all programs that can handle .8bf Photoshop Filters will work.</li>
</ul>
 
<p>Please note the following:</p>
 
<ul>
<li>Trig functions use the Mac Filter Factory definition, a range of -1024..+1024 (rather than Windows FF's -512..+512). This is likely to be a user preference in future.</li>
<li>Trig functions use the Mac Filter Factory definition, a range of -1024..+1024 (rather than Windows FF's -512..+512). This is likely to be a user preference in the future.</li>
<li>The 68K Macintosh build requires 68020 or later CPU and FPU.</li>
</ul>
 
/trunk/ff.h
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/funcs.c
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/funcs.h
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/lexer.l
2,7 → 2,8
 
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-5 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/load_mac.c
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/load_win.c
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/main.c
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/make.c
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/make_mac.c
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/make_win.c
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/manifest.c
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/manifest.h
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/manifest.rc
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/node.c
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/node.h
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/parser.y
2,7 → 2,8
 
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-5 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/photoshop_sdk/DOWNLOAD.txt
0,0 → 1,10
 
Please download "Adobe Photoshop SDK" here:
https://www.adobe.com/devnet/photoshop/sdk.html
 
Then extract its contents in this directory:
- connectionsdk/
- images/
- pluginsdk/
- license.html
- ReadMe.html
/trunk/photoshop_sdk
Property changes:
Added: svn:ignore
+connectionsdk
+images
+pluginsdk
+license.html
+ReadMe.html
/trunk/pipl_common.r
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/preview.c
1,6 → 1,7
/*
This file is part of Filter Foundry, a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/preview.h
1,6 → 1,7
/*
This file is part of Filter Foundry, a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/preview_mac.c
1,6 → 1,7
/*
This file is part of Filter Foundry, a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/process.c
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/read.c
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/save.c
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/scripting.c
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/scripting.r
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/scripting.rc
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/symtab.c
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/symtab.h
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/ui.c
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/ui.h
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/ui_build.c
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
46,7 → 47,7
we can set initial values statically in the rez description */
SetDlgItemText(dp,CATEGORYITEM, "Filter Foundry");
SetDlgItemText(dp,TITLEITEM, "Untitled");
SetDlgItemText(dp,COPYRIGHTITEM,""); //"Filter Foundry Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au");
SetDlgItemText(dp,COPYRIGHTITEM,""); //"Filter Foundry Copyright (C) 2003-2009 Toby Thain, 2018-2019 Daniel Marschall");
SetDlgItemText(dp,AUTHORITEM, "Anonymous");
strcpy(s,"Map X");
for(i = 0; i < 4; ++i){
/trunk/ui_build_win.c
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/ui_mac.c
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/ui_mac.r
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
45,7 → 46,7
StaticText {
disabled,
"Filter Foundry, version " VERSION_STR
"\n© 2003-2019 Toby Thain <toby@telegraphics.com.au>."
"\n© 2003-2009 Toby Thain, 2018-2019 Daniel Marschall."
"\nLatest version available from\nhttp://www.telegraphics.com.au/sw/\n"
},
{104, 20, 216, 340},
70,7 → 71,7
StaticText {
disabled,
"Filter Foundry, version " VERSION_STR
"\n© 2003-2019 Toby Thain <toby@telegraphics.com.au>."
"\n© 2003-2009 Toby Thain, 2018-2019 Daniel Marschall."
},
{88, 20, 200, 340},
StaticText {
407,7 → 408,7
EditText { enabled,"Untitled" },
/* [5] */
{60, 92, 92, 395},
EditText { enabled,"" }, /* Filter Foundry Copyright (C) 2003-2019 Toby Thain, <toby@telegraphics.com.au> */
EditText { enabled,"" }, /* Filter Foundry Copyright (C) 2003-2009 Toby Thain, 2018-2019 Daniel Marschall */
/* [6] */
{100, 92, 116, 395},
EditText { enabled,"Anonymous" },
/trunk/ui_win.c
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
48,7 → 49,7
"%s\n" /* {Copyright} */
"\n"
"This plugin was built using Filter Foundry " VERSION_STR "\n"
"(C) 2003-" RELEASE_YEAR " Toby Thain <toby@telegraphics.com.au>\n"
"(C) 2003-2009 Toby Thain, 2018-" RELEASE_YEAR " Daniel Marschall\n"
"available from http://www.telegraphics.com.au/sw/",
INPLACEP2CSTR(gdata->parm.title),
INPLACEP2CSTR(gdata->parm.author),
56,7 → 57,7
} else {
sprintf(title, "About Filter Foundry");
sprintf(text, "Filter Foundry " VERSION_STR "\n"
"(C) 2003-" RELEASE_YEAR " Toby Thain <toby@telegraphics.com.au>\n"
"(C) 2003-2009 Toby Thain, 2018-" RELEASE_YEAR " Daniel Marschall\n"
"\n"
"Latest version available from\n"
"http://www.telegraphics.com.au/sw/\n"
/trunk/ui_win.rc
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/version.h
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/version_win.rc
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
42,7 → 43,7
VALUE "FileDescription", "Filter Foundry plugin for Photoshop(R)\0"
VALUE "FileVersion", VERSION_STR "\0"
/*VALUE "InternalName", "FilterFoundry\0"*/
VALUE "LegalCopyright", "Copyright (C) 2003-" RELEASE_YEAR " Toby Thain\0"
VALUE "LegalCopyright", "Copyright (C) 2003-2009 Toby Thain, 2018-" RELEASE_YEAR " Daniel Marschall\0"
VALUE "License", "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\0"
/*VALUE "LegalTrademarks", "\0"*/
VALUE "OriginalFilename", "FilterFoundry.8bf\0"
/trunk/versioninfo_modify_win.c
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
486,9 → 487,12
Usage example:
 
int main(int argc, char** argv) {
static const PCWSTR changes = L"Blabla\0Tennis\0CompanyName\0NewCompany\0LegalCopyright\0\b\0OriginalFilename\0Tristan.bay\0";
// Set CompanyName to "Contoso Ltd."
// Delete LegalCopyright
// Set OriginalFilename to "Test.dll"
static const PCWSTR changes = L"Foo\0Bar\0CompanyName\0Contoso Ltd.\0LegalCopyright\0\b\0OriginalFilename\0Test.dll\0";
 
UpdateVersionInfoByFilename("E:\\_test\\rand_test\\test.dll", changes);
UpdateVersionInfoByFilename("C:\\Test.dll", changes);
return 0;
}
*/
/trunk/versioninfo_modify_win.h
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/visual_studio/FilterFoundry.vcxproj
73,7 → 73,7
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<IncludePath>E:\FilterFoundry\adobe_photoshop_sdk_cc_2017_win\pluginsdk\photoshopapi\pica_sp;E:\FilterFoundry\adobe_photoshop_sdk_cc_2017_win\pluginsdk\photoshopapi\photoshop;..\..\common\adobeplugin;..\..\common\tt;..;$(IncludePath)</IncludePath>
<IncludePath>..\photoshop_sdk\pluginsdk\photoshopapi\pica_sp;..\photoshop_sdk\pluginsdk\photoshopapi\photoshop;..\..\common\adobeplugin;..\..\common\tt;..;$(IncludePath)</IncludePath>
<TargetExt>.8bf</TargetExt>
<OutDir>$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(Platform)\$(Configuration)\</IntDir>
82,7 → 82,7
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<IncludePath>E:\FilterFoundry\adobe_photoshop_sdk_cc_2017_win\pluginsdk\photoshopapi\pica_sp;E:\FilterFoundry\adobe_photoshop_sdk_cc_2017_win\pluginsdk\photoshopapi\photoshop;..\..\common\adobeplugin;..\..\common\tt;.\;$(IncludePath)</IncludePath>
<IncludePath>..\photoshop_sdk\pluginsdk\photoshopapi\pica_sp;..\photoshop_sdk\pluginsdk\photoshopapi\photoshop;..\..\common\adobeplugin;..\..\common\tt;.\;$(IncludePath)</IncludePath>
<TargetExt>.8bf</TargetExt>
<OutDir>$(Platform)\$(Configuration)\</OutDir>
<TargetName>$(ProjectName)64</TargetName>
91,7 → 91,7
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<IncludePath>E:\FilterFoundry\adobe_photoshop_sdk_cc_2017_win\pluginsdk\photoshopapi\pica_sp;E:\FilterFoundry\adobe_photoshop_sdk_cc_2017_win\pluginsdk\photoshopapi\photoshop;..\..\common\adobeplugin;..\..\common\tt;..;$(IncludePath)</IncludePath>
<IncludePath>..\photoshop_sdk\pluginsdk\photoshopapi\pica_sp;..\photoshop_sdk\pluginsdk\photoshopapi\photoshop;..\..\common\adobeplugin;..\..\common\tt;..;$(IncludePath)</IncludePath>
<TargetExt>.8bf</TargetExt>
<OutDir>$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(Platform)\$(Configuration)\</IntDir>
100,7 → 100,7
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<IncludePath>E:\FilterFoundry\adobe_photoshop_sdk_cc_2017_win\pluginsdk\photoshopapi\pica_sp;E:\FilterFoundry\adobe_photoshop_sdk_cc_2017_win\pluginsdk\photoshopapi\photoshop;..\..\common\adobeplugin;..\..\common\tt;.\;$(IncludePath)</IncludePath>
<IncludePath>..\photoshop_sdk\pluginsdk\photoshopapi\pica_sp;..\photoshop_sdk\pluginsdk\photoshopapi\photoshop;..\..\common\adobeplugin;..\..\common\tt;.\;$(IncludePath)</IncludePath>
<TargetExt>.8bf</TargetExt>
<OutDir>$(Platform)\$(Configuration)\</OutDir>
<TargetName>$(ProjectName)64</TargetName>
122,13 → 122,13
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<ResourceCompile>
<AdditionalIncludeDirectories>D:\FilterFoundry\adobe_photoshop_sdk_cc_2017_win\pluginsdk\photoshopapi\pica_sp;D:\FilterFoundry\adobe_photoshop_sdk_cc_2017_win\pluginsdk\photoshopapi\photoshop;..\..\common\adobeplugin;..\..\common\tt;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\photoshop_sdk\pluginsdk\photoshopapi\pica_sp;..\photoshop_sdk\pluginsdk\photoshopapi\photoshop;..\..\common\adobeplugin;..\..\common\tt;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN_ENV;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<PreBuildEvent>
<Command>cd ..
E:\FilterFoundry\win_flex_bison\win_bison parser.y -d -y
E:\FilterFoundry\win_flex_bison\win_flex lexer.l y.tab.c
win_flex_bison\win_bison.exe parser.y -d -y
win_flex_bison\win_flex.exe lexer.l y.tab.c
move lex.yy.c lex_yy.c</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
147,13 → 147,13
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<ResourceCompile>
<AdditionalIncludeDirectories>D:\FilterFoundry\adobe_photoshop_sdk_cc_2017_win\pluginsdk\photoshopapi\pica_sp;D:\FilterFoundry\adobe_photoshop_sdk_cc_2017_win\pluginsdk\photoshopapi\photoshop;..\..\common\adobeplugin;..\..\common\tt;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\photoshop_sdk\pluginsdk\photoshopapi\pica_sp;..\photoshop_sdk\pluginsdk\photoshopapi\photoshop;..\..\common\adobeplugin;..\..\common\tt;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN_ENV;WIN32;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<PreBuildEvent>
<Command>cd ..
E:\FilterFoundry\win_flex_bison\win_bison parser.y -d -y
E:\FilterFoundry\win_flex_bison\win_flex lexer.l y.tab.c
win_flex_bison\win_bison.exe parser.y -d -y
win_flex_bison\win_flex.exe lexer.l y.tab.c
move lex.yy.c lex_yy.c</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
176,13 → 176,13
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<ResourceCompile>
<AdditionalIncludeDirectories>D:\FilterFoundry\adobe_photoshop_sdk_cc_2017_win\pluginsdk\photoshopapi\pica_sp;D:\FilterFoundry\adobe_photoshop_sdk_cc_2017_win\pluginsdk\photoshopapi\photoshop;..\..\common\adobeplugin;..\..\common\tt;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\photoshop_sdk\pluginsdk\photoshopapi\pica_sp;..\photoshop_sdk\pluginsdk\photoshopapi\photoshop;..\..\common\adobeplugin;..\..\common\tt;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN_ENV;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<PreBuildEvent>
<Command>cd ..
E:\FilterFoundry\win_flex_bison\win_bison parser.y -d -y
E:\FilterFoundry\win_flex_bison\win_flex lexer.l y.tab.c
win_flex_bison\win_bison.exe parser.y -d -y
win_flex_bison\win_flex.exe lexer.l y.tab.c
move lex.yy.c lex_yy.c</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
205,13 → 205,13
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<ResourceCompile>
<AdditionalIncludeDirectories>D:\FilterFoundry\adobe_photoshop_sdk_cc_2017_win\pluginsdk\photoshopapi\pica_sp;D:\FilterFoundry\adobe_photoshop_sdk_cc_2017_win\pluginsdk\photoshopapi\photoshop;..\..\common\adobeplugin;..\..\common\tt;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\photoshop_sdk\pluginsdk\photoshopapi\pica_sp;..\photoshop_sdk\pluginsdk\photoshopapi\photoshop;..\..\common\adobeplugin;..\..\common\tt;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN_ENV;WIN32;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<PreBuildEvent>
<Command>cd ..
E:\FilterFoundry\win_flex_bison\win_bison parser.y -d -y
E:\FilterFoundry\win_flex_bison\win_flex lexer.l y.tab.c
win_flex_bison\win_bison.exe parser.y -d -y
win_flex_bison\win_flex.exe lexer.l y.tab.c
move lex.yy.c lex_yy.c</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
/trunk/visual_studio/README.txt
2,13 → 2,13
BUILDING FILTER FOUNDRY ON VISUAL STUDIO
by Daniel Marschall
 
Most recently tested with Visual Studio 2019 with Adobe Photoshop SDK CC 2017
Most recently tested with Visual Studio 2019 and Adobe Photoshop SDK CC 2017.
 
 
Prerequisites:
================
Prerequisites
-------------
 
1) Visual Studio / C++
1) Visual Studio (Visual C++)
There is a free "Community Edition" available here:
https://visualstudio.microsoft.com/de/vs/community/
 
15,83 → 15,76
2) Flex and Bison
Download the tools here:
https://sourceforge.net/projects/winflexbison/
Put the 2 EXE files somewhere on your disk, e.g.
D:\FilterFoundry\win_flex_bison\win_bison.exe
D:\FilterFoundry\win_flex_bison\win_flex.exe
Extract the contents of the package in the directory "..\win_flex_bison"
 
3) Adobe Photoshop SDK
Available on some Photoshop CDs, or can be downloaded at
https://www.adobe.com/devnet/photoshop/sdk.html
Put it somewhere on your disk, e.g.
D:\FilterFoundry\adobe_photoshop_sdk_cc_2017_win\
Extract the contents of the package in the directory "..\photoshop_sdk"
 
4) SVN client
Get the command line svn client:
https://tortoisesvn.net/index.de.html
Get an SVN client, e.g. TortoiseSVN:
https://tortoisesvn.net/downloads.html
Make sure you include the command line tools during the install.
 
5) Windows SDK
Download the Windows SDK here:
https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk
https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/
and install the following components:
- Windows SDK for Desktop C++ x86 Apps
- Windows SDK for Desktop C++ amd64 Apps
For some reason, you only need to install the Windows SDK if you
build using the IDE, but not if you build using command-line (*.mak files).
 
How to get FilterFoundry:
===========================
How to get FilterFoundry
------------------------
 
Make a directory anywhere (e.g. D:\FilterFoundry\) for telegraphics plugins,
remember, no spaces in pathname, then open the command line and type:
cd /d "D:\FilterFoundry\"
Make a directory anywhere (e.g. C:\FilterFoundry\) for telegraphics plugins,
then open the command line and type:
cd /d "C:\FilterFoundry\"
svn checkout https://www.telegraphics.com.au/svn/common/trunk common
svn checkout https://www.telegraphics.com.au/svn/filterfoundry/trunk filterfoundry
 
In our example, you should now have the directories
D:\FilterFoundry\common\
D:\FilterFoundry\filterfoundry\
C:\FilterFoundry\common\
C:\FilterFoundry\filterfoundry\
 
 
Build setup using the IDE:
============================
Build setup using the IDE
-------------------------
 
1. Open the visual_studio\FilterFoundry.sln
1. Open the visual_studio\FilterFoundry.sln with Visual Studio
 
2. Adjust the paths in the project settings:
a) Path to Adobe plugin SDK (in C/C++ category, and Resource category)
b) Path to win_flex and win_bison (pre-build-events)
c) Your specific version of the Windows SDK
2. Go to the project settings and change the Windows SDK version to the one you have installed.
 
3. You can now compile the x86 and x64 plugin inside the IDE.
3. You can now compile the x86 and x64 plugins inside the IDE.
The output files are:
D:\FilterFoundry\Source\visual_studio\Win32\(Release|Debug)\FilterFoundry.8bf
D:\FilterFoundry\Source\visual_studio\Win64\(Release|Debug)\FilterFoundry64.8bf
C:\FilterFoundry\Source\visual_studio\Win32\(Release|Debug)\FilterFoundry.8bf
C:\FilterFoundry\Source\visual_studio\Win64\(Release|Debug)\FilterFoundry64.8bf
 
 
Build setup using command line/nmake:
=======================================
Build setup using command line/nmake
------------------------------------
 
1. Adjust the paths in the visual_studio\nmake.mak and visual_studio\nmake64.mak files:
a) Path to Adobe plugin SDK (in C/C++ category, and Resource category)
b) Path to win_flex and win_bison (pre-build-events)
1. Check/Edit visual_studio\vc_make_3264.bat: Change the Visual Studio path to the one you have on your system.
 
2. Edit visual_studio\vc_make_3264.bat: Change the Visual Studio path to the one you have on your system.
 
3. You can now use the script visual_studio\vc_make_3264.bat to build both x86 and x64 with one click.
2. You can now use the script visual_studio\vc_make_3264.bat to build both x86 and x64 with one click.
The output files are:
D:\FilterFoundry\Source\visual_studio\FilterFoundry.8bf
D:\FilterFoundry\Source\visual_studio\FilterFoundry64.8bf
...\visual_studio\FilterFoundry.8bf
...\visual_studio\FilterFoundry64.8bf
 
 
Troubleshooting:
==================
Troubleshooting
---------------
 
- If "rc" can't be found, install the Windows 10 SDK, and then copy
C:\Program Files (x86)\Windows Kits\10\bin\...\x64 to C:\Program Files (x86)\Windows Kits\10\bin\x86
C:\Program Files (x86)\Windows Kits\10\bin\...\x64 to
C:\Program Files (x86)\Windows Kits\10\bin\x86
see also https://stackoverflow.com/questions/43847542/rc-exe-no-longer-found-in-vs-2015-command-prompt
 
- If lex.yy.c can't be found, check the flex command (it generates lex.yy.c) in the project properties
or the mak-file, respectively.
- If lex.yy.c can't be found, check the flex command (it generates lex.yy.c)
in the project properties or the mak-file, respectively.
 
- If nmake gives the error message "makefile(28) : fatal error U1000: Syntax error: ")" missing in macro invocation"
then run nmake with the parameter "/f nmake.mak" or "/f nmake64.mak"
99,7 → 92,13
 
- If you run into any problems, try "nmake /f nmake.mak clean" followed by "nmake /f nmake.mak",
or for 64 bit: "nmake /f nmake64.mak clean" followed by "nmake /f nmake64.mak"
It is necessary to run the "clean" command when switching between 32bit and 64 bit building.
It is necessary to run the "clean" command when switching between 32-bit and 64-bit builds.
 
- Since the RC files have a complex structure, you cannot edit the resources inside the IDE.
You need to edit the *.rc files manually.
 
- If the winflex/bison prebuild commands fail, Visual Studio will just show the message
'The command "cd ..'
because the command contains line breaks and so you will only see the first command "cd ..".
Hover the mouse over the error message to display the whole message (commands),
or copy it using Ctrl+C and paste it into a text editor.
/trunk/visual_studio/nmake.mak
1,5 → 1,6
# This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
# Copyright (C) 2002-2019 Toby Thain, toby@telegraphics.com.au
# Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
# Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
42,7 → 43,7
EXEC = FilterFoundry
 
# define location of Photoshop SDK headers
PSAPI = "E:\FilterFoundry\adobe_photoshop_sdk_cc_2017_win\pluginsdk\photoshopapi"
PSAPI = "..\photoshop_sdk\pluginsdk\photoshopapi"
 
# C compiler flags
CPPFLAGS = -DWIN32 -DWIN_ENV -DYY_SKIP_YYWRAP \
57,8 → 58,8
RFLAGS = -i$(PSAPI)\Photoshop
 
# Path to flex and bison (you can download them at https://sourceforge.net/projects/winflexbison/ )
FLEX = E:\FilterFoundry\win_flex_bison\win_flex
BISON = E:\FilterFoundry\win_flex_bison\win_bison
FLEX = win_flex_bison\win_flex
BISON = win_flex_bison\win_bison
 
OBJ = ..\main.obj ..\funcs.obj ..\process.obj ..\node.obj ..\symtab.obj \
..\ui.obj ..\ui_build.obj ..\preview.obj ..\read.obj ..\save.obj ..\make.obj \
/trunk/visual_studio/nmake64.mak
1,5 → 1,6
# This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
# Copyright (C) 2002-2019 Toby Thain, toby@telegraphics.com.au
# Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
# Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
42,7 → 43,7
EXEC = FilterFoundry
 
# define location of Photoshop SDK headers
PSAPI = "E:\FilterFoundry\adobe_photoshop_sdk_cc_2017_win\pluginsdk\photoshopapi"
PSAPI = "..\photoshop_sdk\pluginsdk\photoshopapi"
 
# C compiler flags
CPPFLAGS = -DWIN32 -DWIN_ENV -DYY_SKIP_YYWRAP \
57,8 → 58,8
RFLAGS = -i$(PSAPI)\Photoshop -d_WIN64
 
# Path to flex and bison (you can download them at https://sourceforge.net/projects/winflexbison/ )
FLEX = E:\FilterFoundry\win_flex_bison\win_flex
BISON = E:\FilterFoundry\win_flex_bison\win_bison
FLEX = win_flex_bison\win_flex
BISON = win_flex_bison\win_bison
 
OBJ = ..\main.obj ..\funcs.obj ..\process.obj ..\node.obj ..\symtab.obj \
..\ui.obj ..\ui_build.obj ..\preview.obj ..\read.obj ..\save.obj ..\make.obj \
/trunk/visual_studio
Property changes:
Added: svn:ignore
+Win32
+Win64
+.vs
+*.obj
+*.res
+*.8bf
+*.exp
+*.lib
/trunk/win_flex_bison/DOWNLOAD.txt
0,0 → 1,11
 
Please download the Windows "bison" and "flex" tools here:
https://sourceforge.net/projects/winflexbison/
 
Place the contents of the ZIP file in this directory:
- win_bison.exe
- win_flex.exe
- data/
- ...
 
This is required for the Windows build (Visual Studio, OpenWatcom, ...)
/trunk/win_flex_bison
Property changes:
Added: svn:ignore
+custom_build_rules
+data
+FlexLexer.h
+README.txt
+UNISTD_ERROR.readme
+win_bison.exe
+win_flex.exe
/trunk/win_res.rc
1,6 → 1,7
/*
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/wishlist/wishlist.txt
164,7 → 164,8
LICENSE NOTIFICATION:
 
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2019 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2019 Daniel Marschall, ViaThinkSoft
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/trunk/wpj/README.TXT
2,11 → 2,11
BUILDING FILTER FOUNDRY ON OPENWATCOM
by Peter Heckert and Daniel Marschall
 
Most recently tested with OpenWatcom 1.9 with Adobe Photoshop SDK CC 2017
Most recently tested with OpenWatcom 1.9 and Adobe Photoshop SDK CC 2017.
 
 
Prerequisites:
================
Prerequisites
-------------
 
1) Flex and Bison
Available here:
19,46 → 19,43
3) Watcom 1.6beta RC1 or later
Available here:
http://www.openwatcom.org/
After installing, do a reboot, or set the environment manually.
 
4) SVN client
After installing Watcom get the command line svn client:
https://tortoisesvn.net/index.de.html
After installing all these reboot, or set the environment manually
Get an SVN client, e.g. TortoiseSVN:
https://tortoisesvn.net/downloads.html
Make sure you include the command line tools during the install.
 
 
How to get FilterFoundry:
===========================
How to get FilterFoundry
------------------------
 
Make a directory anywhere for telegraphics plugins, remember, no spaces in pathname
cd into the directory.
type
Make a directory anywhere (e.g. C:\FilterFoundry\) for telegraphics plugins,
then open the command line and type:
cd /d "C:\FilterFoundry\"
svn checkout https://www.telegraphics.com.au/svn/common/trunk common
svn checkout https://www.telegraphics.com.au/svn/filterfoundry/trunk filterfoundry
 
In our example, you should now have the directories
C:\FilterFoundry\common\
C:\FilterFoundry\filterfoundry\
 
Build setup:
==============
IMPORTANT: Your path must not contain whitespaces!
For example, you must not use "C:\Users\John Doe\SVN\Filter Foundry\".
 
Hint:
If you never used Watcom to build Photoshop plugins best start with the
countcolours plugin and ensure it compiles. Read the HowTo.
Look for it at https://www.telegraphics.com.au/sw/ or get it with
svn checkout https://www.telegraphics.com.au/svn/countcolours/trunk countcolours
 
1. Open filterfoundry.wpj in Watcom's IDE.
Build setup
-----------
 
2. In menu File->Before set the path to your Photoshop SDK,
Flex and Bison.
If this doesn't work (there seem to be a bug in OpenWatcom 1.9 where you can only make the
text smaller, but not bigger), you have to edit the WPJ file with an text editor.
Remember how many characters you have added or deleted, and subtract or add them
to the number written above the before-instructions (currently 445).
There is no special build setup required.
Just open wpj\filterfoundry.wpj in Watcom's IDE
and click "Make target".
 
3. Thats all, you can build the project then.
 
Troubleshooting
---------------
 
Troubleshooting:
==================
- Please make sure that you must not have whitespaces in the pathname.
 
- If you get the error message "Fatal Error! 62: Unable to open 'sdkddkver.h'", please open
pluginsdk\photoshopapi\photoshop\PITypes.h in your Adobe Photoshop SDK and
77,13 → 74,23
Go to Options -> C Compiler Switches -> Source switches , and add YY_SKIP_YYWRAP=1 .
The wpj project should already have this setting applied.
 
- The path to the Photoshop SDK and to Win Flex/Bison (PreBuild event)
is already set in the project file. Please note that changing these
paths is a bit complicated. There are several bugs in OpenWatcom
where you can only make the pre-build-events shorter, but not longer).
Sometimes, some lines aren't even displayed!
You have to edit the WPJ file with a text editor.
Remember how many characters you have added or deleted,
and subtract or add them to the number written above the before-instructions
(currently 347). This is the number of bytes of the commands.
 
 
Remarks
=========
-------
 
flex and bison are currently invoked as batch process.
flex and bison are currently invoked as a batch process.
This is defined in the menu File->Before.
The ide fails to build the project when filenames contain more than one dot.
The IDE fails to build the project when filenames contain more than one dot.
Therefore the output files of bison and lex are renamed.
There is no error checking done.
Probably it would be better to write a small wmake file for this purpose.
/trunk/wpj/filterfoundry.wpj
12,21 → 12,18
MProject
3
MCommand
445
set PSSDK=E:\FilterFoundry\adobe_photoshop_sdk_cc_2017_win\pluginsdk
set PSAPI=E:\FilterFoundry\adobe_photoshop_sdk_cc_2017_win\pluginsdk\photoshopapi
347
set PSSDK=..\photoshop_sdk\pluginsdk
set PSAPI=..\photoshop_sdk\pluginsdk\photoshopapi
cd ..
if exist y_tab.c del y_tab.c
if exist lex_yy.c del lex_yy.c
E:\FilterFoundry\win_flex_bison\win_bison parser.y -d -y
E:\FilterFoundry\win_flex_bison\win_flex lexer.l y.tab.c
win_flex_bison\win_bison.exe parser.y -d -y
win_flex_bison\win_flex.exe lexer.l y.tab.c
rem IDE doesnt like multiple dots in filenames
ren y.tab.c y_tab.c
ren lex.yy.c lex_yy.c
cd wpj
 
 
 
4
MCommand
 
/trunk/wpj
Property changes:
Added: svn:ignore
+*.err
+*.mk
+*.mk1
+*.dll
+*.8bf
+*.map
+*.obj
+*.lib
+*.lk1
+*.res
/trunk/.
Property changes:
Added: svn:ignore
+lex_yy.c
+lex.yy.c
+y.tab.h
+y.tab.c
+y_tab.c