aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/mediaplayer
diff options
context:
space:
mode:
authorGravatar Elvio Basello2015-01-05 15:32:17 +0000
committerGravatar Elvio Basello2015-01-05 15:32:17 +0000
commit5ef15d9460b070d9a94dd04de9e2dc48eebb7d9d (patch)
tree3870e6706bf63d64df0fc5cad4f57ae08f92d8ee /src/modules/mediaplayer
parentadded mindforge network (diff)
downloadKVIrc-5ef15d9460b070d9a94dd04de9e2dc48eebb7d9d.tar.gz
KVIrc-5ef15d9460b070d9a94dd04de9e2dc48eebb7d9d.tar.bz2
KVIrc-5ef15d9460b070d9a94dd04de9e2dc48eebb7d9d.zip
ported to Qt5, fixes #1450
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@6433 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/mediaplayer')
-rw-r--r--src/modules/mediaplayer/MpAmipInterface.cpp73
-rw-r--r--src/modules/mediaplayer/MpWinampInterface.cpp14
2 files changed, 58 insertions, 29 deletions
diff --git a/src/modules/mediaplayer/MpAmipInterface.cpp b/src/modules/mediaplayer/MpAmipInterface.cpp
index 99d673470..cbc2482bd 100644
--- a/src/modules/mediaplayer/MpAmipInterface.cpp
+++ b/src/modules/mediaplayer/MpAmipInterface.cpp
@@ -66,13 +66,13 @@ static HINSTANCE amip_dll = NULL;
#define COMMA() ,
-MP_AC_DYNPTR(void, ac_init, int mode);
-MP_AC_DYNPTR(void, ac_uninit, void);
-MP_AC_DYNPTR(void, ac_getDestHost, char *out);
-MP_AC_DYNPTR(int, ac_getDestPort, void);
-MP_AC_DYNPTR(bool, ac_pingServer, const char *host COMMA() int port COMMA() int timeout);
-MP_AC_DYNPTR(int, ac_exec, const char *cmd);
-MP_AC_DYNPTR(int, ac_eval, const char *cmd COMMA() char *result);
+MP_AC_DYNPTR(void, ac_init, int mode);
+MP_AC_DYNPTR(void, ac_uninit, void);
+MP_AC_DYNPTR(void, ac_getDestHost, char * out);
+MP_AC_DYNPTR(int, ac_getDestPort, void);
+MP_AC_DYNPTR(bool, ac_pingServer, const char * host COMMA() int port COMMA() int timeout);
+MP_AC_DYNPTR(int, ac_exec, const char * cmd);
+MP_AC_DYNPTR(int, ac_eval, const char * cmd COMMA() char *result);
static bool loadAmipDll()
@@ -93,10 +93,17 @@ static bool loadAmipDll()
static QTextCodec * mediaplayer_get_codec()
{
- QTextCodec * c= QTextCodec::codecForName(KVI_OPTION_STRING(KviOption_stringWinampTextEncoding).toLatin1());
- if(!c)
- c = QTextCodec::codecForLocale();
- return c;
+ QTextCodec * pCodec = 0;
+
+#if (QT_VERSION < 0x050000)
+ pCodec = QTextCodec::codecForName(KVI_OPTION_STRING(KviOption_stringWinampTextEncoding).toLatin1());
+#else
+ pCodec = QTextCodec::codecForName(KVI_OPTION_STRING(KviOption_stringWinampTextEncoding).toUtf8());
+#endif
+
+ if(!pCodec)
+ pCodec = QTextCodec::codecForLocale();
+ return pCodec;
}
MP_IMPLEMENT_DESCRIPTOR(
@@ -232,25 +239,41 @@ MpInterface::PlayerStatus MpAmipInterface::status()
QString MpAmipInterface::mrl()
{
- QString ret;
- QString fn = eval_str("var_fn");
- QTextCodec *c=mediaplayer_get_codec();
- if (c) ret = c->toUnicode(fn.toLatin1());
- else ret=fn;
- if(!ret.startsWith("http://",Qt::CaseInsensitive))
- ret.prepend("file://");
+ 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 ret;
+ return szRet;
}
QString getAmipString(const char * var)
{
- QString ret;
- QString s = eval_str(var);
- QTextCodec *c=mediaplayer_get_codec();
- if (c) ret = c->toUnicode(s.toLatin1());
- else ret=s;
- return ret;
+ 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::nowPlaying()
diff --git a/src/modules/mediaplayer/MpWinampInterface.cpp b/src/modules/mediaplayer/MpWinampInterface.cpp
index 55c59c6e9..afe8805c6 100644
--- a/src/modules/mediaplayer/MpWinampInterface.cpp
+++ b/src/modules/mediaplayer/MpWinampInterface.cpp
@@ -157,7 +157,6 @@
#define WINAMP_CMD_QUIT 40001
#define KVIRC_WM_USER 63112
-
#define KVIRC_WM_USER_CHECK 13123
#define KVIRC_WM_USER_CHECK_REPLY 13124
#define KVIRC_WM_USER_GETTITLE 5000
@@ -167,10 +166,17 @@
static QTextCodec * mediaplayer_get_codec()
{
- QTextCodec * c= QTextCodec::codecForName(KVI_OPTION_STRING(KviOption_stringWinampTextEncoding).toLatin1());
- if(!c)c = QTextCodec::codecForLocale();
- return c;
+ QTextCodec * pCodec = 0;
+
+#if (QT_VERSION < 0x050000)
+ pCodec = QTextCodec::codecForName(KVI_OPTION_STRING(KviOption_stringWinampTextEncoding).toLatin1());
+#else
+ pCodec = QTextCodec::codecForName(KVI_OPTION_STRING(KviOption_stringWinampTextEncoding).toUtf8());
+#endif
+ if(!pCodec)
+ pCodec = QTextCodec::codecForLocale();
+ return pCodec;
}
static HWND find_winamp(KviWinampInterface * i)