⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wa_ipc.h

📁 dsp上用c语言实现的aac音频算法的编解码器代码
💻 H
📖 第 1 页 / 共 3 页
字号:
  char *error;} burnCDStruct;#define IPC_BURN_CD 511/* (requires Winamp 5.0+)*/typedef struct{  convertFileStruct *cfs;  int priority;} convertSetPriority;#define IPC_CONVERT_SET_PRIORITY 512typedef struct{  char *filename;  char *title; // 2048 bytes  int length;  int force_useformatting; // can set this to 1 if you want to force a url to use title formatting shit} waHookTitleStruct;// return TRUE if you hook this#define IPC_HOOK_TITLES 850#define IPC_GETSADATAFUNC 800 // 0: returns a char *export_sa_get() that returns 150 bytes of data// 1: returns a export_sa_setreq(int want);#define IPC_ISMAINWNDVISIBLE 900#define IPC_SETPLEDITCOLORS 920typedef struct{  int numElems;  int *elems;  HBITMAP bm; // set if you want to override} waSetPlColorsStruct;// the following IPC use waSpawnMenuParms as parameter#define IPC_SPAWNEQPRESETMENU 933#define IPC_SPAWNFILEMENU 934 //menubar#define IPC_SPAWNOPTIONSMENU 935 //menubar#define IPC_SPAWNWINDOWSMENU 936 //menubar#define IPC_SPAWNHELPMENU 937 //menubar#define IPC_SPAWNPLAYMENU 938 //menubar#define IPC_SPAWNPEFILEMENU 939 //menubar#define IPC_SPAWNPEPLAYLISTMENU 940 //menubar#define IPC_SPAWNPESORTMENU 941 //menubar#define IPC_SPAWNPEHELPMENU 942 //menubar#define IPC_SPAWNMLFILEMENU 943 //menubar#define IPC_SPAWNMLVIEWMENU 944 //menubar#define IPC_SPAWNMLHELPMENU 945 //menubar#define IPC_SPAWNPELISTOFPLAYLISTS 946typedef struct{  HWND wnd;  int xpos; // in screen coordinates  int ypos;} waSpawnMenuParms;// waSpawnMenuParms2 is used by the menubar submenustypedef struct{  HWND wnd;  int xpos; // in screen coordinates  int ypos;  int width;  int height;} waSpawnMenuParms2;// system tray sends this (you might want to simulate it)#define WM_WA_SYSTRAY WM_USER+1// input plugins send this when they are done playing back#define WM_WA_MPEG_EOF WM_USER+2//// video stuff#define IPC_IS_PLAYING_VIDEO 501 // returns >1 if playing, 0 if not, 1 if old version (so who knows):)#define IPC_GET_IVIDEOOUTPUT 500 // see below for IVideoOutput interface#define VIDEO_MAKETYPE(A,B,C,D) ((A) | ((B)<<8) | ((C)<<16) | ((D)<<24))#define VIDUSER_SET_INFOSTRING 0x1000#define VIDUSER_GET_VIDEOHWND  0x1001#define VIDUSER_SET_VFLIP      0x1002#ifndef NO_IVIDEO_DECLARE#ifdef __cplusplusclass VideoOutput;class SubsItem;typedef	struct {	unsigned char*	baseAddr;	long			rowBytes;} YV12_PLANE;typedef	struct {	YV12_PLANE	y;	YV12_PLANE	u;	YV12_PLANE	v;} YV12_PLANES;class IVideoOutput{  public:    virtual ~IVideoOutput() { }    virtual int open(int w, int h, int vflip, double aspectratio, unsigned int fmt)=0;    virtual void setcallback(LRESULT (*msgcallback)(void *token, HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam), void *token) { }    virtual void close()=0;    virtual void draw(void *frame)=0;    virtual void drawSubtitle(SubsItem *item) { }    virtual void showStatusMsg(const char *text) { }    virtual int get_latency() { return 0; }    virtual void notifyBufferState(int bufferstate) { } /* 0-255*/    virtual int extended(int param1, int param2, int param3) { return 0; } // Dispatchable, eat this!};#endif //cplusplus#endif//NO_IVIDEO_DECLARE// these messages are callbacks that you can grab by subclassing the winamp window// wParam = #define IPC_CB_WND_EQ 0 // use one of these for the param#define IPC_CB_WND_PE 1#define IPC_CB_WND_MB 2#define IPC_CB_WND_VIDEO 3#define IPC_CB_WND_MAIN 4#define IPC_CB_ONSHOWWND 600 #define IPC_CB_ONHIDEWND 601 #define IPC_CB_GETTOOLTIP 602#define IPC_CB_MISC 603    #define IPC_CB_MISC_TITLE 0    #define IPC_CB_MISC_VOLUME 1 // volume/pan    #define IPC_CB_MISC_STATUS 2    #define IPC_CB_MISC_EQ 3    #define IPC_CB_MISC_INFO 4    #define IPC_CB_MISC_VIDEOINFO 5#define IPC_CB_CONVERT_STATUS 604 // param value goes from 0 to 100 (percent)#define IPC_CB_CONVERT_DONE   605#define IPC_ADJUST_FFWINDOWSMENUPOS 606/* (requires Winamp 2.9+)** int newpos=SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)adjust_offset,IPC_ADJUST_FFWINDOWSMENUPOS);** moves where winamp expects the freeform windows in the menubar windows main menu. Useful if you wish to insert a** menu item above extra freeform windows.*/#define IPC_ISDOUBLESIZE 608#define IPC_ADJUST_FFOPTIONSMENUPOS 609/* (requires Winamp 2.9+)** int newpos=SendMessage(hwnd_winamp,WM_WA_IPC,(WPARAM)adjust_offset,IPC_ADJUST_FFOPTIONSMENUPOS);** moves where winamp expects the freeform preferences item in the menubar windows main menu. Useful if you wish to insert a** menu item above preferences item.*/#define IPC_GETTIMEDISPLAYMODE 610 // returns 0 if displaying elapsed time or 1 if displaying remaining time#define IPC_SETVISWND 611 // param is hwnd, setting this allows you to receive ID_VIS_NEXT/PREVOUS/RANDOM/FS wm_commands#define ID_VIS_NEXT                     40382#define ID_VIS_PREV                     40383#define ID_VIS_RANDOM                   40384#define ID_VIS_FS                       40389#define ID_VIS_CFG                      40390#define ID_VIS_MENU                     40391#define IPC_GETVISWND 612 // returns the vis cmd handler hwnd#define IPC_ISVISRUNNING 613#define IPC_CB_VISRANDOM 628 // param is status of random#define IPC_SETIDEALVIDEOSIZE 614 // sent by winamp to winamp, trap it if you need it. width=HIWORD(param), height=LOWORD(param)#define IPC_GETSTOPONVIDEOCLOSE 615#define IPC_SETSTOPONVIDEOCLOSE 616typedef struct {  HWND hwnd;  int uMsg;  int wParam;  int lParam;} transAccelStruct;#define IPC_TRANSLATEACCELERATOR 617typedef struct {  int cmd;  int x;  int y;  int align;} windowCommand; // send this as param to an IPC_PLCMD, IPC_MBCMD, IPC_VIDCMD#define IPC_CB_ONTOGGLEAOT 618 #define IPC_GETPREFSWND 619#define IPC_SET_PE_WIDTHHEIGHT 620 // data is a pointer to a POINT structure that holds width & height#define IPC_GETLANGUAGEPACKINSTANCE 621#define IPC_CB_PEINFOTEXT 622 // data is a string, ie: "04:21/45:02"#define IPC_CB_OUTPUTCHANGED 623 // output plugin was changed in config#define IPC_GETOUTPUTPLUGIN 625#define IPC_SETDRAWBORDERS 626#define IPC_DISABLESKINCURSORS 627#define IPC_CB_RESETFONT 629#define IPC_IS_FULLSCREEN 630 // returns 1 if video or vis is in fullscreen mode#define IPC_SET_VIS_FS_FLAG 631 // a vis should send this message with 1/as param to notify winamp that it has gone to or has come back from fullscreen mode#define IPC_SHOW_NOTIFICATION 632#define IPC_GETSKININFO 633// >>>>>>>>>>> Next is 634#define IPC_PLCMD  1000 #define PLCMD_ADD  0#define PLCMD_REM  1#define PLCMD_SEL  2#define PLCMD_MISC 3#define PLCMD_LIST 4#define IPC_MBCMD  1001 #define MBCMD_BACK    0#define MBCMD_FORWARD 1#define MBCMD_STOP    2#define MBCMD_RELOAD  3#define MBCMD_MISC  4#define IPC_VIDCMD 1002 #define VIDCMD_FULLSCREEN 0#define VIDCMD_1X         1#define VIDCMD_2X         2#define VIDCMD_LIB        3#define VIDPOPUP_MISC     4#define IPC_MBURL       1003 //sets the URL#define IPC_MBGETCURURL 1004 //copies the current URL into wParam (have a 4096 buffer ready)#define IPC_MBGETDESC   1005 //copies the current URL description into wParam (have a 4096 buffer ready)#define IPC_MBCHECKLOCFILE 1006 //checks that the link file is up to date (otherwise updates it). wParam=parent HWND#define IPC_MBREFRESH   1007 //refreshes the "now playing" view in the library#define IPC_MBGETDEFURL 1008 //copies the default URL into wParam (have a 4096 buffer ready)#define IPC_STATS_LIBRARY_ITEMCNT 1300 // updates library count status// IPC 2000-3000 reserved for freeform messages, see gen_ff/ff_ipc.h#define IPC_FF_FIRST 2000#define IPC_FF_LAST  3000#define IPC_GETDROPTARGET 3001#define IPC_PLAYLIST_MODIFIED 3002 // sent to main wnd whenever the playlist is modified#define IPC_PLAYING_FILE 3003 // sent to main wnd with the file as parm whenever a file is played#define IPC_FILE_TAG_MAY_HAVE_UPDATED 3004 // sent to main wnd with the file as parm whenever a file tag might be updated#define IPC_ALLOW_PLAYTRACKING 3007// send nonzero to allow, zero to disallow#define IPC_HOOK_OKTOQUIT 3010 // return 0 to abort a quit, nonzero if quit is OK#define IPC_WRITECONFIG 3011 // pass 2 to write all, 1 to write playlist + common, 0 to write common+less common// pass a string to be the name to register, and returns a value > 65536, which is a unique value you can use// for custom WM_WA_IPC messages. #define IPC_REGISTER_WINAMP_IPCMESSAGE 65536 /**************************************************************************//*** Finally there are some WM_COMMAND messages that you can use to send ** Winamp misc commands.** ** To send these, use:**** SendMessage(hwnd_winamp, WM_COMMAND,command_name,0);*/#define WINAMP_OPTIONS_EQ               40036 // toggles the EQ window#define WINAMP_OPTIONS_PLEDIT           40040 // toggles the playlist window#define WINAMP_VOLUMEUP                 40058 // turns the volume up a little#define WINAMP_VOLUMEDOWN               40059 // turns the volume down a little#define WINAMP_FFWD5S                   40060 // fast forwards 5 seconds#define WINAMP_REW5S                    40061 // rewinds 5 seconds// the following are the five main control buttons, with optionally shift // or control pressed// (for the exact functions of each, just try it out)#define WINAMP_BUTTON1                  40044#define WINAMP_BUTTON2                  40045#define WINAMP_BUTTON3                  40046#define WINAMP_BUTTON4                  40047#define WINAMP_BUTTON5                  40048#define WINAMP_BUTTON1_SHIFT            40144#define WINAMP_BUTTON2_SHIFT            40145#define WINAMP_BUTTON3_SHIFT            40146#define WINAMP_BUTTON4_SHIFT            40147#define WINAMP_BUTTON5_SHIFT            40148#define WINAMP_BUTTON1_CTRL             40154#define WINAMP_BUTTON2_CTRL             40155#define WINAMP_BUTTON3_CTRL             40156#define WINAMP_BUTTON4_CTRL             40157#define WINAMP_BUTTON5_CTRL             40158#define WINAMP_FILE_PLAY                40029 // pops up the load file(s) box#define WINAMP_FILE_DIR                 40187 // pops up the load directory box#define WINAMP_OPTIONS_PREFS            40012 // pops up the preferences#define WINAMP_OPTIONS_AOT              40019 // toggles always on top#define WINAMP_HELP_ABOUT               40041 // pops up the about box :)#define ID_MAIN_PLAY_AUDIOCD1           40323 // starts playing the audio CD in the first CD reader#define ID_MAIN_PLAY_AUDIOCD2           40323 // plays the 2nd#define ID_MAIN_PLAY_AUDIOCD3           40323 // plays the 3nd#define ID_MAIN_PLAY_AUDIOCD4           40323 // plays the 4nd// IDs 42000 to 45000 are reserved for gen_ff// IDs from 45000 to 57000 are reserved for library #endif//_WA_IPC_H_/*** EOF.. Enjoy.*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -