Subversion Repositories filter_foundry

Compare Revisions

Regard whitespace Rev 525 → Rev 526

/trunk/CHANGELOG.md
1,7 → 1,7
# Changelog
 
## 1.7.0.18 [15-May-2022]
- Fixed issue with 32-bit resource strings (English and German language was broken) introduced in version 1.7.0.17.
- 32bit/Windows filter: Fixed issue with resource strings (English and German language was broken) introduced in version 1.7.0.17.
 
## 1.7.0.17 [14-May-2022]
- Fixed theoretical bug that can crash a Photoshop application if PLUGIN.DLL exists but is not loaded.
11,12 → 11,12
- Windows: Standalone filters containing ampersand characters ("&") in Name or Category now have the correct "Visual Themes", as the Manifest XML is not broken anymore.
- Windows: Handling of ampersand characters ("&") in Title, Category, Author, Copyright, and Controller/Map labels fixed.
- Introduced obfuscation version 7, which is more secure.
- Support for "Filter layers" added (not fully tested; PiPL attribute `'flly'`) (*)
- FilterFoundry can now work correctly with Duotone and Lab color spaces (PiPL `'mode'` entry was wrong)
- Support for "Filter layers" added (not fully tested; PiPL attribute `'8BIM':'flly'`) (*)
- FilterFoundry can now work correctly with Duotone and Lab color spaces (PiPL property `'8BIM':'mode'` was wrong)
- "Indexed Color" mode removed, since it seems to have never worked.
- Internal change: PiPL resource now contains `'8BIM':'cmpt'` (Component) (*)
- Internal change: PiPL resource now contains `'ViaT':'ObId'` (Object Identifier) (*)
- Internal change: PiPL resource now contains `prty` (Priority)
- Internal change: PiPL resource now contains `'8BIM':'prty'` (Priority)
 
(*) This bug/solution was tested on Windows but needs to be verified and/or implemented on Mac.
 
/trunk/PiPL.rc
54,14 → 54,14
VENDORID, LC(c,a,t,g), NULLID, 16L, "\014Telegraphics\0\0\0", /* PString */
VENDORID, LC(n,a,m,e), NULLID, 20L, "\021Filter Foundry...\0\0", /* PString */
 
/* "Component". Values taken from Clouds.8BF */
/* Component { MainComponentVersion, "Filter Foundry" }, */
/* Note: Length 20 must be divisible by 4 */
VENDORID, LC(c,m,p,t), NULLID, 20L, MainComponentVersion, "Filter Foundry\0\0",
VENDORID, LC(c,m,p,t), NULLID, 20L, MainComponentVersion, "Filter Foundry\0\0", /* CString */
 
/* HasTerminology { plugInClassID, plugInEventID, AETE_ID, vendorName " " plugInName }, */
/* HasTerminology { plugInClassID, plugInEventID, AETE_ID, "" }, */
VENDORID, LC(h,s,t,m), NULLID, 16L, /* = 3*4 + 2 + sizeof(c string) + padding */
0L, /* version */
LC(F,l,t,r), /* Class ID, always required. Must be eventFilter='Fltr' to show up in "Actions" tab. */
LC(F,l,t,r), /* Class ID, always required. Must be eventFilter='Fltr' to show up in "Actions" tab. (PITerminology.h:eventFilter) */
LC(f,i,F,o), /* Event ID, or typeNULL if not Filter/Color Picker/Selection. */
AETE_ID, /* Dictionary ('AETE') resource ID. (only 2 bytes long!) */
/*"Telegraphics FilterFoundry\0\0\0\0"*/
79,7 → 79,7
#include "PiPL_body.rc"
 
/* Object Identifier attribute */
/* Note that 'ViaT' is not a official creator code for ViaThinkSoft and it is unclear where a creator code can be aquired from... */
/* Note that 'ViaT' is not an official creator code for ViaThinkSoft and it is unclear where a creator code can be aquired from... */
/* Note: Length 24 must be divisible by 4 */
LC(V,i,a,T), LC(O,b,I,d), NULLID, 24L, "1.3.6.1.4.1.37476.2.72\0\0",
END
/trunk/ff.h
39,8 → 39,8
#define HOSTSIG_GIMP 'PMIG' // sic: NOT 'GIMP'
#define HOSTSIG_IRFANVIEW 'UP20'
#define HOSTSIG_PHOTOSHOP '8BIM'
//#define HOSTSIG_PLUGINCOMMANDER '8BIM' // meh.
//#define HOSTSIG_SERIF_PHOTOPLUS '8BIM' // meh.
//#define HOSTSIG_PLUGINCOMMANDER '8BIM' // illegal usage of signature
//#define HOSTSIG_SERIF_PHOTOPLUS '8BIM' // illegal usage of signature
#define HOSTSIG_JASC_PAINTSHOP_PRO_X 'PSP9'
#define HOSTSIG_PAINT_NET 'NDP.'
#define HOSTSIG_ADOBE_PREMIERE '8B)M'/*sic*/
/trunk/language.h
20,6 → 20,9
 
// Attention: Please save this file as UTF-8 without BOM!
 
#ifndef LANGUAGE_H_
#define LANGUAGE_H_
 
#define MSG_PREMIERE_COMPAT_ID 1
#define MSG_PREMIERE_COMPAT_ENUS "This version of Filter Foundry is not compatible with Adobe Premiere!";
#define MSG_PREMIERE_COMPAT_DEDE "Diese Version von Filter Foundry ist mit Adobe Premiere nicht kompatibel!"
253,3 → 256,6
int FF_GetMsg(TCHAR* ret, int MsgId);
TCHAR* FF_GetMsg_Cpy(int MsgId);
void FF_GetMsg_Free(TCHAR* str);
 
#endif
 
/trunk/make.c
179,7 → 179,7
p = (char*)pipl + origsize;
prop = (PIProperty*)p;
 
/* Important not about proptyLength:
/* Important note about propertyLength:
In regards propertyLength, Adobe writes in SPPiPL.h:
"Number of characters in the data array. Rounded to a multiple of 4."
/trunk/obfusc.c
80,8 → 80,9
}
#endif
#else
// Unfortunately, with this compiler, we the value needs to be in the .data segment...
// Due to "const volatile", this value will only exist a single time in the binary file.
// Unfortunately, with this compiler, we don't know how to force the seed into the .code segment.
// So, we put it in the .data segment.
// Note: Due to "const volatile", this value will only exist a single time in the binary file.
const volatile uint64_t obfusc_seed = 0x7416972a52830517ull;
uint64_t GetObfuscSeed() {
return obfusc_seed;
349,7 → 350,7
// Version 5 obfuscation (Filter Foundry 1.7.0.8)
// Version 6 obfuscation (Filter Foundry 1.7.0.10)
// Version 7 obfuscation (Filter Foundry 1.7.0.17)
// Future: Version 8, ... 255
// Future: Version 8, 9, ..., 255
return obfusc_info;
}
else {
/trunk/os_types.md
15,7 → 15,7
|--------|------------|------------|---------------------------------------------------------|-----------------|
| `tELE` | 1950698565 | 0x74454c45 | Plugin Suite ID | Telegraphics |
| `Fltr` | 1181512818 | 0x466c7472 | Class ID "Filter" (PITerminology.h:eventFilter) | Adobe |
| `fiFo` | 1718175343 | 0x6669466f | Event ID (for non-standalone filter) | Telegraphics |
| `fiFo` | 1718175343 | 0x6669466f | Event ID (for non-standalone filters) | Telegraphics |
| `xprR` | 2020635218 | 0x78707252 | Expression "red" channel (for non-standalone filter) | Telegraphics |
| `xprG` | 2020635207 | 0x78707247 | Expression "green" channel (for non-standalone filter) | Telegraphics |
| `xprB` | 2020635202 | 0x78707242 | Expression "blue" channel (for non-standalone filter) | Telegraphics |
28,6 → 28,10
| `cTl5` | 1666477109 | 0x63546c35 | Slider 5 (for non-standalone filter) | Telegraphics |
| `cTl6` | 1666477110 | 0x63546c36 | Slider 6 (for non-standalone filter) | Telegraphics |
| `cTl7` | 1666477111 | 0x63546c37 | Slider 7 (for non-standalone filter) | Telegraphics |
| `long` | 1819242087 | 0x6c6f6e67 | Data type integer | Apple |
| `TEXT` | 1413830740 | 0x54455854 | Data type string | Apple |
| `null` | 1853189228 | 0x6e756c6c | noReply | Apple |
| `#ImR` | 592014674 | 0x23496d52 | typeImageReference | Adobe |
 
Note: For standalone plugins, all FourCC codes above will be replaced by different hashes based on the parameter data of the filter (except `tELE` and `Fltr`).
 
/trunk/os_types.php
45,7 → 45,7
ostype_header("AppleScript related");
ostype_info('tELE', 'Plugin Suite ID', 'Telegraphics');
ostype_info('Fltr', 'Class ID "Filter" (PITerminology.h:eventFilter)', 'Adobe');
ostype_info('fiFo', 'Event ID (for non-standalone filter)', 'Telegraphics');
ostype_info('fiFo', 'Event ID (for non-standalone filters)', 'Telegraphics');
ostype_info('xprR', 'Expression "red" channel (for non-standalone filter)', 'Telegraphics');
ostype_info('xprG', 'Expression "green" channel (for non-standalone filter)', 'Telegraphics');
ostype_info('xprB', 'Expression "blue" channel (for non-standalone filter)', 'Telegraphics');
58,6 → 58,10
ostype_info('cTl5', 'Slider 5 (for non-standalone filter)', 'Telegraphics');
ostype_info('cTl6', 'Slider 6 (for non-standalone filter)', 'Telegraphics');
ostype_info('cTl7', 'Slider 7 (for non-standalone filter)', 'Telegraphics');
ostype_info('long', 'Data type integer', 'Apple');
ostype_info('TEXT', 'Data type string', 'Apple');
ostype_info('null', 'noReply', 'Apple');
ostype_info('#ImR', 'typeImageReference', 'Adobe');
ostype_footer();
 
echo "Note: For standalone plugins, all FourCC codes above will be replaced ";
/trunk/preview.c
1,5 → 1,5
/*
This file is part of Filter Foundry, a filter plugin for Adobe Photoshop
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2022 Daniel Marschall, ViaThinkSoft
 
/trunk/preview_mac.c
1,5 → 1,5
/*
This file is part of Filter Foundry, a filter plugin for Adobe Photoshop
This file is part of "Filter Foundry", a filter plugin for Adobe Photoshop
Copyright (C) 2003-2009 Toby Thain, toby@telegraphics.com.au
Copyright (C) 2018-2021 Daniel Marschall, ViaThinkSoft
 
/trunk/wpj/README.md
14,7 → 14,8
 
2) Adobe Photoshop SDK
Available on some Photoshop CDs, or can be downloaded at
https://www.adobe.com/devnet/photoshop/sdk.html
https://developer.adobe.com/photoshop/
(see more details at the ../photoshop_sdk/DOWNLOAD.txt)
 
3) Watcom 1.6beta RC1 or later
Available here: