Subversion Repositories filter_foundry

Compare Revisions

Regard whitespace Rev 443 → Rev 444

/trunk/main.c
23,6 → 23,7
 
#include "ff.h"
 
#include "str.h"
#include "node.h"
#include "funcs.h"
#include "y.tab.h"
80,20 → 81,42
return hash;
}
 
void get_temp_afs(char *outfilename, Boolean isStandalone, PARM_T *parm) {
char* tempdir;
size_t get_temp_afs(LPTSTR outfilename, Boolean isStandalone, PARM_T *parm) {
char* atempdir;
int hash;
size_t i, j;
TCHAR out[MAX_PATH + 1];
char ahash[20];
 
tempdir = getenv("TMP");
// out = getenv("TMP")
atempdir = getenv("TMP");
for (i = 0; i < strlen(atempdir); i++) {
out[i] = (TCHAR)atempdir[i];
out[i + 1] = 0;
}
 
#ifdef WIN_ENV
if (strlen(tempdir) > 0) strcat(tempdir, "\\");
if (xstrlen(out) > 0) xstrcat(out, TEXT("\\"));
#else
if (strlen(tempdir) > 0) strcat(tempdir, "/");
if (xstrlen(out) > 0) xstrcat(out, TEXT("/"));
#endif
 
hash = (isStandalone) ? get_parm_hash(parm) : 0;
sprintf(outfilename, "%sFilterFoundry%d.afs", tempdir, hash);
 
// sprintf(outfilename, "%sFilterFoundry%d.afs", atempdir, hash);
xstrcat(out, TEXT("FilterFoundry"));
_itoa(hash, &ahash[0], 10);
for (i = 0; i < strlen(ahash); i++) {
j = xstrlen(out);
out[j] = (TCHAR)ahash[i];
out[j + 1] = 0;
}
xstrcat(out, TEXT(".afs"));
if (outfilename != NULL) {
xstrcpy(outfilename, out);
}
return xstrlen(out);
}
 
DLLEXPORT MACPASCAL
void ENTRYPOINT(short selector, FilterRecordPtr pb, intptr_t *data, short *result){
155,7 → 178,7
// but it crashes in evalpixel() where there is write-access to the "outp".
// Probably the canvas structure is different (maybe it contains frames to achieve transitions?)
if (!premiereWarnedOnce) {
simplealert(_strdup("This version of Filter Foundry is not compatible with Adobe Premiere!"));
simplealert((TCHAR*)TEXT("This version of Filter Foundry is not compatible with Adobe Premiere!"));
}
premiereWarnedOnce = true;
*result = errPlugInHostInsufficient;
244,10 → 267,10
gdata->standalone = gdata->parmloaded = readPARMresource((HMODULE)hDllInstance,&reason);
if (gdata->parmloaded && (gdata->parm.cbSize != PARM_SIZE) && (gdata->parm.cbSize != PARM_SIZE_PREMIERE) && (gdata->parm.cbSize != PARM_SIG_MAC)) {
if (gdata->obfusc) {
simplealert(_strdup("Incompatible obfuscation."));
simplealert((TCHAR*)TEXT("Incompatible obfuscation."));
}
else {
simplealert(_strdup("Invalid parameter data."));
simplealert((TCHAR*)TEXT("Invalid parameter data."));
}
}
else {
293,7 → 316,7
This mode saves the filter data into a temporary file "FilterFoundryXX.afs" and loads it
when the window is opened again. */
// Workaround: Save settings in "FilterFoundryXX.afs" if the host does not preserve pb->parameters
char outfilename[255];
TCHAR outfilename[MAX_PATH+1];
StandardFileReply sfr;
char* bakexpr[4];
int i;
304,9 → 327,9
 
get_temp_afs(&outfilename[0], gdata->standalone, &gdata->parm);
 
myc2pstrcpy(sfr.sfFile.name, outfilename);
xstrcpy(sfr.sfFile.szName, outfilename);
#ifdef WIN_ENV
sfr.nFileExtension = (WORD)(strlen(outfilename) - strlen(".afs") + 1);
sfr.nFileExtension = (WORD)(xstrlen(outfilename) - strlen(".afs") + 1);
#endif
sfr.sfScript = 0; // FIXME: is that ok?
 
375,7 → 398,7
 
if (!host_preserves_parameters()) {
// Workaround: Load settings in "FilterFoundryXX.afs" if host does not preserve pb->parameters
char outfilename[255];
TCHAR outfilename[MAX_PATH + 1];
Boolean isStandalone;
StandardFileReply sfr;
char* bakexpr[4];
390,10 → 413,10
isStandalone = readPARMresource((HMODULE)hDllInstance, &reason);
if (isStandalone && (gdata->parm.cbSize != PARM_SIZE) && (gdata->parm.cbSize != PARM_SIZE_PREMIERE) && (gdata->parm.cbSize != PARM_SIG_MAC)) {
if (gdata->obfusc) {
simplealert(_strdup("Incompatible obfuscation."));
simplealert((TCHAR*)TEXT("Incompatible obfuscation."));
}
else {
simplealert(_strdup("Invalid parameter data."));
simplealert((TCHAR*)TEXT("Invalid parameter data."));
}
gdata->parmloaded = false;
return false;
401,9 → 424,9
 
get_temp_afs(&outfilename[0], isStandalone, &gdata->parm);
 
myc2pstrcpy(sfr.sfFile.name, outfilename);
xstrcpy(sfr.sfFile.szName, outfilename);
#ifdef WIN_ENV
sfr.nFileExtension = (WORD)(strlen(outfilename) - strlen(".afs") + 1);
sfr.nFileExtension = (WORD)(xstrlen(outfilename) - strlen(".afs") + 1);
#endif
sfr.sfScript = 0; // FIXME: is that ok?
 
436,10 → 459,10
gdata->standalone = gdata->parmloaded = readPARMresource((HMODULE)hDllInstance,&reason);
if (gdata->parmloaded && (gdata->parm.cbSize != PARM_SIZE) && (gdata->parm.cbSize != PARM_SIZE_PREMIERE) && (gdata->parm.cbSize != PARM_SIG_MAC)) {
if (gdata->obfusc) {
simplealert(_strdup("Incompatible obfuscation."));
simplealert((TCHAR*)TEXT("Incompatible obfuscation."));
}
else {
simplealert(_strdup("Invalid parameter data."));
simplealert((TCHAR*)TEXT("Invalid parameter data."));
}
gdata->parmloaded = false;
return false;