#pragma once #include "miniaudio.h" #include #include class SampleReader { private: SampleReader(); public: //returns nullptr on error static SampleReader* createSampleReader(const std::string& filepath); ~SampleReader(); void setWidth(uint32_t w); float readSample(uint32_t pos); uint64_t getLength(); // length of the sample in ms private: ma_decoder decoder; uint32_t width = 1; uint64_t decoderSize = 0; uint32_t stepSize = 0; };