From faf1e494a31b70203aa67d34602f5256eabe0336 Mon Sep 17 00:00:00 2001 From: Kirill Volinsky Date: Tue, 9 Oct 2012 05:20:49 +0000 Subject: Test commit: delphi headers structure as c headers structure git-svn-id: http://svn.miranda-ng.org/main/trunk@1829 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Watrack/docs/m_music.h | 386 ------------------------------------- plugins/Watrack/docs/m_music.inc | 404 --------------------------------------- 2 files changed, 790 deletions(-) delete mode 100644 plugins/Watrack/docs/m_music.h delete mode 100644 plugins/Watrack/docs/m_music.inc (limited to 'plugins/Watrack/docs') diff --git a/plugins/Watrack/docs/m_music.h b/plugins/Watrack/docs/m_music.h deleted file mode 100644 index 0246fabe34..0000000000 --- a/plugins/Watrack/docs/m_music.h +++ /dev/null @@ -1,386 +0,0 @@ -#ifndef M_MUSIC -#define M_MUSIC - -#define MIID_WATRACK {0xfc6c81f4, 0x837e, 0x4430, {0x96, 0x01, 0xa0, 0xaa, 0x43, 0x17, 0x7a, 0xe3}} - -typedef struct tSongInfoA { - CHAR* artist; - CHAR* title; - CHAR* album; - CHAR* genre; - CHAR* comment; - CHAR* year; - CHAR* mfile; // media file - DWORD kbps; - DWORD khz; - DWORD channels; - DWORD track; - DWORD total; // music length - DWORD time; // elapsed time - CHAR* wndtext; // window title - CHAR* player; // player name - DWORD plyver; // player version - HANDLE icon; // player icon - DWORD fsize; // media file size - DWORD vbr; - int status; // WAT_MES_* const - HWND plwnd; // player window - // video part - DWORD codec; - DWORD width; - DWORD height; - DWORD fps; - __int64 date; - CHAR* txtver; - CHAR* lyric; - CHAR* cover; - DWORD volume; - CHAR* url; // player homepage -} SONGINFOA, *LPSONGINFOA; - -typedef struct tSongInfo { - WCHAR* artist; - WCHAR* title; - WCHAR* album; - WCHAR* genre; - WCHAR* comment; - WCHAR* year; - WCHAR* mfile; // media file - DWORD kbps; - DWORD khz; - DWORD channels; - DWORD track; - DWORD total; // music length - DWORD time; // elapsed time - WCHAR* wndtext; // window title - WCHAR* player; // player name - DWORD* plyver; // player version - HANDLE icon; // player icon - DWORD fsize; // media file size - DWORD vbr; - int status; // WAT_MES_* const - HWND plwnd; // player window - // video part - DWORD codec; - DWORD width; - DWORD height; - DWORD fps; - __int64 date; - WCHAR* txtver; - WCHAR* lyric; - WCHAR* cover; // cover path - DWORD volume; - WCHAR* url; // player homepage -} SONGINFO, *LPSONGINFO; - -#if defined(_UNICODE) - #define WAT_INF_TCHAR WAT_INF_UNICODE - #define SongInfoT tSongInfo -#else - #define WAT_INF_TCHAR WAT_INF_ANSI - #define SongInfoT tSongInfoA -#endif - - // result codes -#define WAT_RES_UNKNOWN -2 -#define WAT_RES_NOTFOUND -1 -#define WAT_RES_ERROR WAT_RES_NOTFOUND -#define WAT_RES_OK 0 -#define WAT_RES_ENABLED WAT_RES_OK -#define WAT_RES_DISABLED 1 - // internal -#define WAT_RES_NEWFILE 3 -#define WAT_RES_NEWPLAYER 4 - -// result for MS_WAT_GETMUSICINFO service -#define WAT_PLS_NORMAL WAT_RES_OK -#define WAT_PLS_NOMUSIC WAT_RES_DISABLED -#define WAT_PLS_NOTFOUND WAT_RES_NOTFOUND - -#define WAT_INF_UNICODE 0 -#define WAT_INF_ANSI 1 -#define WAT_INF_UTF8 2 -#define WAT_INF_CHANGES 0x100 - -/* - wParam : WAT_INF_* constant - lParam : pointer to LPSONGINGO (Unicode) or LPSONGINFOA (ANSI/UTF8) - Affects: Fill structure by currently played music info - returns: WAT_PLS_* constant - note: pointer will be point to global SONGINFO structure of plugin - warning: Non-Unicode data filled only by request - if lParam=0 only internal SongInfo structure will be filled - Example: - LPSONGINFO p; - PluginLink->CallService(MS_WAT_GETMUSICINFO,0,(DWORD)&p); -*/ -#define MS_WAT_GETMUSICINFO "WATrack/GetMusicInfo" - -/* - wParam:0 - lParam : pointer to pSongInfo (Unicode) - Affects: Fill structure by info from file named in SongInfo.mfile - returns: 0, if success - note: fields, which values can't be obtained, leaves old values. - you must free given strings by miranda mmi.free -*/ -#define MS_WAT_GETFILEINFO "WATrack/GetFileInfo" - -/* - wParam: encoding (WAT_INF_* consts, 0 = WAT_INF_UNICODE) - lParam: codepage (0 = ANSI) - Returns Global unicode SongInfo pointer or tranlated to Ansi/UTF8 structure -*/ -#define MS_WAT_RETURNGLOBAL "WATrack/GetMainStructure" - -//!! DON'T CHANGE THESE VALUES! -#define WAT_CTRL_FIRST 1 - -#define WAT_CTRL_PREV 1 -#define WAT_CTRL_PLAY 2 -#define WAT_CTRL_PAUSE 3 -#define WAT_CTRL_STOP 4 -#define WAT_CTRL_NEXT 5 -#define WAT_CTRL_VOLDN 6 -#define WAT_CTRL_VOLUP 7 -#define WAT_CTRL_SEEK 8 // lParam is new position (sec) - -#define WAT_CTRL_LAST 8 - -/* - wParam: button code (WAT_CTRL_* const) - lParam: 0, or value (see WAT_CTRL_* const comments) - Affects: emulate player button pressing - returns: 0 if unsuccesful -*/ -#define MS_WAT_PRESSBUTTON "WATrack/PressButton" - -/* - Get user's Music Info -*/ -#define MS_WAT_GETCONTACTINFO "WATrack/GetContactInfo" - -// ------------ Plugin/player status ------------ - -/* - wParam: 1 - switch off plugin - 0 - switch on plugin - -1 - switch plugin status - 2 - get plugin version - other - get plugin status - lParam: 0 - Affects: Switch plugin status to enabled or disabled - returns: old plugin status, 0, if was enabled -*/ -#define MS_WAT_PLUGINSTATUS "WATrack/PluginStatus" - -// ---------- events ------------ - -/*ME_WAT_MODULELOADED - wParam: 0, lParam: 0 -*/ -#define ME_WAT_MODULELOADED "WATrack/ModuleLoaded" - -#define WAT_EVENT_PLAYERSTATUS 1 //lParam: WAT_PLS_* const -#define WAT_EVENT_NEWTRACK 2 //lParam: LPSONGINFO -#define WAT_EVENT_PLUGINSTATUS 3 //lParam: 0-enabled; 1-dis.temporary; 2-dis.permanent -#define WAT_EVENT_NEWPLAYER 4 // -#define WAT_EVENT_NEWTEMPLATE 5 //lParam: TM_* constant - -/*ME_WAT_NEWSTATUS - Plugin or player status changed: - wParam: type of event (see above) - lParam: value -*/ -#define ME_WAT_NEWSTATUS "WATrack/NewStatus" - -// ---------- Popup module ------------ - -/* - wParam: not used - lParam: not used - Affects: Show popup or Info window with current music information - note: Only Info window will be showed if Popup plugin disabled -*/ -#define MS_WAT_SHOWMUSICINFO "WATrack/ShowMusicInfo" - -// --------- Statistic (report) module ------------- - -/* - wParam: pointer to log file name or NULL - lParam: pointer to report file name or NULL - Affects: Create report from log and run it (if option is set) - returns: 0 if unsuccesful - note: if wParam or lParam is a NULL then file names from options are used -*/ -#define MS_WAT_MAKEREPORT "WATrack/MakeReport" - -/* - wParam, lParam - not used - Affects: pack statistic file -*/ -#define MS_WAT_PACKLOG = "WATrack/PackLog" - -/* - wParam: not used - lParam: pointer to SongInfo -*/ -#define MS_WAT_ADDTOLOG = "WATrack/AddToLog" - -// ----------- Formats and players ----------- - -// media file status - -#define WAT_MES_STOPPED 0 -#define WAT_MES_PLAYING 1 -#define WAT_MES_PAUSED 2 -#define WAT_MES_UNKNOWN -1 - -#define WAT_ACT_REGISTER 1 -#define WAT_ACT_UNREGISTER 2 -#define WAT_ACT_DISABLE 3 -#define WAT_ACT_ENABLE 4 -#define WAT_ACT_GETSTATUS 5 // not found/enabled/disabled -#define WAT_ACT_SETACTIVE 6 -#define WAT_ACT_REPLACE 0x10000 // can be combined with WAT_REGISTERFORMAT - - // flags -#define WAT_OPT_DISABLED 0x00001 // format registered but disabled -#define WAT_OPT_ONLYONE 0x00002 // format can't be overwriten -#define WAT_OPT_PLAYERINFO 0x00004 // song info from player -#define WAT_OPT_WINAMPAPI 0x00008 // Winamp API support -#define WAT_OPT_CHECKTIME 0x00010 // check file time for changes -#define WAT_OPT_VIDEO 0x00020 // only for format registering used -#define WAT_OPT_LAST 0x00040 // (internal) -#define WAT_OPT_FIRST 0x00080 // (internal) -#define WAT_OPT_TEMPLATE 0x00100 // (internal) -#define WAT_OPT_IMPLANTANT 0x00200 // use process implantation -#define WAT_OPT_HASURL 0x00400 // (player registration) URL field present -#define WAT_OPT_CHANGES 0x00800 // obtain only chaged values - // (volume, status, window text, elapsed time) -#define WAT_OPT_APPCOMMAND 0x01000 // Special (multimedia) key support -#define WAT_OPT_CHECKALL 0x02000 // Check all players -#define WAT_OPT_KEEPOLD 0x04000 // Keep Old opened file -#define WAT_OPT_MULTITHREAD 0x08000 // Use multithread scan -#define WAT_OPT_SINGLEINST 0x10000 // Single player instance -#define WAT_OPT_PLAYERDATA 0x20000 // (internal) to obtain player data - - -typedef BOOL (__cdecl *LPREADFORMATPROC)(LPSONGINFO Info); - -typedef struct tMusicFormat { - LPREADFORMATPROC proc; - CHAR ext[8]; - UINT flags; -} MUSICFORMAT, *LPMUSICFORMAT; - -/* - wParam: action - lParam: pointer to MUSICFORMAT if wParam = WAT_ACT_REGISTER, - else - pointer to extension string (ANSI) - returns: see result codes -*/ -#define MS_WAT_FORMAT "WATrack/Format" - -/* - wParam - pointer to SONGINFO structure (plwind field must be initialized) - lParam - flags - Affects: trying to fill SongInfo using Winamp API -*/ -#define MS_WAT_WINAMPINFO "WATrack/WinampInfo" - -/* - wParam: window - lParam: LoWord - command; HiWord - value -*/ -#define MS_WAT_WINAMPCOMMAND "WATrack/WinampCommand" - -typedef int (__cdecl *LPINITPROC) (); -typedef int (__cdecl *LPDEINITPROC) (); -typedef int (__cdecl *LPSTATUSPROC) (HWND wnd); -typedef WCHAR (__cdecl *LPNAMEPROC) (HWND wnd, int flags); -typedef HWND (__cdecl *LPCHECKPROC) (HWND wnd,int flags); -typedef int (__cdecl *LPINFOPROC) (LPSONGINFO Info, int flags); -typedef int (__cdecl *LPCOMMANDPROC)(HWND wnd, int command, int value); - -typedef struct tPlayerCell { - CHAR* Desc; // Short player name - UINT flags; - HICON Icon; // can be 0. for registration only - LPINITPROC Init; // LPINITPROC; can be NULL. initialize any data - LPDEINITPROC DeInit; // LPDEINITPROC; can be NULL. finalize player processing - LPCHECKPROC Check; // check player - LPSTATUSPROC GetStatus; // tStatusProc; can be NULL. get player status - LPNAMEPROC GetName; // can be NULL. get media filename - LPINFOPROC GetInfo; // can be NULL. get info from player - LPCOMMANDPROC Command; // can be NULL. send command to player - CHAR* URL; // only if WAT_OPT_HASURL flag present - WCHAR* Notes; // any tips, notes etc for this player -} PLAYERCELL, *LPPLAYERCELL; - -/* - wParam: action - lParam: pointer to PLAYERCELL if wParam = WAT_ACT_REGISTER, - else - pointer to player description string (ANSI) - returns: player window handle or value>0 if found - note: If you use GetName or GetInfo field, please, do not return empty - filename even when mediafile is remote! -*/ -#define MS_WAT_PLAYER "WATrack/Player" - -// --------- Last FM --------- - -/* - Toggle LastFM scrobbling status - wParam,lParam=0 - Returns: previous state -*/ -#define MS_WAT_LASTFM "WATrack/LastFM" - -/* - Get Info based on currently played song - wParam: pLastFMInfo - lParam: int language (first 2 bytes - 2-letters language code) -*/ -typedef struct tLastFMInfo { - UINT request; // 0 - artist, 1 - album, 2 - track - WCHAR* artist; // artist - WCHAR* album; // album or similar artists for Artist info request - WCHAR* title; // track title - WCHAR* tags; // tags - WCHAR* info; // artist bio or wiki article - WCHAR* image; // photo/cover link - WCHAR* similar; - WCHAR* release; - UINT trknum; -}PLASTFMINFO, *LPLASTFMINFO; - -#define MS_WAT_LASTFMINFO "WATrack/LastFMInfo" - -// --------- Templates ---------- - -/* - wParam: 0 (standard Info) or pSongInfo - lParam: Unicode template - returns: New Unicode (replaced) string -*/ -#define MS_WAT_REPLACETEXT "WATrack/ReplaceText" - -/* - event types for History - Blob structure for EVENTTYPE_WAT_ANSWER: - Uniciode artist#0title#0album#0answer -*/ -#define EVENTTYPE_WAT_REQUEST 9601 -#define EVENTTYPE_WAT_ANSWER 9602 -#define EVENTTYPE_WAT_ERROR 9603 -#define EVENTTYPE_WAT_MESSAGE 9604 - -/* - wParam: 0 or parent window - lParam: 0 - note: Shows Macro help window with edit aliases ability -*/ -#define MS_WAT_MACROHELP "WATrack/MacroHelp" - -#endif diff --git a/plugins/Watrack/docs/m_music.inc b/plugins/Watrack/docs/m_music.inc deleted file mode 100644 index 1850de52ba..0000000000 --- a/plugins/Watrack/docs/m_music.inc +++ /dev/null @@ -1,404 +0,0 @@ -{$IFNDEF M_MUSIC} -{$DEFINE M_MUSIC} - -// defined in interfaces.inc -//const MIID_WATRACK:MUUID='{FC6C81F4-837E-4430-9601-A0AA43177AE3}'; - -type - pSongInfoA = ^tSongInfoA; - tSongInfoA = packed record - artist :PAnsiChar; - title :PAnsiChar; - album :PAnsiChar; - genre :PAnsiChar; - comment :PAnsiChar; - year :PAnsiChar; - mfile :PAnsiChar; // media file - kbps :dword; - khz :dword; - channels :dword; - track :dword; - total :dword; // music length - time :dword; // elapsed time - wndtext :PAnsiChar; // window title - player :PAnsiChar; // player name - plyver :dword; // player version - icon :THANDLE; // player icon - fsize :dword; // media file size - vbr :dword; - status :integer; // WAT_MES_* const - plwnd :HWND; // player window - // video part - codec :dword; - width :dword; - height :dword; - fps :dword; - date :int64; - txtver :PAnsiChar; - lyric :PAnsiChar; - cover :PAnsiChar; - volume :dword; - url :PAnsiChar; // player homepage - winampwnd:HWND; - end; -type - pSongInfo=^tSongInfo; - tSongInfo = packed record - artist :pWideChar; - title :pWideChar; - album :pWideChar; - genre :pWideChar; - comment :pWideChar; - year :pWideChar; - mfile :pWideChar; // media file - kbps :dword; - khz :dword; - channels :dword; - track :dword; - total :dword; // music length - time :dword; // elapsed time - wndtext :pWideChar; // window title - player :pWideChar; // player name - plyver :dword; // player version - icon :THANDLE; // player icon - fsize :dword; // media file size - vbr :dword; - status :integer; // WAT_MES_* const - plwnd :HWND; // player window - // video part - codec :dword; - width :dword; - height :dword; - fps :dword; - date :int64; - txtver :pWideChar; - lyric :pWideChar; - cover :pWideChar; // cover path - volume :dword; - url :PWideChar; // player homepage - winampwnd:HWND; - end; - pSongInfoW = pSongInfo; - tSongInfoW = tSongInfo; - -const - // result codes - WAT_RES_UNKNOWN = -2; - WAT_RES_NOTFOUND = -1; - WAT_RES_ERROR = WAT_RES_NOTFOUND; - WAT_RES_OK = 0; - WAT_RES_ENABLED = WAT_RES_OK; - WAT_RES_DISABLED = 1; - // internal - WAT_RES_NEWFILE = 3; - WAT_RES_NEWPLAYER = 4; - -// result for MS_WAT_GETMUSICINFO service -const - WAT_PLS_NORMAL = WAT_RES_OK; - WAT_PLS_NOMUSIC = WAT_RES_DISABLED; - WAT_PLS_NOTFOUND = WAT_RES_NOTFOUND; - -const - WAT_INF_UNICODE = 0; - WAT_INF_ANSI = 1; - WAT_INF_UTF8 = 2; - WAT_INF_CHANGES = $100; - -const - MS_WAT_INSERT:PAnsiChar = 'WATrack/Insert'; - MS_WAT_EXPORT:PAnsiChar = 'WATrack/Export'; - -const -{ - wParam : WAT_INF_* constant - lParam : pointer to pSongInfo (Unicode) or pSongInfoA (ANSI/UTF8) - Affects: Fill structure by currently played music info - returns: WAT_PLS_* constant - note: pointer will be point to global SongInfo structure of plugin - warning: Non-Unicode data filled only by request - if lParam=0 only internal SongInfo structure will be filled - Example: - var p:pSongInfo; - PluginLink^.CallService(MS_WAT_GETMUSICINFO,0,dword(@p)); -} - MS_WAT_GETMUSICINFO:PAnsiChar = 'WATrack/GetMusicInfo'; -{ - wParam:0 - lParam : pointer to pSongInfo (Unicode) - Affects: Fill structure by info from file named in SongInfo.mfile - returns: 0, if success - note: fields, which values can't be obtained, leaves old values. - you must free given strings by miranda mmi.free -} - MS_WAT_GETFILEINFO:PAnsiChar = 'WATrack/GetFileInfo'; - -{ - wParam: encoding (WAT_INF_* consts, 0 = WAT_INF_UNICODE) - lParam: codepage (0 = ANSI) - Returns Global unicode SongInfo pointer or tranlated to Ansi/UTF8 structure -} - MS_WAT_RETURNGLOBAL:PAnsiChar = 'WATrack/GetMainStructure'; - -//!! DON'T CHANGE THESE VALUES! -const - WAT_CTRL_FIRST = 1; - - WAT_CTRL_PREV = 1; - WAT_CTRL_PLAY = 2; - WAT_CTRL_PAUSE = 3; - WAT_CTRL_STOP = 4; - WAT_CTRL_NEXT = 5; - WAT_CTRL_VOLDN = 6; - WAT_CTRL_VOLUP = 7; - WAT_CTRL_SEEK = 8; // lParam is new position (sec) - - WAT_CTRL_LAST = 8; - -{ - wParam: button code (WAT_CTRL_* const) - lParam: 0, or value (see WAT_CTRL_* const comments) - Affects: emulate player button pressing - returns: 0 if unsuccesful -} - MS_WAT_PRESSBUTTON:PAnsiChar = 'WATrack/PressButton'; - -{ - Get user's Music Info -} - MS_WAT_GETCONTACTINFO:PAnsiChar = 'WATrack/GetContactInfo'; - -// ------------ Plugin/player status ------------ - -{ - wParam: 1 - switch off plugin - 0 - switch on plugin - -1 - switch plugin status - 2 - get plugin version - other - get plugin status - lParam: 0 - Affects: Switch plugin status to enabled or disabled - returns: version, old plugin status, 0, if was enabled -} - MS_WAT_PLUGINSTATUS:PAnsiChar = 'WATrack/PluginStatus'; - - ME_WAT_MODULELOADED:PAnsiChar = 'WATrack/ModuleLoaded'; - -const - WAT_EVENT_PLAYERSTATUS = 1; // WAT_PLS_* const - WAT_EVENT_NEWTRACK = 2; // SongInfo ptr - WAT_EVENT_PLUGINSTATUS = 3; // 0-enabled; 1-dis.temporary; 2-dis.permanent - WAT_EVENT_NEWPLAYER = 4; // - WAT_EVENT_NEWTEMPLATE = 5; // TM_* constant - -{ - Plugin or player status changed: - wParam: type of event (see above) - lParam: value -} - ME_WAT_NEWSTATUS:PAnsiChar = 'WATrack/NewStatus'; - -// ---------- Popup module ------------ - -{ - wParam: not used - lParam: not used - Affects: Show popup or Info window with current music information - note: Only Info window will be showed if Popup plugin disabled -} - MS_WAT_SHOWMUSICINFO:PAnsiChar = 'WATrack/ShowMusicInfo'; - -// --------- Statistic (report) module ------------- - -{ - wParam: pointer to log file name or NIL - lParam: pointer to report file name or NIL - Affects: Create report from log and run it (if option is set) - returns: 0 if unsuccesful - note: if wParam or lParam is a NIL then file names from options are used -} - MS_WAT_MAKEREPORT :PAnsiChar = 'WATrack/MakeReport'; -// MS_WAT_MAKEREPORTW:PAnsiChar = 'WATrack/MakeReportW'; - -{ - wParam, lParam - not used - Affects: pack statistic file -} - MS_WAT_PACKLOG:PAnsiChar = 'WATrack/PackLog'; - -{ - wParam: not used - lParam: pointer to SongInfo -} - MS_WAT_ADDTOLOG:PAnsiChar = 'WATrack/AddToLog'; - -// ----------- Formats and players ----------- - -// media file status - -const - WAT_MES_STOPPED = 0; - WAT_MES_PLAYING = 1; - WAT_MES_PAUSED = 2; - WAT_MES_UNKNOWN = -1; - -const - WAT_ACT_REGISTER = 1; - WAT_ACT_UNREGISTER = 2; - WAT_ACT_DISABLE = 3; - WAT_ACT_ENABLE = 4; - WAT_ACT_GETSTATUS = 5; // not found/enabled/disabled - WAT_ACT_SETACTIVE = 6; - WAT_ACT_REPLACE = $10000; // can be combined with WAT_REGISTERFORMAT - -const - // flags - WAT_OPT_DISABLED = $00000001; // registered but disabled - WAT_OPT_ONLYONE = $00000002; // can't be overwriten - WAT_OPT_PLAYERINFO = $00000004; // song info from player - WAT_OPT_WINAMPAPI = $00000008; // Winamp API support - WAT_OPT_CHECKTIME = $00000010; // check file time for changes - WAT_OPT_VIDEO = $00000020; // only for format registering used - WAT_OPT_LAST = $00000040; // (internal-Winamp Clone) put to the end of queue - WAT_OPT_FIRST = $00000080; // (internal) - WAT_OPT_TEMPLATE = $00000100; // (internal) - WAT_OPT_IMPLANTANT = $00000200; // use process implantation - WAT_OPT_HASURL = $00000400; // (player registration) URL field present - WAT_OPT_CHANGES = $00000800; // obtain only chaged values - // (volume, status, window text, elapsed time) - WAT_OPT_APPCOMMAND = $00001000; // Special (multimedia) key support - WAT_OPT_CHECKALL = $00002000; // Check all players - WAT_OPT_KEEPOLD = $00004000; // Keep Old opened file - WAT_OPT_MULTITHREAD = $00008000; // Use multithread scan - WAT_OPT_SINGLEINST = $00010000; // Single player instance - WAT_OPT_PLAYERDATA = $00020000; // (internal) to obtain player data - -type - tReadFormatProc = function(var Info:tSongInfo):boolean; cdecl; - pMusicFormat = ^tMusicFormat; - tMusicFormat = packed record - proc :tReadFormatProc; - ext :array [0..7] of AnsiChar; - flags:cardinal; - end; - -const -{ - wParam: action - lParam: pointer to tMusicFormat if wParam = WAT_ACT_REGISTER, - else - pointer to extension string (ANSI) - returns: see result codes -} - MS_WAT_FORMAT:PAnsiChar = 'WATrack/Format'; - -{ - wParam: pointer to SongInfo structure (plwind field must be initialized) - lParam: flags - Affects: trying to fill SongInfo using Winamp API -} - MS_WAT_WINAMPINFO:PAnsiChar = 'WATrack/WinampInfo'; - -{ - wParam: window - lParam: LoWord - command; HiWord - value -} - MS_WAT_WINAMPCOMMAND:PAnsiChar = 'WATrack/WinampCommand'; - -type - tInitProc = function():integer;cdecl; - tDeInitProc = function():integer;cdecl; - tStatusProc = function(wnd:HWND):integer;cdecl; - tNameProc = function(wnd:HWND;flags:integer):pWideChar;cdecl; - tCheckProc = function(wnd:HWND;flags:integer):HWND;cdecl; - tInfoProc = function(var SongInfo:tSongInfo;flags:integer):integer;cdecl; - tCommandProc = function(wnd:HWND;command:integer;value:integer):integer;cdecl; - - pPlayerCell = ^tPlayerCell; - tPlayerCell = packed record - Desc :PAnsiChar; // Short player name - flags :cardinal; - Icon :HICON; // can be 0. for registration only - Init :pointer; // tInitProc; can be NIL. initialize any data - DeInit :pointer; // tDeInitProc; can be NIL. finalize player processing - Check :pointer; // tCheckProc; check player - GetStatus:pointer; // tStatusProc; can be NIL. get player status - GetName :pointer; // tNameProc; can be NIL. get media filename - GetInfo :pointer; // tInfoProc; can be NIL. get info from player - Command :pointer; // tCommandProc; can be NIL. send command to player - URL :PAnsiChar; // only if WAT_OPT_HASURL flag present - Notes :PWideChar; // any tips, notes etc for this player - end; - -const -{ - wParam: action - lParam: pointer to tPlayerCell if wParam = WAT_ACT_REGISTER, - else - pointer to player description string (ANSI) - returns: player window handle or value>0 if found - note: If you use GetName or GetInfo field, please, do not return empty - filename even when mediafile is remote! -} - MS_WAT_PLAYER:PAnsiChar = 'WATrack/Player'; - -// --------- Last FM --------- - -{ - Toggle LastFM scrobbling status - wParam,lParam=0 - Returns: previous state -} -const - MS_WAT_LASTFM:pAnsiChar = 'WATrack/LastFM'; - -{ - Get Info based on currently played song - wParam: pLastFMInfo - lParam: int language (first 2 bytes - 2-letters language code) -} -type - pLastFMInfo = ^tLastFMInfo; - tLastFMInfo = packed record - request:cardinal; // 0 - artist, 1 - album, 2 - track - artist :pWideChar; // artist - album :pWideChar; // album or similar artists for Artist info request - title :pWideChar; // track title - tags :pWideChar; // tags - info :pWideChar; // artist bio or wiki article - image :pAnsiChar; // photo/cover link - similar:pWideChar; - release:pWideChar; - trknum :cardinal; - end; -const - MS_WAT_LASTFMINFO:pAnsiChar = 'WATrack/LastFMInfo'; - -// --------- Templates ---------- - -const -{ - wParam: 0 (standard Info) or pSongInfo - lParam: Unicode template - returns: New Unicode (replaced) string -} - MS_WAT_REPLACETEXT:PAnsiChar = 'WATrack/ReplaceText'; - -{ - event types for History - Blob structure for EVENTTYPE_WAT_ANSWER: - Uniciode artist#0title#0album#0answer -} -const - EVENTTYPE_WAT_REQUEST = 9601; - EVENTTYPE_WAT_ANSWER = 9602; - EVENTTYPE_WAT_ERROR = 9603; - EVENTTYPE_WAT_MESSAGE = 9604; - -const -{ - wParam: 0 or parent window - lParam: 0 - note: Shows Macro help window with edit aliases ability -} - MS_WAT_MACROHELP:pAnsiChar = 'WATrack/MacroHelp'; - -{$ENDIF M_MUSIC} -- cgit v1.2.3