Mercurial > hg > svcore
diff data/fileio/CodedAudioFileReader.cpp @ 1359:1c9bbbb6116a 3.0-integration
Use W64 instead of WAV for decoded files; use Ogg reader in preference to WAV one for Ogg files (WAV reader works, via libsndfile, but doesn't load metadata); fix Ogg reader to use QFile open instead of non-Win32-compatible API; add more encoder tests, audio writer test, midi reader test
author | Chris Cannam |
---|---|
date | Tue, 10 Jan 2017 10:58:25 +0000 |
parents | 97deefd38060 |
children | 49b43306778b |
line wrap: on
line diff
--- a/data/fileio/CodedAudioFileReader.cpp Mon Jan 09 18:51:42 2017 +0000 +++ b/data/fileio/CodedAudioFileReader.cpp Tue Jan 10 10:58:25 2017 +0000 @@ -164,7 +164,7 @@ try { QDir dir(TempDirectory::getInstance()->getPath()); - m_cacheFileName = dir.filePath(QString("decoded_%1.wav") + m_cacheFileName = dir.filePath(QString("decoded_%1.w64") .arg((intptr_t)this)); SF_INFO fileInfo; @@ -196,10 +196,15 @@ // tests.) // // So: now we write floats. - fileInfo.format = SF_FORMAT_WAV | SF_FORMAT_FLOAT; - - m_cacheFileWritePtr = sf_open(m_cacheFileName.toLocal8Bit(), - SFM_WRITE, &fileInfo); + fileInfo.format = SF_FORMAT_W64 | SF_FORMAT_FLOAT; + +#ifdef Q_OS_WIN + m_cacheFileWritePtr = sf_wchar_open + ((LPCWSTR)m_cacheFileName.utf16(), SFM_WRITE, &m_fileInfo); +#else + m_cacheFileWritePtr = sf_open + (m_cacheFileName.toLocal8Bit(), SFM_WRITE, &fileInfo); +#endif if (m_cacheFileWritePtr) {