Subversion Repositories filter_foundry

Rev

Rev 62 | Rev 145 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

  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.  
  20. #ifdef Rez
  21.  
  22. type 'PARM' {
  23.         longint = PARM_SIZE; // cbSize;    //size of this structure
  24.         longint FilterFactory,standaloneFilter; // nVersion;  //0=original FF, 1=standalone filter
  25.         array[8] { longint; }; // val[8];    //initial values of controls
  26.         longint noParameters,parametersDialog; // popDialog; //true if need to pop a parameter dialog
  27.         longint; // unknown1;
  28.         longint; // unknown2;
  29.         longint; // unknown3;
  30.         array[4] { longint; }; // map_used[4];   //true if map(n) is used
  31.         array[8] { longint; }; // ctl_used[8];   //true if ctl(n) is used
  32.         pstring[251];    //Category name
  33.         // Michael Johannhanwahr's protect flag...
  34.         longint notProtected,isProtected; // iProtected;            // == 1 means protected
  35.         pstring[255];       //Filter title
  36.         pstring[255];   //Copyright info
  37.         pstring[255];      //Filter author(s)
  38.         array[4] { pstring[255]; };      //4 map labels
  39.         array[8] { pstring[255]; };      //8 control labels
  40.         array[4] { cstring[1024]; }; //4 channel formulas
  41. };
  42.  
  43. #else
  44.  
  45. /* N.B. under Windows, the strings are all C strings (!) */
  46.  
  47. typedef struct {   //structure of FF PARM resource
  48.         long cbSize;    //size of this structure
  49.         long nVersion;  //0=original FF, 1=standalone filter
  50.         long val[8];    //initial values of controls
  51.         long popDialog; //true if need to pop a parameter dialog
  52.         long unknown1;
  53.         long unknown2;
  54.         long unknown3;
  55.         long map_used[4];   //true if map(n) is used
  56.         long ctl_used[8];   //true if ctl(n) is used
  57.         unsigned char category[252];    //Category name
  58.         // Michael Johannhanwahr's protect flag...
  59.         long iProtected;            // == 1 means protected
  60.         unsigned char title[256];       //Filter title
  61.         unsigned char copyright[256];   //Copyright info
  62.         unsigned char author[256];      //Filter author(s)
  63.         unsigned char map[4][256];      //4 map labels
  64.         unsigned char ctl[8][256];      //8 control labels
  65.         char formula[4][1024]; //4 channel formulas
  66. } PARM_T;
  67.  
  68. #endif
  69.