QString MpAmipInterface::amipEval(const QString &cmd) { QString ret; if(!amip_dll) return ret; QTextCodec *c=mediaplayer_get_codec(); KviCString szCmd = c ? c->fromUnicode(cmd) : cmd.toUtf8(); char buff[AC_BUFFER_SIZE]; if((ac_eval(szCmd, buff) == AC_ERR_NOERROR)) { QString s = buff; QTextCodec *c=mediaplayer_get_codec(); if (c) ret = c->toUnicode(s.toLatin1()); else ret=s; } return ret; }
QString KviWinampInterface::nowPlaying() { QString ret; HWND hWinamp = find_winamp(this); if(hWinamp) { int retpippo = SendMessage(hWinamp, WM_USER, KVIRC_WM_USER, KVIRC_WM_USER_CHECK); if(retpippo != KVIRC_WM_USER_CHECK_REPLY) { setLastError(__tr2qs_ctx("The Winamp plugin has not been installed properly. Check /help mediaplayer.nowplaying", "mediaplayer")); return ret; } int len = SendMessage(hWinamp, WM_USER, KVIRC_WM_USER, KVIRC_WM_USER_GETTITLE); if(len < 4096) { char szBuffer[4096]; for(int i = 0; i < len; i++) { szBuffer[i] = SendMessage(hWinamp, WM_USER, KVIRC_WM_USER, KVIRC_WM_USER_TRANSFER + i); } szBuffer[len] = '\0'; QTextCodec * c = mediaplayer_get_codec(); if(c) ret = c->toUnicode(szBuffer); else ret = szBuffer; } } return ret; }
QString KviWinampInterface::mrl() { QString ret; HWND hWinamp = find_winamp(this); if(hWinamp) { int ret2 = SendMessage(hWinamp,WM_USER,KVIRC_WM_USER,KVIRC_WM_USER_CHECK); if(ret2 != KVIRC_WM_USER_CHECK_REPLY) { setLastError(__tr2qs_ctx("The winamp plugin has not been installed properly. Check /help mediaplayer.nowplaying","mediaplayer")); return ret; } int len = SendMessage(hWinamp,WM_USER,KVIRC_WM_USER,KVIRC_WM_USER_GETFILE); if(len < 4096) { char szBuffer[4096]; for(int i = 0;i < len;i++) { szBuffer[i] = SendMessage(hWinamp,WM_USER,KVIRC_WM_USER,KVIRC_WM_USER_TRANSFER + i); } szBuffer[len] = '\0'; QTextCodec *c=mediaplayer_get_codec(); if (c) ret = c->toUnicode(szBuffer); else ret=szBuffer; if(!ret.startsWith("http://",Qt::CaseInsensitive)) ret.prepend("file://"); } } return ret; }
bool MpAmipInterface::amipExec(const QString &cmd) { if(!amip_dll) return false; QTextCodec *c=mediaplayer_get_codec(); KviCString szCmd = c ? c->fromUnicode(cmd) : cmd.toUtf8(); return (ac_exec(szCmd) == AC_ERR_NOERROR); }
QString getAmipString(const char * var) { QString ret; QString s = eval_str(var); QTextCodec *c=mediaplayer_get_codec(); if (c) ret = c->toUnicode(s.toAscii()); else ret=s; return ret; }
QString MpAmipInterface::mrl() { QString ret; QString fn = eval_str("var_fn"); QTextCodec *c=mediaplayer_get_codec(); if (c) ret = c->toUnicode(fn.toAscii()); else ret=fn; if(!ret.startsWith("http://",Qt::CaseInsensitive)) ret.prepend("file://"); return ret; }
bool KviWinampInterface::playMrl(const QString & mrl) { HWND hWinamp = find_winamp(this); if(hWinamp) { QTextCodec * c = mediaplayer_get_codec(); KviCString szMrl = c ? c->fromUnicode(mrl) : mrl.toUtf8(); COPYDATASTRUCT cds; cds.dwData = IPC_PLAYFILE; cds.lpData = (void *)szMrl.ptr(); cds.cbData = szMrl.len() + 1; // include space for null char SendMessage(hWinamp, WM_COPYDATA, (WPARAM)NULL, (LPARAM)&cds); return true; } return false; }
QString getAmipString(const char * var) { QString szRet; QString szString = eval_str(var); QTextCodec * pCodec = mediaplayer_get_codec(); if(pCodec) { #if (QT_VERSION < 0x050000) szRet = pCodec->toUnicode(szString.toLatin1()); #else szRet = pCodec->toUnicode(szString.toUtf8()); #endif } else { szRet = szString; } return szRet; }
QString MpAmipInterface::mrl() { QString szRet; QString szFn = eval_str("var_fn"); QTextCodec * pCodec = mediaplayer_get_codec(); if(pCodec) { #if (QT_VERSION < 0x050000) szRet = pCodec->toUnicode(szFn.toLatin1()); #else szRet = pCodec->toUnicode(szFn.toUtf8()); #endif } else { szRet = szFn; } if(!szRet.startsWith("http://", Qt::CaseInsensitive)) szRet.prepend("file://"); return szRet; }