diff options
author | Daniel Schürmann <daschuer@mixxx.org> | 2015-10-04 21:44:53 +0200 |
---|---|---|
committer | Daniel Schürmann <daschuer@mixxx.org> | 2015-10-04 21:44:53 +0200 |
commit | 7a842fe2fb225405f4489b953800f0abd291b623 (patch) | |
tree | 346fb08566a8aa40fc8839e43c9bab230ad05767 /plugins | |
parent | bb2e235d28a0c3dbf0c320f4fa5c11d481e377f9 (diff) |
User wchar_t* to access files via Taglib on Windows
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/soundsourcem4a/soundsourcem4a.cpp | 9 | ||||
-rw-r--r-- | plugins/soundsourcemediafoundation/soundsourcemediafoundation.cpp | 7 | ||||
-rw-r--r-- | plugins/soundsourcewv/soundsourcewv.cpp | 12 |
3 files changed, 19 insertions, 9 deletions
diff --git a/plugins/soundsourcem4a/soundsourcem4a.cpp b/plugins/soundsourcem4a/soundsourcem4a.cpp index 8932bacfef..46533f47ee 100644 --- a/plugins/soundsourcem4a/soundsourcem4a.cpp +++ b/plugins/soundsourcem4a/soundsourcem4a.cpp @@ -178,8 +178,11 @@ inline long unsigned SoundSourceM4A::length(){ } Result SoundSourceM4A::parseHeader(){ +#ifdef _WIN32 + TagLib::MP4::File f(getFilename().toStdWString().data()); +#else TagLib::MP4::File f(getFilename().toLocal8Bit().constData()); - +#endif if (!readFileHeader(this, f)) { return ERR; } @@ -201,7 +204,11 @@ Result SoundSourceM4A::parseHeader(){ } QImage SoundSourceM4A::parseCoverArt() { +#ifdef _WIN32 + TagLib::MP4::File f(getFilename().toStdWString().data()); +#else TagLib::MP4::File f(getFilename().toLocal8Bit().constData()); +#endif TagLib::MP4::Tag *mp4(f.tag()); if (mp4) { return getCoverInMP4Tag(*mp4); diff --git a/plugins/soundsourcemediafoundation/soundsourcemediafoundation.cpp b/plugins/soundsourcemediafoundation/soundsourcemediafoundation.cpp index 2016ca406e..95f1767385 100644 --- a/plugins/soundsourcemediafoundation/soundsourcemediafoundation.cpp +++ b/plugins/soundsourcemediafoundation/soundsourcemediafoundation.cpp @@ -92,7 +92,6 @@ Result SoundSourceMediaFoundation::open() qDebug() << "open()" << getFilename(); } - QString qurlStr(getFilename()); int wcFilenameLength(getFilename().toWCharArray(m_wcFilename)); // toWCharArray does not append a null terminator to the string! m_wcFilename[wcFilenameLength] = '\0'; @@ -376,9 +375,7 @@ inline unsigned long SoundSourceMediaFoundation::length() Result SoundSourceMediaFoundation::parseHeader() { - // Must be toLocal8Bit since Windows fopen does not do UTF-8 - TagLib::MP4::File f(getFilename().toLocal8Bit().constData()); - + TagLib::MP4::File f(getFilename().toStdWString().data()); if (!readFileHeader(this, f)) { return ERR; } @@ -401,7 +398,7 @@ Result SoundSourceMediaFoundation::parseHeader() QImage SoundSourceMediaFoundation::parseCoverArt() { setType("m4a"); - TagLib::MP4::File f(getFilename().toLocal8Bit().constData()); + TagLib::MP4::File f(getFilename().toStdWString().data()); TagLib::MP4::Tag *mp4(f.tag()); if (mp4) { return Mixxx::getCoverInMP4Tag(*mp4); diff --git a/plugins/soundsourcewv/soundsourcewv.cpp b/plugins/soundsourcewv/soundsourcewv.cpp index 301e8ee088..de4700ac73 100644 --- a/plugins/soundsourcewv/soundsourcewv.cpp +++ b/plugins/soundsourcewv/soundsourcewv.cpp @@ -121,9 +121,11 @@ inline long unsigned SoundSourceWV::length(){ Result SoundSourceWV::parseHeader() { - const QByteArray qBAFilename(getFilename().toLocal8Bit()); - TagLib::WavPack::File f(qBAFilename.constData()); - +#ifdef _WIN32 + TagLib::WavPack::File f(getFilename().toStdWString().data()); +#else + TagLib::WavPack::File f(getFilename().toLocal8Bit().constData()); +#endif if (!readFileHeader(this, f)) { return ERR; } @@ -145,7 +147,11 @@ Result SoundSourceWV::parseHeader() { } QImage SoundSourceWV::parseCoverArt() { +#ifdef _WIN32 + TagLib::WavPack::File f(getFilename().toStdWString().data()); +#else TagLib::WavPack::File f(getFilename().toLocal8Bit().constData()); +#endif TagLib::APE::Tag *ape = f.APETag(); if (ape) { return Mixxx::getCoverInAPETag(*ape); |