|
|
|
@ -26,6 +26,7 @@ |
|
|
|
|
|
|
|
|
|
|
|
#include "WavImporter.h" |
|
|
|
#include "WavImporter.h" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#include <Corrade/Utility/Algorithms.h> |
|
|
|
#include <Corrade/Utility/Assert.h> |
|
|
|
#include <Corrade/Utility/Assert.h> |
|
|
|
#include <Corrade/Utility/Debug.h> |
|
|
|
#include <Corrade/Utility/Debug.h> |
|
|
|
#include <Corrade/Utility/EndiannessBatch.h> |
|
|
|
#include <Corrade/Utility/EndiannessBatch.h> |
|
|
|
@ -221,9 +222,8 @@ void WavImporter::doOpenData(Containers::ArrayView<const char> data) { |
|
|
|
_frequency = formatChunk->sampleRate; |
|
|
|
_frequency = formatChunk->sampleRate; |
|
|
|
|
|
|
|
|
|
|
|
/* Copy the data */ |
|
|
|
/* Copy the data */ |
|
|
|
const char* dataChunkPtr = reinterpret_cast<const char*>(dataChunk + 1); |
|
|
|
_data = Containers::Array<char>{NoInit, dataChunkSize}; |
|
|
|
_data = Containers::Array<char>(dataChunkSize); |
|
|
|
Utility::copy(Containers::arrayView(reinterpret_cast<const char*>(dataChunk + 1), dataChunkSize), *_data); |
|
|
|
std::copy(dataChunkPtr, dataChunkPtr+dataChunkSize, _data->begin()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Fix the data endianness */ |
|
|
|
/* Fix the data endianness */ |
|
|
|
if(hasBigEndianData != Utility::Endianness::isBigEndian()) { |
|
|
|
if(hasBigEndianData != Utility::Endianness::isBigEndian()) { |
|
|
|
@ -244,8 +244,8 @@ BufferFormat WavImporter::doFormat() const { return _format; } |
|
|
|
UnsignedInt WavImporter::doFrequency() const { return _frequency; } |
|
|
|
UnsignedInt WavImporter::doFrequency() const { return _frequency; } |
|
|
|
|
|
|
|
|
|
|
|
Containers::Array<char> WavImporter::doData() { |
|
|
|
Containers::Array<char> WavImporter::doData() { |
|
|
|
Containers::Array<char> copy(_data->size()); |
|
|
|
Containers::Array<char> copy{NoInit, _data->size()}; |
|
|
|
std::copy(_data->begin(), _data->end(), copy.begin()); |
|
|
|
Utility::copy(*_data, copy); |
|
|
|
return copy; |
|
|
|
return copy; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|