2018-07-13 20:59:05 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "AudioClip.h"
|
2021-06-18 20:00:01 +00:00
|
|
|
#include <filesystem>
|
2018-07-13 20:59:05 +00:00
|
|
|
|
|
|
|
class OggVorbisFileReader : public AudioClip {
|
|
|
|
public:
|
2021-06-18 20:00:01 +00:00
|
|
|
OggVorbisFileReader(const std::filesystem::path& filePath);
|
2018-07-13 20:59:05 +00:00
|
|
|
std::unique_ptr<AudioClip> clone() const override;
|
|
|
|
int getSampleRate() const override { return sampleRate; }
|
|
|
|
size_type size() const override { return sampleCount; }
|
|
|
|
|
|
|
|
private:
|
|
|
|
SampleReader createUnsafeSampleReader() const override;
|
|
|
|
|
2021-06-18 20:00:01 +00:00
|
|
|
std::filesystem::path filePath;
|
2018-07-13 20:59:05 +00:00
|
|
|
int sampleRate;
|
|
|
|
int channelCount;
|
|
|
|
size_type sampleCount;
|
|
|
|
};
|