From cd38af6ebd9732c7dd28f8a36bec9452f98cb461 Mon Sep 17 00:00:00 2001 From: Gluzskiy Alexandr Date: Mon, 23 Nov 2009 09:00:49 +0200 Subject: basick player controll support, resume playing currently unsupported modified: watrack_mpd/init.c modified: watrack_mpd/main.c --- watrack_mpd/main.c | 52 ++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 44 insertions(+), 8 deletions(-) (limited to 'watrack_mpd/main.c') diff --git a/watrack_mpd/main.c b/watrack_mpd/main.c index 1108a4f..a79ff66 100755 --- a/watrack_mpd/main.c +++ b/watrack_mpd/main.c @@ -41,9 +41,9 @@ LPCHECKPROC CheckPlayer(HWND wnd, int flags) return 0; } if(Parser()) - return (LPCHECKPROC)-1; - if(Connected) - return (LPCHECKPROC)1; + return (LPCHECKPROC)WAT_MES_STOPPED; + if(Connected) + return (LPCHECKPROC)WAT_MES_PLAYING; return 0; } LPGETSTATUSPROC GetStatus() @@ -120,6 +120,32 @@ LPINFOPROC GetPlayerInfo(LPSONGINFO info, int flags) } LPCOMMANDPROC SendCommand(HWND wnd, int command, int value) { + switch (command) + { + case WAT_CTRL_PREV: + Netlib_Send(ghConnection, "previous\n", strlen("previous\n"), 0); + break; + case WAT_CTRL_PLAY: //add resuming support + Netlib_Send(ghConnection, "play\n", strlen("play\n"), 0); + break; + case WAT_CTRL_PAUSE: + Netlib_Send(ghConnection, "pause 1\n", strlen("pause 1\n"), 0); + break; + case WAT_CTRL_STOP: + Netlib_Send(ghConnection, "stop\n", strlen("stop\n"), 0); + break; + case WAT_CTRL_NEXT: + Netlib_Send(ghConnection, "next\n", strlen("next\n"), 0); + break; + case WAT_CTRL_VOLDN: + break; + case WAT_CTRL_VOLUP: + break; + case WAT_CTRL_SEEK: + break; + default: + break; + } return 0; } @@ -163,6 +189,16 @@ int Parser() if(ghConnection) { int recvResult; +/* do + { + recvResult = CallService(MS_NETLIB_GETMOREPACKETS,(WPARAM)ghPacketReciever, (LPARAM)&nlpr); + if(recvResult == SOCKET_ERROR) + { + ReStart(); + return 1; + } + } + while(recvResult > 0);*/ if(!Connected) { char tmp[128]; @@ -256,7 +292,7 @@ int Parser() SongInfo.title = (TCHAR*)mir_utf8decodeW(tmp); } else - SongInfo.title = _T(""); + SongInfo.title = _T("Unknown track"); if(ptr = strstr(buf, "Artist:")) { ptr = &ptr[8]; @@ -266,7 +302,7 @@ int Parser() SongInfo.artist = (TCHAR*)mir_utf8decodeW(tmp); } else - SongInfo.artist = _T(""); + SongInfo.artist = _T("Unknown artist"); if(ptr = strstr(buf, "Genre:")) { ptr = &ptr[7]; @@ -276,7 +312,7 @@ int Parser() SongInfo.genre = (TCHAR*)mir_utf8decodeW(tmp); } else - SongInfo.genre = _T(""); + SongInfo.genre = _T("Unknown genre"); if(ptr = strstr(buf, "Album:")) { ptr = &ptr[7]; @@ -286,7 +322,7 @@ int Parser() SongInfo.album = (TCHAR*)mir_utf8decodeW(tmp); } else - SongInfo.album = _T(""); + SongInfo.album = _T("Unknown album"); if(ptr = strstr(buf, "Date:")) { ptr = &ptr[6]; @@ -296,7 +332,7 @@ int Parser() SongInfo.year = (TCHAR*)mir_utf8decodeW(tmp); } else - SongInfo.year = _T(""); + SongInfo.year = _T("Unknown year"); if(ptr = strstr(buf, "volume:")) { ptr = &ptr[8]; -- cgit v1.2.3