[DEV] update equalizer

This commit is contained in:
Edouard DUPIN 2015-05-04 22:25:32 +02:00
parent e3e048f68a
commit fd8d7ab7e8
2 changed files with 22 additions and 0 deletions

View File

@ -36,6 +36,10 @@ namespace audio {
} }
public: public:
/**
* @brief Reset all history of the Algo.
*/
virtual void reset() = 0;
/** /**
* @brief Initialize the Algorithm * @brief Initialize the Algorithm
* @param[in] _sampleRate Sample rate of the stream. * @param[in] _sampleRate Sample rate of the stream.
@ -87,6 +91,13 @@ namespace audio {
*/ */
virtual ~EqualizerPrivateType() { virtual ~EqualizerPrivateType() {
}
virtual void reset() {
for (size_t jjj=0; jjj<m_biquads.size(); ++jjj) {
for (size_t iii=0; iii<m_biquads[jjj].size(); ++iii) {
m_biquads[jjj][iii].reset();
}
}
} }
virtual void init(float _sampleRate=48000, int8_t _nbChannel=2) { virtual void init(float _sampleRate=48000, int8_t _nbChannel=2) {
audio::algo::drain::EqualizerPrivate::init(_sampleRate, _nbChannel); audio::algo::drain::EqualizerPrivate::init(_sampleRate, _nbChannel);
@ -274,6 +285,13 @@ void audio::algo::drain::Equalizer::init(float _sampleRate, int8_t _nbChannel, e
break; break;
} }
} }
void audio::algo::drain::Equalizer::reset() {
if (m_private == nullptr) {
AA_DRAIN_ERROR("Equalizer does not init ...");
return;
}
m_private->reset();
}
std::vector<enum audio::format> audio::algo::drain::Equalizer::getSupportedFormat() { std::vector<enum audio::format> audio::algo::drain::Equalizer::getSupportedFormat() {
std::vector<enum audio::format> out = audio::algo::drain::Equalizer::getNativeSupportedFormat(); std::vector<enum audio::format> out = audio::algo::drain::Equalizer::getNativeSupportedFormat();

View File

@ -28,6 +28,10 @@ namespace audio {
*/ */
virtual ~Equalizer(); virtual ~Equalizer();
public: public:
/**
* @brief Reset all history of the Algo.
*/
void reset();
/** /**
* @brief Initialize the Algorithm * @brief Initialize the Algorithm
* @param[in] _sampleRate Sample rate of the stream. * @param[in] _sampleRate Sample rate of the stream.