Subversion Repositories filter_foundry

Compare Revisions

Regard whitespace Rev 549 → Rev 550

/trunk/save.c
58,7 → 58,7
 
if (!h) return nilHandleErr;
 
est = strlen(expr[0]) + strlen(expr[1]) + strlen(expr[2]) + strlen(expr[3]);
est = strlen(gdata->parm.szFormula[0]) + strlen(gdata->parm.szFormula[1]) + strlen(gdata->parm.szFormula[2]) + strlen(gdata->parm.szFormula[3]);
// do not be tempted to combine into one expression: 'est' is referenced below
est += strlen(afs_sig) + est/CHOPLINES + 4 + 8*6 + 64 /*slop*/ ;
 
69,11 → 69,11
 
/* then slider values, one per line */
for( i=0 ; i<8 ; ++i )
p += sprintf(p, "%d\r", slider[i]);
p += sprintf(p, "%d\r", gdata->parm.val[i]);
 
/* expressions, broken into lines no longer than CHOPLINES characters */
for( i=0 ; i<4 ; ++i ){
if ((r = expr[i])) {
if ((r = gdata->parm.szFormula[i])) {
chunk = 0; // to avoid that compiler complains
for (n = strlen(r); n; n -= chunk) {
chunk = n > (int)CHOPLINES ? (int)CHOPLINES : n;
110,9 → 110,7
return e;
}
 
OSErr saveparams_picotxt(Handle h, Boolean useparm) {
extern int ctls[], maps[];
 
OSErr saveparams_picotxt(Handle h) {
char * p, *start;
int i;
OSErr e;
120,30 → 118,29
 
if (!h) return nilHandleErr;
 
est = strlen(expr[0]) + strlen(expr[1]) + strlen(expr[2]) + strlen(expr[3]);
est = strlen(gdata->parm.szFormula[0]) + strlen(gdata->parm.szFormula[1]) + strlen(gdata->parm.szFormula[2]) + strlen(gdata->parm.szFormula[3]);
// do not be tempted to combine into one expression: 'est' is referenced below
est += 16000;
 
PIUNLOCKHANDLE(h); // should not be necessary
if (!(e = PISETHANDLESIZE(h, (int32)(est))) && (p = start = PILOCKHANDLE(h, false))) {
checksliders(4, ctls, maps);
checksliders(4);
 
// Metadata
p += sprintf(p, "Category: %s\r\n", useparm ? gdata->parm.szCategory : "...");
p += sprintf(p, "Title: %s\r\n", useparm ? gdata->parm.szTitle : "...");
p += sprintf(p, "Copyright: %s\r\n", useparm ? gdata->parm.szCopyright : "...");
p += sprintf(p, "Author: %s\r\n", useparm ? gdata->parm.szAuthor : "...");
p += sprintf(p, "Filename: %s\r\n", useparm ? "Untitled.8bf" : "Untitled.8bf"); // TODO: get .txt filename and change .txt to .8bf
p += sprintf(p, "Category: %s\r\n", gdata->parm.szCategory);
p += sprintf(p, "Title: %s\r\n", gdata->parm.szTitle);
p += sprintf(p, "Copyright: %s\r\n", gdata->parm.szCopyright);
p += sprintf(p, "Author: %s\r\n", gdata->parm.szAuthor);
p += sprintf(p, "Filename: %s\r\n", "Untitled.8bf"); // TODO: get .txt filename and change .txt to .8bf
p += sprintf(p, "\r\n");
p += sprintf(p, "R: %s\r\n", useparm ? gdata->parm.szFormula[0] : expr[0]);
p += sprintf(p, "R: %s\r\n", gdata->parm.szFormula[0]);
p += sprintf(p, "\r\n");
p += sprintf(p, "G: %s\r\n", useparm ? gdata->parm.szFormula[1] : expr[1]);
p += sprintf(p, "G: %s\r\n", gdata->parm.szFormula[1]);
p += sprintf(p, "\r\n");
p += sprintf(p, "B: %s\r\n", useparm ? gdata->parm.szFormula[2] : expr[2]);
p += sprintf(p, "B: %s\r\n", gdata->parm.szFormula[2]);
p += sprintf(p, "\r\n");
p += sprintf(p, "A: %s\r\n", useparm ? gdata->parm.szFormula[3] : expr[3]);
p += sprintf(p, "A: %s\r\n", gdata->parm.szFormula[3]);
p += sprintf(p, "\r\n");
if (useparm) {
for (i = 0; i < 8; i++) {
if (gdata->parm.ctl_used[i]) {
p += sprintf(p, "ctl[%d]: %s\r\n", i, gdata->parm.szCtl[i]);
168,33 → 165,6
}
}
*/
}
else {
for (i = 0; i < 8; i++) {
if (ctls[i]) {
p += sprintf(p, "ctl[%d]: %s\r\n", i, "...");
}
}
for (i = 0; i < 4; i++) {
if (maps[i]) {
p += sprintf(p, "map[%d]: %s\r\n", i, "...");
}
}
p += sprintf(p, "\r\n");
for (i = 0; i < 8; i++) {
if (ctls[i]) {
p += sprintf(p, "val[%d]: %d\r\n", i, slider[i]);
}
}
/*
p += sprintf(p, "\r\n");
for (i = 0; i < 8; i++) {
if (ctls[i]) {
p += sprintf(p, "def[%d]: %s\r\n", i, "...");
}
}
*/
}
 
PIUNLOCKHANDLE(h);
e = PISETHANDLESIZE(h, (int32)(p - start)); // could ignore this error, maybe
203,9 → 173,7
return e;
}
 
OSErr saveparams_guf(Handle h, Boolean useparm) {
extern int ctls[], maps[];
 
OSErr saveparams_guf(Handle h) {
char* p, * start;
int i;
OSErr e;
213,7 → 181,7
 
if (!h) return nilHandleErr;
 
est = strlen(expr[0]) + strlen(expr[1]) + strlen(expr[2]) + strlen(expr[3]);
est = strlen(gdata->parm.szFormula[0]) + strlen(gdata->parm.szFormula[1]) + strlen(gdata->parm.szFormula[2]) + strlen(gdata->parm.szFormula[3]);
// do not be tempted to combine into one expression: 'est' is referenced below
est += 16000;
 
225,7 → 193,7
time_t iBuildDate = time(0);
strftime(strBuildDate, 11, "%Y-%m-%d", localtime(&iBuildDate));
 
checksliders(4, ctls, maps);
checksliders(4);
 
// Metadata
p += sprintf(p, "# Created with Filter Foundry %s\r\n", VERSION_STR);
234,10 → 202,10
p += sprintf(p, "Protocol=1\r\n");
p += sprintf(p, "\r\n");
p += sprintf(p, "[Info]\r\n");
p += sprintf(p, "Category=<Image>/Filter Factory/%s\r\n", useparm ? gdata->parm.szCategory : "...");
p += sprintf(p, "Title=%s\r\n", useparm ? gdata->parm.szTitle : "...");
p += sprintf(p, "Copyright=%s\r\n", useparm ? gdata->parm.szCopyright : "...");
p += sprintf(p, "Author=%s\r\n", useparm ? gdata->parm.szAuthor : "...");
p += sprintf(p, "Category=<Image>/Filter Factory/%s\r\n", gdata->parm.szCategory);
p += sprintf(p, "Title=%s\r\n", gdata->parm.szTitle);
p += sprintf(p, "Copyright=%s\r\n", gdata->parm.szCopyright);
p += sprintf(p, "Author=%s\r\n", gdata->parm.szAuthor);
p += sprintf(p, "\r\n");
p += sprintf(p, "[Version]\r\n");
p += sprintf(p, "Major=1\r\n");
245,16 → 213,15
p += sprintf(p, "Micro=0\r\n");
p += sprintf(p, "\r\n");
p += sprintf(p, "[Filter Factory]\r\n");
p += sprintf(p, "8bf=%s\r\n", useparm ? "Untitled.8bf" : "Untitled.8bf"); // TODO: get .guf filename and change .guf to .8bf
p += sprintf(p, "8bf=%s\r\n", "Untitled.8bf"); // TODO: get .guf filename and change .guf to .8bf
p += sprintf(p, "\r\n");
p += sprintf(p, "[Gimp]\r\n");
p += sprintf(p, "Registered=false\r\n");
p += sprintf(p, "Description=%s\r\n", useparm ? gdata->parm.szTitle : "...");
p += sprintf(p, "Description=%s\r\n", gdata->parm.szTitle);
p += sprintf(p, "EdgeMode=2\r\n");
p += sprintf(p, "Date=%s\r\n", strBuildDate);
p += sprintf(p, "\r\n");
 
if (useparm) {
for (i = 0; i < 8; i++) {
p += sprintf(p, "[Control %d]\r\n", i);
p += sprintf(p, "Enabled=%s\r\n", gdata->parm.ctl_used[i] ? "true" : "false");
269,29 → 236,12
p += sprintf(p, "Label=%s\r\n", gdata->parm.szMap[i]);
p += sprintf(p, "\r\n");
}
}
else {
for (i = 0; i < 8; i++) {
p += sprintf(p, "[Control %d]\r\n", i);
p += sprintf(p, "Enabled=%s\r\n", ctls[i] ? "true" : "false");
p += sprintf(p, "Label=%s\r\n", "...");
p += sprintf(p, "Preset=%d\r\n", slider[i]);
p += sprintf(p, "Step=1\r\n");
p += sprintf(p, "\r\n");
}
for (i = 0; i < 4; i++) {
p += sprintf(p, "[Map %d]\r\n", i);
p += sprintf(p, "Enabled=%s\r\n", maps[i] ? "true" : "false");
p += sprintf(p, "Label=%s\r\n", "...");
p += sprintf(p, "\r\n");
}
}
p += sprintf(p, "[Code]\r\n");
p += sprintf(p, "R=%s\r\n", useparm ? gdata->parm.szFormula[0] : expr[0]);
p += sprintf(p, "G=%s\r\n", useparm ? gdata->parm.szFormula[1] : expr[1]);
p += sprintf(p, "B=%s\r\n", useparm ? gdata->parm.szFormula[2] : expr[2]);
p += sprintf(p, "A=%s\r\n", useparm ? gdata->parm.szFormula[3] : expr[3]);
p += sprintf(p, "R=%s\r\n", gdata->parm.szFormula[0]);
p += sprintf(p, "G=%s\r\n", gdata->parm.szFormula[1]);
p += sprintf(p, "B=%s\r\n", gdata->parm.szFormula[2]);
p += sprintf(p, "A=%s\r\n", gdata->parm.szFormula[3]);
 
PIUNLOCKHANDLE(h);
e = PISETHANDLESIZE(h, (int32)(p - start)); // could ignore this error, maybe
326,7 → 276,7
if (fileHasExtension(sfr, TEXT(".txt"))) {
// PluginCommander .txt
if ((h = PINEWHANDLE(1))) { // don't set initial size to 0, since some hosts (e.g. GIMP/PSPI) are incompatible with that.
res = !(saveparams_picotxt(h, false) || savehandleintofile(h, r));
res = !(saveparams_picotxt(h) || savehandleintofile(h, r));
PIDISPOSEHANDLE(h);
}
}
334,7 → 284,7
if (fileHasExtension(sfr, TEXT(".guf"))) {
// GIMP UserFilter file
if ((h = PINEWHANDLE(1))) { // don't set initial size to 0, since some hosts (e.g. GIMP/PSPI) are incompatible with that.
res = !(saveparams_guf(h, false) || savehandleintofile(h, r));
res = !(saveparams_guf(h) || savehandleintofile(h, r));
PIDISPOSEHANDLE(h);
}
}
343,10 → 293,10
if (fileHasExtension(sfr, TEXT(".pff"))) {
// If it is a Premiere settings file, we need to swap the channels red and blue
// We just swap the pointers!
char* tmp;
tmp = expr[0];
expr[0] = expr[2];
expr[2] = tmp;
char tmp[MAXEXPR];
strcpy(tmp, gdata->parm.szFormula[0]);
strcpy(gdata->parm.szFormula[0], gdata->parm.szFormula[2]);
strcpy(gdata->parm.szFormula[2], tmp);
}
 
if ((h = PINEWHANDLE(1))) { // don't set initial size to 0, since some hosts (e.g. GIMP/PSPI) are incompatible with that.
356,10 → 306,10
 
if (fileHasExtension(sfr, TEXT(".pff"))) {
// Swap back so that the other program stuff will work normally again
char* tmp;
tmp = expr[0];
expr[0] = expr[2];
expr[2] = tmp;
char tmp[MAXEXPR];
strcpy(tmp, gdata->parm.szFormula[0]);
strcpy(gdata->parm.szFormula[0], gdata->parm.szFormula[2]);
strcpy(gdata->parm.szFormula[2], tmp);
}
}