From 4d829e8283fa1e1c4fef5ce455ba92788a5633ec Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Wed, 15 Jun 2016 06:45:12 +0000 Subject: wavpack: added unicode support under windows git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@6457 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Input/wavpack/decoder_wavpack.cpp | 14 ++++++++++++-- src/plugins/Input/wavpack/decoderwavpackfactory.cpp | 5 +++++ src/plugins/Input/wavpack/replaygainreader.cpp | 10 ++++++++-- src/plugins/Input/wavpack/wavpackmetadatamodel.cpp | 7 ++++++- 4 files changed, 31 insertions(+), 5 deletions(-) (limited to 'src/plugins/Input/wavpack') diff --git a/src/plugins/Input/wavpack/decoder_wavpack.cpp b/src/plugins/Input/wavpack/decoder_wavpack.cpp index 789515753..f4a37d3d3 100644 --- a/src/plugins/Input/wavpack/decoder_wavpack.cpp +++ b/src/plugins/Input/wavpack/decoder_wavpack.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2015 by Ilya Kotov * + * Copyright (C) 2008-2016 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -68,7 +68,12 @@ bool DecoderWavPack::initialize() QString p = m_path; p.remove("wvpack://"); p.remove(QRegExp("#\\d+$")); +#if defined(Q_OS_WIN) && defined(OPEN_FILE_UTF8) + m_context = WavpackOpenFileInput (p.toUtf8().constData(), + err, OPEN_WVC | OPEN_TAGS | OPEN_FILE_UTF8, 0); +#else m_context = WavpackOpenFileInput (p.toLocal8Bit().constData(), err, OPEN_WVC | OPEN_TAGS, 0); +#endif if (!m_context) { qWarning("DecoderWavPack: error: %s", err); @@ -94,7 +99,12 @@ bool DecoderWavPack::initialize() } } else - m_context = WavpackOpenFileInput (m_path.toLocal8Bit(), err, OPEN_WVC | OPEN_TAGS, 0); +#if defined(Q_OS_WIN) && defined(OPEN_FILE_UTF8) + m_context = WavpackOpenFileInput (m_path.toUtf8().constData(), + err, OPEN_WVC | OPEN_TAGS | OPEN_FILE_UTF8, 0); +#else + m_context = WavpackOpenFileInput (m_path.toLocal8Bit().constData(), err, OPEN_WVC | OPEN_TAGS, 0); +#endif if (!m_context) { diff --git a/src/plugins/Input/wavpack/decoderwavpackfactory.cpp b/src/plugins/Input/wavpack/decoderwavpackfactory.cpp index f994aa3e6..bd197a2d5 100644 --- a/src/plugins/Input/wavpack/decoderwavpackfactory.cpp +++ b/src/plugins/Input/wavpack/decoderwavpackfactory.cpp @@ -84,8 +84,13 @@ QList DecoderWavPackFactory::createPlayList(const QString &fileName, return QList() << info; } +#if defined(Q_OS_WIN) && defined(OPEN_FILE_UTF8) + WavpackContext *ctx = WavpackOpenFileInput (fileName.toUtf8().constData(), + err, OPEN_WVC | OPEN_TAGS | OPEN_FILE_UTF8, 0); +#else WavpackContext *ctx = WavpackOpenFileInput (fileName.toLocal8Bit().constData(), err, OPEN_WVC | OPEN_TAGS, 0); +#endif if (!ctx) { qWarning("DecoderWavPackFactory: error: %s", err); diff --git a/src/plugins/Input/wavpack/replaygainreader.cpp b/src/plugins/Input/wavpack/replaygainreader.cpp index d4ea7d8cd..ae8950425 100644 --- a/src/plugins/Input/wavpack/replaygainreader.cpp +++ b/src/plugins/Input/wavpack/replaygainreader.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2009 by Ilya Kotov * + * Copyright (C) 2009-2016 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -35,8 +35,14 @@ ReplayGainReader::ReplayGainReader(const QString &path) m_path = path; char err[80]; - m_ctx = WavpackOpenFileInput (m_path.toLocal8Bit(), err, + +#if defined(Q_OS_WIN) && defined(OPEN_FILE_UTF8) + m_ctx = WavpackOpenFileInput (m_path.toUtf8().constData(), + err, OPEN_WVC | OPEN_TAGS | OPEN_FILE_UTF8, 0); +#else + m_ctx = WavpackOpenFileInput (m_path.toLocal8Bit().constData(), err, OPEN_WVC | OPEN_EDIT_TAGS, 0); +#endif if (!m_ctx) { qWarning("ReplayGainReader: error: %s", err); diff --git a/src/plugins/Input/wavpack/wavpackmetadatamodel.cpp b/src/plugins/Input/wavpack/wavpackmetadatamodel.cpp index b62cb75cb..e2d978453 100644 --- a/src/plugins/Input/wavpack/wavpackmetadatamodel.cpp +++ b/src/plugins/Input/wavpack/wavpackmetadatamodel.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2009-2015 by Ilya Kotov * + * Copyright (C) 2009-2016 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -35,8 +35,13 @@ WavPackMetaDataModel::WavPackMetaDataModel(const QString &path, QObject *parent) m_path = path; char err[80]; +#if defined(Q_OS_WIN) && defined(OPEN_FILE_UTF8) + m_ctx = WavpackOpenFileInput (m_path.toUtf8().constData(), + err, OPEN_WVC | OPEN_TAGS | OPEN_FILE_UTF8, 0); +#else m_ctx = WavpackOpenFileInput (m_path.toLocal8Bit().constData(), err, OPEN_WVC | OPEN_EDIT_TAGS, 0); +#endif if (!m_ctx) { qWarning("WavPackMetaDataModel: error: %s", err); -- cgit v1.2.3-13-gbd6f