diff --git a/daemon/src/audio/audioloop.cpp b/daemon/src/audio/audioloop.cpp index eb484138a55420ef23801923d31141a3be426510..1fb1cf573077e4a2bdbaa770570fa7b421f78ad0 100644 --- a/daemon/src/audio/audioloop.cpp +++ b/daemon/src/audio/audioloop.cpp @@ -41,7 +41,7 @@ #include <cassert> #include "logger.h" -AudioLoop::AudioLoop() : buffer_(0), size_(0), pos_(0), sampleRate_(0), isRecording_(false) +AudioLoop::AudioLoop(unsigned int sampleRate) : buffer_(0), size_(0), pos_(0), sampleRate_(sampleRate), isRecording_(false) {} AudioLoop::~AudioLoop() diff --git a/daemon/src/audio/audioloop.h b/daemon/src/audio/audioloop.h index 8bf19e891a0e03e6fa84249b7ed13c92a38e6fb9..22096ebf8a59b825f349645e1100f02fd1836549 100644 --- a/daemon/src/audio/audioloop.h +++ b/daemon/src/audio/audioloop.h @@ -44,7 +44,7 @@ class AudioLoop { public: - AudioLoop(); + AudioLoop(unsigned int sampleRate); virtual ~AudioLoop(); diff --git a/daemon/src/audio/sound/audiofile.cpp b/daemon/src/audio/sound/audiofile.cpp index 6678c7475196e91dd58d0473fdc213059ea874f0..62425d3e711eacb1f675912884635c900b4a8dc0 100644 --- a/daemon/src/audio/sound/audiofile.cpp +++ b/daemon/src/audio/sound/audiofile.cpp @@ -43,7 +43,7 @@ #include "logger.h" RawFile::RawFile(const std::string& name, sfl::AudioCodec *codec, unsigned int sampleRate) - : AudioFile(name), audioCodec_(codec) + : AudioFile(name, sampleRate), audioCodec_(codec) { if (filepath_.empty()) throw AudioFileException("Unable to open audio file: filename is empty"); @@ -109,7 +109,7 @@ RawFile::RawFile(const std::string& name, sfl::AudioCodec *codec, unsigned int s } -WaveFile::WaveFile(const std::string &fileName, int newRate) : AudioFile(fileName) +WaveFile::WaveFile(const std::string &fileName, int sampleRate) : AudioFile(fileName, sampleRate) { const std::fstream fs(fileName.c_str(), std::ios_base::in); diff --git a/daemon/src/audio/sound/audiofile.h b/daemon/src/audio/sound/audiofile.h index a914f1cbc4f633b35406aae2827752eb125b8da0..0b7bbdfa7952424863dd0ea630a68aa5cc4c6064 100644 --- a/daemon/src/audio/sound/audiofile.h +++ b/daemon/src/audio/sound/audiofile.h @@ -52,7 +52,9 @@ class AudioFileException : public std::runtime_error { */ class AudioFile : public AudioLoop { public: - AudioFile(const std::string &filepath) : filepath_(filepath) {} + AudioFile(const std::string &filepath, unsigned int sampleRate) : AudioLoop(sampleRate), filepath_(filepath) + {} + std::string getFilePath() const { return filepath_; } @@ -80,10 +82,10 @@ class WaveFile : public AudioFile { public: /** * Load a sound file in memory - * @param filename The absolute path to the file - * @param sampleRate The sample rate to read it + * @param filename The absolute path to the file + * @param sampleRate The sample rate to read it */ - WaveFile(const std::string&, int); + WaveFile(const std::string&, unsigned int sampleRate); }; #endif // __AUDIOFILE_H__ diff --git a/daemon/src/audio/sound/tone.cpp b/daemon/src/audio/sound/tone.cpp index 8a3eee76bf0eee2245c7ba899d721209abc15146..49d09766a510d32a0cdd31538c260a361d6a319e 100644 --- a/daemon/src/audio/sound/tone.cpp +++ b/daemon/src/audio/sound/tone.cpp @@ -44,7 +44,7 @@ #include <vector> Tone::Tone(const std::string& definition, unsigned int sampleRate) : - sampleRate_(sampleRate), xhigher_(0.0), xlower_(0.0) + AudioLoop(sampleRate), xhigher_(0.0), xlower_(0.0) { fillWavetable(); genBuffer(definition); // allocate memory with definition parameter diff --git a/daemon/src/audio/sound/tone.h b/daemon/src/audio/sound/tone.h index 55422bd0f508a76d26f209a639f5a785abf54614..f3c048fd030c478ab4a3b994125e202cf075970c 100644 --- a/daemon/src/audio/sound/tone.h +++ b/daemon/src/audio/sound/tone.h @@ -83,9 +83,6 @@ class Tone : public AudioLoop { */ void genBuffer(const std::string& definition); - /** Sample rate */ - unsigned int sampleRate_; - static const int TABLE_LENGTH = 4096; double wavetable_[TABLE_LENGTH];