Mercurial > hg > svcore
diff data/fileio/AudioFileReaderFactory.cpp @ 327:1d656dcda8ef
* some tweaks to improve usability of these classes in a console application
author | Chris Cannam |
---|---|
date | Fri, 02 Nov 2007 16:50:31 +0000 |
parents | c324d410b096 |
children | e6d11871e4c9 |
line wrap: on
line diff
--- a/data/fileio/AudioFileReaderFactory.cpp Thu Nov 01 16:02:01 2007 +0000 +++ b/data/fileio/AudioFileReaderFactory.cpp Fri Nov 02 16:50:31 2007 +0000 @@ -56,9 +56,21 @@ AudioFileReader * AudioFileReaderFactory::createReader(FileSource source, size_t targetRate) { + return create(source, targetRate, false); +} + +AudioFileReader * +AudioFileReaderFactory::createThreadingReader(FileSource source, size_t targetRate) +{ + return create(source, targetRate, true); +} + +AudioFileReader * +AudioFileReaderFactory::create(FileSource source, size_t targetRate, bool threading) +{ QString err; - std::cerr << "AudioFileReaderFactory::createReader(\"" << source.getLocation().toStdString() << "\"): Requested rate: " << targetRate << std::endl; +// std::cerr << "AudioFileReaderFactory::createReader(\"" << source.getLocation().toStdString() << "\"): Requested rate: " << targetRate << std::endl; if (!source.isOK() || !source.isAvailable()) { std::cerr << "AudioFileReaderFactory::createReader(\"" << source.getLocation().toStdString() << "\": Source unavailable" << std::endl; @@ -83,7 +95,9 @@ delete reader; reader = new ResamplingWavFileReader (source, - ResamplingWavFileReader::ResampleThreaded, + threading ? + ResamplingWavFileReader::ResampleThreaded : + ResamplingWavFileReader::ResampleAtOnce, ResamplingWavFileReader::CacheInTemporaryFile, targetRate); } @@ -95,7 +109,9 @@ if (OggVorbisFileReader::supports(source)) { reader = new OggVorbisFileReader (source, - OggVorbisFileReader::DecodeThreaded, + threading ? + OggVorbisFileReader::DecodeThreaded : + OggVorbisFileReader::DecodeAtOnce, OggVorbisFileReader::CacheInTemporaryFile, targetRate); } @@ -108,7 +124,9 @@ if (MP3FileReader::supports(source)) { reader = new MP3FileReader (source, - MP3FileReader::DecodeThreaded, + threading ? + MP3FileReader::DecodeThreaded : + MP3FileReader::DecodeAtOnce, MP3FileReader::CacheInTemporaryFile, targetRate); } @@ -120,7 +138,9 @@ if (QuickTimeFileReader::supports(source)) { reader = new QuickTimeFileReader (source, - QuickTimeFileReader::DecodeThreaded, + threading ? + QuickTimeFileReader::DecodeThreaded : + QuickTimeFileReader::DecodeAtOnce, QuickTimeFileReader::CacheInTemporaryFile, targetRate); } @@ -129,7 +149,7 @@ if (reader) { if (reader->isOK()) { - std::cerr << "AudioFileReaderFactory: Reader is OK" << std::endl; +// std::cerr << "AudioFileReaderFactory: Reader is OK" << std::endl; return reader; } std::cerr << "AudioFileReaderFactory: Preferred reader for "