CP_WinAmpStructs.h
上传用户:tuheem
上传日期:2007-05-01
资源大小:21889k
文件大小:2k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. #define IN_VER 0x100
  2. #define OUT_VER 0x10
  3. //
  4. typedef struct _CP_PlugInModule
  5. {
  6.     char* m_pcModuleName;
  7.     void* m_pNext;
  8. } CP_PlugInModule;
  9. //
  10. typedef struct
  11. {
  12.     int version;
  13.     char *description;
  14.     int id;
  15.     HWND hMainWindow;
  16.     HINSTANCE hDllInstance;
  17.     void (*Config)(HWND hwndParent); 
  18.     void (*About)(HWND hwndParent);  
  19.     void (*Init)();
  20.     void (*Quit)();
  21.     int (*Open)(int samplerate, int numchannels, int bitspersamp, int bufferlenms, int prebufferms);
  22.     
  23.     void (*Close)();
  24.     int (*Write)(char *buf, int len);
  25.    
  26.     int (*CanWrite)();
  27.     int (*IsPlaying)(); 
  28.     int (*Pause)(int pause); 
  29.     void (*SetVolume)(int volume); 
  30.     void (*SetPan)(int pan); 
  31.     void (*Flush)(int t);
  32.     int (*GetOutputTime)(); 
  33.     int (*GetWrittenTime)(); 
  34. } Out_Module;
  35. //
  36. typedef struct
  37. {
  38.     int version;
  39.     char *description;
  40.     HWND hMainWindow;
  41.     HINSTANCE hDllInstance;
  42.     char *FileExtensions;
  43.     int is_seekable;
  44.     int UsesOutputPlug;
  45.     void (*Config)(HWND hwndParent); 
  46.     void (*About)(HWND hwndParent);  
  47.     void (*Init)();
  48.     void (*Quit)();
  49.     void (*GetFileInfo)(const char *file, char *title, int *length_in_ms); 
  50.     int (*InfoBox)(const char *file, HWND hwndParent);
  51.     int (*IsOurFile)(const char *fn);
  52.     int (*Play)(const char *fn);
  53.     void (*Pause)();
  54.     void (*UnPause)();
  55.     int (*IsPaused)();
  56.     void (*Stop)();
  57.     int (*GetLength)();
  58.     int (*GetOutputTime)();
  59.     void (*SetOutputTime)(int time_in_ms);
  60.     void (*SetVolume)(int volume);
  61.     void (*SetPan)(int pan);
  62.     void (*SAVSAInit)(int maxlatency_in_ms, int srate);
  63.     void (*SAVSADeInit)();
  64.     void (*SAAddPCMData)(void *PCMData, int nch, int bps, int timestamp);
  65.     int (*SAGetMode)();
  66.     void (*SAAdd)(void *data, int timestamp, int csa); 
  67.     
  68.     void (*VSAAddPCMData)(void *PCMData, int nch, int bps, int timestamp); /
  69.     int (*VSAGetMode)(int *specNch, int *waveNch); 
  70. void (*VSAAdd)(void *data, int timestamp); 
  71.     void (*VSASetInfo)(int nch, int srate);
  72.     
  73.     int (*dsp_isactive)();
  74.     
  75.     int (*dsp_dosamples)(short int *samples, int numsamples, int bps, int nch, int srate);
  76.     void (*EQSet)(int on, char data[10], int preamp); 
  77.     void (*SetInfo)(int bitrate, int srate, int stereo, int synched); 
  78.     Out_Module *outMod; 
  79. } In_Module;
  80. //