From 3b1846ee1e29db1cde81f95fd9446b3a3cd7065e Mon Sep 17 00:00:00 2001 From: Sergey Bolhovskoy Date: Thu, 23 Oct 2014 07:48:18 +0000 Subject: VKontakte: improved search track for broadcast music (path by alitor) reworked code for broadcast music add recognition TCHAR(9835) as broadcasting sign version bump git-svn-id: http://svn.miranda-ng.org/main/trunk@10846 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/VKontakte/src/vk_thread.cpp | 47 +++++++++++++++++++++++------------ 1 file changed, 31 insertions(+), 16 deletions(-) (limited to 'protocols/VKontakte/src/vk_thread.cpp') diff --git a/protocols/VKontakte/src/vk_thread.cpp b/protocols/VKontakte/src/vk_thread.cpp index 78b5e6b9e5..ebd26e4996 100644 --- a/protocols/VKontakte/src/vk_thread.cpp +++ b/protocols/VKontakte/src/vk_thread.cpp @@ -338,7 +338,7 @@ MCONTACT CVkProto::SetContactInfo(JSONNODE* pItem, bool flag, bool self) CMString tszOldStatus(db_get_tsa(hContact, hContact ? "CList" : m_szModuleName, "StatusMsg")); if (tszValue != tszOldStatus){ db_set_ts(hContact, hContact ? "CList" : m_szModuleName, "StatusMsg", tszValue.GetBuffer()); - if (json_get(pItem, "status_audio")) + if ((json_get(pItem, "status_audio") != NULL) || (tszValue.GetBuffer()[0] == TCHAR(9835))) db_set_ts(hContact, m_szModuleName, "ListeningTo", tszValue.GetBuffer()); else db_unset(hContact, m_szModuleName, "ListeningTo"); @@ -859,13 +859,13 @@ void CVkProto::RetrieveStatusMsg(const CMString &StatusMsg) void CVkProto::RetrieveStatusMusic(const CMString &StatusMsg) { debugLogA("CVkProto::RetrieveStatusMusic"); - if (!IsOnline() || (m_iStatus == ID_STATUS_INVISIBLE)) + if (!IsOnline() || (m_iStatus == ID_STATUS_INVISIBLE) || (m_iMusicSendMetod == sendNone)) return; - + CMString code; CMString oldStatusMsg = db_get_tsa(0, m_szModuleName, "OldStatusMsg"); if (StatusMsg.IsEmpty()){ - if (oldStatusMsg.IsEmpty() || m_bAudioStatusOnly) + if (m_iMusicSendMetod == sendBroadcastOnly) code = "API.audio.setBroadcast();return null;"; else{ CMString codeformat("API.status.set({text:\"%s\"});return null;"); @@ -873,22 +873,35 @@ void CVkProto::RetrieveStatusMusic(const CMString &StatusMsg) } } else { - if (m_bAudioStatusOnly){ - CMString codeformat("var StatusMsg=\"%s\";" - "var Track=API.audio.search({\"q\":StatusMsg,\"count\":1});" - "if(Track.count==0){API.audio.setBroadcast();}" - "else{var owner=Track.items[0].owner_id;var trackID=Track.items[0].id;var audioTxt=owner+\"_\"+trackID;" - "var ids=API.audio.setBroadcast({\"audio\":audioTxt});};return null;"); + if (m_iMusicSendMetod == sendBroadcastOnly){ + CMString codeformat("var StatusMsg=\"%s\";var CntLmt=100;" + "var Tracks = API.audio.search({\"q\":StatusMsg,\"count\":CntLmt});" + "var Cnt=Tracks.count;if (Cnt>CntLmt){Cnt=CntLmt;}" + "if (Cnt == 0){API.audio.setBroadcast();}" + "else{var i = 0;var j = 0;var Track=\" \";" + "while (iCntLmt){Cnt=CntLmt;}" + "if (Cnt == 0){Track = \"♫ \"+StatusMsg; API.status.set({\"text\":Track});}" + "else{var i = 0;var j = -1;" + "while (icbSize != sizeof(LISTENINGTOINFO)) -- cgit v1.2.3