Subversion Repositories filter_foundry

Rev

Rev 62 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 toby 1
/*
2
http://visca.com/ffactory/archives/7-99/msg00011.html
3
 
4
Hi Dave,
5
 
6
Here's my reverse-engineered version of the Filter Factory PARM
7
resource block.  Is this what you need?  It seems to be good for
8
most known (PC) versions of FF.  You can use the Win32 FindResource
9
API to locate the PARM resource.  E-mail me privately if you need
10
more details.
11
 
12
Cheers,
13
-Alex Hunter
14
alex@afh.com
15
FilterMeister Developer
16
*/
17
 
18
#define PARM_SIZE 8296
19
#define PARM_SIG 7272 // don't know WHERE this value comes from...but it's in valid FF resources
20
 
21
#ifdef Rez
22
 
23
type 'PARM' {
24
        longint = PARM_SIG; // cbSize;    //size of this structure
25
        longint FilterFactory,standaloneFilter; // nVersion;  //0=original FF, 1=standalone filter
26
        array[8] { longint; }; // val[8];    //initial values of controls
27
        longint noParameters,parametersDialog; // popDialog; //true if need to pop a parameter dialog
28
        longint; // unknown1;
29
        longint; // unknown2;
30
        longint; // unknown3;
31
        array[4] { longint; }; // map_used[4];   //true if map(n) is used
32
        array[8] { longint; }; // ctl_used[8];   //true if ctl(n) is used
33
        pstring[251];    //Category name
34
        // Michael Johannhanwahr's protect flag...
35
        longint notProtected,isProtected; // iProtected;            // == 1 means protected
36
        pstring[255];       //Filter title
37
        pstring[255];   //Copyright info
38
        pstring[255];      //Filter author(s)
39
        array[4] { pstring[255]; };      //4 map labels
40
        array[8] { pstring[255]; };      //8 control labels
41
        array[4] { cstring[1024]; }; //4 channel formulas
42
};
43
 
44
#else
45
 
46
/* N.B. under Windows, the strings are all C strings (!) */
47
 
48
typedef struct {   //structure of FF PARM resource
49
     long cbSize;    //size of this structure
50
     long nVersion;  //0=original FF, 1=standalone filter
51
     long val[8];    //initial values of controls
52
     long popDialog; //true if need to pop a parameter dialog
53
     long unknown1;
54
     long unknown2;
55
     long unknown3;
56
     long map_used[4];   //true if map(n) is used
57
     long ctl_used[8];   //true if ctl(n) is used
58
     unsigned char category[252];    //Category name
59
     // Michael Johannhanwahr's protect flag...
60
     long iProtected;            // == 1 means protected
61
     unsigned char title[256];       //Filter title
62
     unsigned char copyright[256];   //Copyright info
63
     unsigned char author[256];      //Filter author(s)
64
     unsigned char map[4][256];      //4 map labels
65
     unsigned char ctl[8][256];      //8 control labels
66
     char formula[4][1024]; //4 channel formulas
67
 } PARM_T;
68
 
69
#endif