Exemple #1
0
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;
}
Exemple #2
0
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;
}
Exemple #4
0
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;
}
Exemple #7
0
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;
}
Exemple #8
0
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;
}
Exemple #9
0
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;
}