diff options
author | Daniel Schürmann <daschuer@mixxx.org> | 2015-10-13 22:36:12 +0200 |
---|---|---|
committer | Daniel Schürmann <daschuer@mixxx.org> | 2015-10-13 22:36:12 +0200 |
commit | f1ce9112e15e7c73f720d74b8b6cb58ef3e11079 (patch) | |
tree | 1f10a009aa99c5fee28a9cda7d117fc0f872356a /plugins | |
parent | 664978bf7fcf1297371f464380f995746b905c53 (diff) |
Introduce TAGLIB_FILENAME_FROM_QSTRING, and try to bypass all wchat_t calls to make windows build working again.
Diffstat (limited to 'plugins')
4 files changed, 14 insertions, 32 deletions
diff --git a/plugins/soundsourcem4a/soundsourcem4a.cpp b/plugins/soundsourcem4a/soundsourcem4a.cpp index 10d9a9958b..8a0a2ca45f 100644 --- a/plugins/soundsourcem4a/soundsourcem4a.cpp +++ b/plugins/soundsourcem4a/soundsourcem4a.cpp @@ -181,11 +181,7 @@ inline long unsigned SoundSourceM4A::length(){ } Result SoundSourceM4A::parseHeader(){ -#ifdef _WIN32 - TagLib::MP4::File f(getFilename().toStdWString().c_str()); -#else - TagLib::MP4::File f(getFilename().toLocal8Bit().constData()); -#endif + TagLib::MP4::File f(TAGLIB_FILENAME_FROM_QSTRING(getFilename())); if (!readFileHeader(this, f)) { return ERR; } @@ -207,11 +203,7 @@ Result SoundSourceM4A::parseHeader(){ } QImage SoundSourceM4A::parseCoverArt() { -#ifdef _WIN32 - TagLib::MP4::File f(getFilename().toStdWString().c_str()); -#else - TagLib::MP4::File f(getFilename().toLocal8Bit().constData()); -#endif + TagLib::MP4::File f(TAGLIB_FILENAME_FROM_QSTRING(getFilename())); TagLib::MP4::Tag *mp4(f.tag()); if (mp4) { return getCoverInMP4Tag(*mp4); diff --git a/plugins/soundsourcemediafoundation/soundsourcemediafoundation.cpp b/plugins/soundsourcemediafoundation/soundsourcemediafoundation.cpp index da95876f84..303cd1f9e1 100644 --- a/plugins/soundsourcemediafoundation/soundsourcemediafoundation.cpp +++ b/plugins/soundsourcemediafoundation/soundsourcemediafoundation.cpp @@ -86,16 +86,11 @@ SoundSourceMediaFoundation::~SoundSourceMediaFoundation() CoUninitialize(); } -Result SoundSourceMediaFoundation::open() -{ +Result SoundSourceMediaFoundation::open() { if (sDebug) { qDebug() << "open()" << getFilename(); } - int wcFilenameLength(getFilename().toWCharArray(m_wcFilename)); - // toWCharArray does not append a null terminator to the string! - m_wcFilename[wcFilenameLength] = '\0'; - HRESULT hr(S_OK); // Initialize the COM library. hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE); @@ -112,7 +107,13 @@ Result SoundSourceMediaFoundation::open() } // Create the source reader to read the input file. - hr = MFCreateSourceReaderFromURL(m_wcFilename, NULL, &m_pReader); + hr = MFCreateSourceReaderFromURL( + ((sizeof(wchar_t) == sizeof(QChar)) ? + (const wchar_t*)getFilename().utf16() : + getFilename().toStdWString().c_str()), + NULL, + &m_pReader); + if (FAILED(hr)) { qWarning() << "SSMF: Error opening input file:" << getFilename(); return ERR; @@ -375,7 +376,7 @@ inline unsigned long SoundSourceMediaFoundation::length() Result SoundSourceMediaFoundation::parseHeader() { - TagLib::MP4::File f(getFilename().toStdWString().c_str()); + TagLib::MP4::File f(TAGLIB_FILENAME_FROM_QSTRING(getFilename())); if (!readFileHeader(this, f)) { return ERR; } diff --git a/plugins/soundsourcemediafoundation/soundsourcemediafoundation.h b/plugins/soundsourcemediafoundation/soundsourcemediafoundation.h index 96794568f7..6a1c4474d8 100644 --- a/plugins/soundsourcemediafoundation/soundsourcemediafoundation.h +++ b/plugins/soundsourcemediafoundation/soundsourcemediafoundation.h @@ -60,7 +60,6 @@ class SoundSourceMediaFoundation : public Mixxx::SoundSource { static inline qint64 mfFromFrame(qint64 frame); IMFSourceReader *m_pReader; IMFMediaType *m_pAudioType; - wchar_t *m_wcFilename; int m_nextFrame; qint16 *m_leftoverBuffer; size_t m_leftoverBufferSize; diff --git a/plugins/soundsourcewv/soundsourcewv.cpp b/plugins/soundsourcewv/soundsourcewv.cpp index 3d0107356f..424d5465cd 100644 --- a/plugins/soundsourcewv/soundsourcewv.cpp +++ b/plugins/soundsourcewv/soundsourcewv.cpp @@ -60,9 +60,7 @@ QList<QString> SoundSourceWV::supportedFileExtensions() } -Result SoundSourceWV::open() -{ - QByteArray qBAFilename(getFilename().toLocal8Bit()); +Result SoundSourceWV::open() { char msg[80]; // hold possible error message // We use WavpackOpenFileInputEx to support Unicode paths on windows @@ -160,11 +158,7 @@ inline long unsigned SoundSourceWV::length(){ Result SoundSourceWV::parseHeader() { -#ifdef _WIN32 - TagLib::WavPack::File f(getFilename().toStdWString().c_str()); -#else - TagLib::WavPack::File f(getFilename().toLocal8Bit().constData()); -#endif + TagLib::WavPack::File f(TAGLIB_FILENAME_FROM_QSTRING(getFilename())); if (!readFileHeader(this, f)) { return ERR; } @@ -186,11 +180,7 @@ Result SoundSourceWV::parseHeader() { } QImage SoundSourceWV::parseCoverArt() { -#ifdef _WIN32 - TagLib::WavPack::File f(getFilename().toStdWString().c_str()); -#else - TagLib::WavPack::File f(getFilename().toLocal8Bit().constData()); -#endif + TagLib::WavPack::File f(TAGLIB_FILENAME_FROM_QSTRING(getFilename())); TagLib::APE::Tag *ape = f.APETag(); if (ape) { return Mixxx::getCoverInAPETag(*ape); |