summaryrefslogtreecommitdiff
path: root/plugins/Watrack
diff options
context:
space:
mode:
authorKirill Volinsky <mataes2007@gmail.com>2012-10-09 05:20:49 +0000
committerKirill Volinsky <mataes2007@gmail.com>2012-10-09 05:20:49 +0000
commitfaf1e494a31b70203aa67d34602f5256eabe0336 (patch)
treeb222ebe08c9173c1ba2811bcad4f47369d0e4f38 /plugins/Watrack
parent302209a17a9f5342a377904cda699fd3833bbe9a (diff)
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
Diffstat (limited to 'plugins/Watrack')
-rw-r--r--plugins/Watrack/docs/m_music.h386
-rw-r--r--plugins/Watrack/docs/m_music.inc404
-rw-r--r--plugins/Watrack/m_music.inc419
3 files changed, 0 insertions, 1209 deletions
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}
diff --git a/plugins/Watrack/m_music.inc b/plugins/Watrack/m_music.inc
deleted file mode 100644
index aba0bd27f6..0000000000
--- a/plugins/Watrack/m_music.inc
+++ /dev/null
@@ -1,419 +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 = 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 = 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;
- 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 mir_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_* in loword, WAT_MES_* in hiword
- 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; // [formats,players,options] registered but disabled
- WAT_OPT_ONLYONE = $00000002; // [formats,players] code can't be overwriten
- WAT_OPT_PLAYERINFO = $00000004; // [players] song info from player
- WAT_OPT_WINAMPAPI = $00000008; // [players] Winamp API support
- WAT_OPT_CHECKTIME = $00000010; // [options] check file time for changes
- WAT_OPT_VIDEO = $00000020; // [formats,options] format is video
- 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; // [options] use process implantation
- WAT_OPT_HASURL = $00000400; // [players] URL field present
- WAT_OPT_CHANGES = $00000800; // (internal) obtain only chaged values
- // (volume, status, window text, elapsed time)
- WAT_OPT_APPCOMMAND = $00001000; // [options] Special (multimedia) key support
- WAT_OPT_CHECKALL = $00002000; // [options] Check all players
- WAT_OPT_KEEPOLD = $00004000; // [options] Keep Old opened file
- WAT_OPT_MULTITHREAD = $00008000; // [options] Use multithread scan
- WAT_OPT_SINGLEINST = $00010000; // [players] Single player instance
- WAT_OPT_PLAYERDATA = $00020000; // (internal) to obtain player data
- WAT_OPT_CONTAINER = $00040000; // [formats] format is container (need to check full)
-
-type
- tReadFormatProc = function(var Info:tSongInfo):boolean; cdecl;
- pMusicFormat = ^tMusicFormat;
- tMusicFormat = 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 = 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';
-
-// --------- MyShows.ru ---------
-
-{
- Toggle MyShows scrobbling status
- wParam,lParam=0
- Returns: previous state
-}
-const
- MS_WAT_MYSHOWS:pAnsiChar = 'WATrack/MyShows';
-
-
-const
- MS_WAT_MYSHOWSINFO:pAnsiChar = 'WATrack/MyShowsInfo';
-
-// --------- 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 = 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}