📄 filters.h
字号:
//////////////////////////////////////////////////////// GENERAL PURPOSE DEFS FOR CREATING CUSTOM FILTERS ////////////////////////////////////////////////////////typedef struct riffspecialdata_t{ HANDLE hSpecialData; HANDLE hData; // Actual data handle DWORD dwSize; // size of data in handle DWORD dwExtra; // optional extra data (usually a count) char szListType[8]; // Parent list type (usually "WAVE" or "INFO", or "adtl") char szType[8]; // Usually a four character code for data, but can be up to 7 chars} SPECIALDATA;// "CUE " dwExtra=number of cues, each cue is 8 bytes ([4] name [4] sample offset)// "LTXT" dwExtra=number of items, each one is 8 bytes ([4] ltxt len [4] name [4] cue length [4] purpose [n] data)// "NOTE" dwExtra=number of strings, each one is n bytes ([4] name [n-4] length zero term)// "LABL" dwExtra=number of strings, each one is n bytes ([4] name [n-4] length zero term)// "PLST" dwExtra=number if items, each one is 16 bytes ([4] name [4] dwLen [4] dwLoops [4] dwMode)// For special data, .FLT must implement FilterGetFirstSpecialData and FilterGetNextSpecialDatatypedef DWORD FOURCC; // a four character codestruct cue_type { DWORD dwName; DWORD dwPosition; FOURCC fccChunk; DWORD dwChunkStart; DWORD dwBlockStart; DWORD dwSampleOffset; };struct play_type {DWORD dwName; DWORD dwLength; DWORD dwLoops; };typedef struct coolquery_tag {char szName[24]; char szCopyright[80]; // rate table, bits are set for modes that can be handled WORD Quad32; // Quads are 3-D encoded WORD Quad16; WORD Quad8; WORD Stereo8; // rates are from lowest bit: WORD Stereo12; // bit 0 set: 5500 (5512.5) WORD Stereo16; // bit 1 set: 11025 (11K) WORD Stereo24; // bit 2 set: 22050 (22K) WORD Stereo32; // bit 3 set: 32075 (32K, or 32000) WORD Mono8; // bit 4 set: 44100 (44K) WORD Mono12; // bit 5 set: 48000 (48K) WORD Mono16; // bit 6 set: 88200 (88K) (future ultra-sonic rates?) WORD Mono24; // bit 7 set: 96000 (96K) WORD Mono32; // bit 8 set: 132300 (132K) // bit 9 set: 176400 (176K) DWORD dwFlags; char szExt[4]; long lChunkSize; char szExt2[4]; char szExt3[4]; char szExt4[4]; } COOLQUERY;#define R_5500 1#define R_11025 2#define R_22050 4#define R_32075 8#define R_44100 16#define R_48000 32#define R_88200 64#define R_96000 128#define R_132300 256#define R_176400 512#define C_VALIDLIBRARY 1154#define QF_RATEADJUSTABLE 0x001 // if can handle non-standard sample rates // if not, only rates in bit rate table understood#define QF_CANSAVE 0x002 #define QF_CANLOAD 0x004#define QF_UNDERSTANDSALL 0x008 // will read ANYTHING, so it is the last resort if no other // formats match#define QF_READSPECIALFIRST 0x010 // read special info before trying to read data#define QF_READSPECIALLAST 0x020 // read special info after reading data#define QF_WRITESPECIALFIRST 0x040 // when writing a file, special info is sent to DLL before data#define QF_WRITESPECIALLAST 0x080 // when writing, special info is sent to DLL after data#define QF_HASOPTIONSBOX 0x100 // set if options box implemented#define QF_NOASKFORCONVERT 0x200 // set to bypass asking for conversion if original in different rate, auto convert#define QF_NOHEADER 0x400 // set if this is a raw data format with no header#define QF_CANDO32BITFLOATS 0x800 // set if file format can handle 32-bit sample data for input#define QF_CANOPENVIRTUAL 0x1000 // Set if data is in Intel 8-bit or 16-bit sample format, or floats // and the GetDataOffset() function is implemented// special types are read from and written to DLL in the order below/*// special types (particular to Windows waveforms)#define SP_IART 20#define SP_ICMT 21#define SP_ICOP 22#define SP_ICRD 23#define SP_IENG 24#define SP_IGNR 25#define SP_IKEY 26#define SP_IMED 27#define SP_INAM 28#define SP_ISFT 29#define SP_ISRC 30#define SP_ITCH 31#define SP_ISBJ 32#define SP_ISRF 33#define SP_DISP 34#define SP_CUE 40 // returns number of cues of size cue_type #define SP_LTXT 41 // returns number of adtl texts of size 8 (4,id and 4,len)#define SP_NOTE 42 // returns LO=size, HI=number of strings (sz sz sz...)#define SP_LABL 43 // returns LO=size, HI=number of strings (sz sz sz...)#define SP_PLST 44 // returns number of playlist entries size play_type */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -