/trunk/PiPL.rc |
---|
64,6 → 64,11 |
VENDORID, LC(w,x,8,6), NULLID, 12L, "PluginMain\0\0", /* Entrypoint Name (Long Word padded C String) */ |
#endif |
/* 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: 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", |
#include "PiPL_body.rc" |
END |
73,7 → 78,7 |
BEGIN |
0x0001, /* Reserved (for Photoshop) */ |
0L, /* kCurrentPiPLVersion */ |
9L, /* Property Count */ |
8L, /* Property Count */ |
VENDORID, LC(w,x,8,6), NULLID, 12L, "PluginMain\0\0", /* Entrypoint Name (Long Word padded C String) */ |
#include "PiPL_body.rc" |
END |
83,7 → 88,7 |
BEGIN |
0x0001, /* Reserved (for Photoshop) */ |
0L, /* kCurrentPiPLVersion */ |
9L, /* Property Count */ |
8L, /* Property Count */ |
VENDORID, LC(8,6,6,4), NULLID, 12L, "PluginMain\0\0", /* Entrypoint Name (Long Word padded C String) */ |
#include "PiPL_body.rc" |
END |
/trunk/PiPL_body.rc |
---|
21,7 → 21,7 |
// This RC file is for Windows only. |
// The PiPL_body contains the properties which are added to PIPL and TPLT (PIPL-Template). |
// PIPL will additionally receive name, catg and hstm |
// Attention: This file may only contain 8 properties. If this number changes, |
// Attention: This file may only contain 7 properties. If this number changes, |
// please also change PiPL.rc |
/* Filter module */ |
60,9 → 60,9 |
/* We need this to enable the plugin for BigDocuments */ |
VENDORID, LC(m,s,3,2), NULLID, 8L, 2000000L, 2000000L, |
/* Required host (' ' = any) */ |
/* Required host (' ' = ANY) */ |
/* Commented out, because there is a risk that a badly programmed host will think that ' '!='8BIM' and doesn't load the plugin then?!*/ |
//VENDORID, LC(h,o,s,t), NULLID, 4L, 0x20202020L, |
//VENDORID, LC(h,o,s,t), NULLID, 4L, ANY, |
/* "FilterLayerSupport" (Allows smart filters) */ |
/* TODO: It seems to work, but are we really fully supporting Smart Filters?! */ |
73,12 → 73,6 |
/* "Plug-in Resource Guide.pdf", pages 61-62 */ |
VENDORID, LC(e,n,b,l), NULLID, 136L, "in (PSHOP_ImageMode, GrayScaleMode, IndexedColorMode, RGBMode, CMYKMode, HSLMode, HSBMode, MultichannelMode, DuotoneMode, LabMode)\0\0\0\0\0\0", |
/* 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... */ |
/* TODO: In the future, create individual OIDs for standalone filters, i.e. via hash */ |
/* 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", |
/* MonitorScalingAware */ |
/* TODO: Do we support it? For now, commented out */ |
//VENDORID, LC(p,m,s,a), NULLID, 4L, 1L, |
/trunk/ff.h |
---|
45,6 → 45,10 |
#define HOSTSIG_PAINT_NET 'NDP.' |
#define HOSTSIG_ADOBE_PREMIERE '8B)M'/*sic*/ |
// see also PiPL.rc |
#define kViaThinkSoftSignature 'ViaT' // 0x56696154 (inofficial creator code) |
#define PIOIDProperty 'ObId' // 0x4f624964 |
enum{ |
TAB = 011, |
LF = 012, |
/trunk/make.c |
---|
172,9 → 172,9 |
size_t roundedLength; |
unsigned long componentVersion; |
time_t curTime; |
char szScope[0x300]; |
char szScope[0x300], szOID[0x50]; |
pipl->count += 4; // 4 more keys in PiPL: catg, name, cmpt, hstm |
pipl->count += 5; // 5 more keys in PiPL: catg, name, cmpt, hstm, ObId |
p = (char*)pipl + origsize; |
prop = (PIProperty*)p; |
231,12 → 231,26 |
p += offsetof(PIProperty, propertyData) + prop->propertyLength; // skip past new property record, and any padding |
prop = (PIProperty*)p; |
/* add OID property key */ |
sprintf(szScope, "%s %s", category, component); |
hash = djb2(szScope); |
// max 47 chars ("1.3.6.1.4.1.37476.2.72.1.4294967295.4294967295\0") |
sprintf(szOID, "1.3.6.1.4.1.37476.2.72.1.%lu.%lu", hash, componentVersion); |
prop->vendorID = kViaThinkSoftSignature; |
prop->propertyKey = PIOIDProperty; |
prop->propertyID = 0; |
prop->propertyLength = (SPInt32)roundToNext4(strlen(szOID) + 1); |
memset(prop->propertyData, 0x00, prop->propertyLength); // fill padding with 00h bytes (cosmetics) |
strcpy((char*)prop->propertyData, szOID); |
p += offsetof(PIProperty, propertyData) + prop->propertyLength; // skip past new property record, and any padding |
prop = (PIProperty*)p; |
/* add HasTerminology property key */ |
hstm = (struct hstm_data*)prop->propertyData; |
sprintf(szScope, "%s %s", category, title); |
#ifdef ENABLE_APPLESCRIPT |
// If the uniqueString/scope is set, the plugin will only communicate with Photoshop. |
// Otherwise it can be accessed with AppleScript, but the AETE keys need to be unique then. |
253,7 → 267,6 |
#endif |
/* make up a new event ID for this aete, based on printable base-95 hash of scope */ |
hash = djb2(szScope); |
*event_id = printablehash(hash); /* this is used by aete_generate() later... */ |
prop->vendorID = kPhotoshopSignature; |
/trunk/version.h |
---|
53,6 → 53,6 |
#define VI_COMMENTS "Download the latest version here: " PROJECT_URL "\0" /* null terminated Comments field */ |
#define VI_COMPANY_NAME "ViaThinkSoft, Telegraphics Pty Ltd\0" |
/* wildcard signature in resources */ |
#define ANY ' ' |
#define ANY 0x20202020 // ' ' |
#endif |