From c638b01ff0e513f22246ba048c9e0375d29c8867 Mon Sep 17 00:00:00 2001 From: Edouard DUPIN Date: Thu, 28 Apr 2016 23:46:12 +0200 Subject: [PATCH] [DEV] update to ne new ejson API (remove helper) --- audio/drain/Equalizer.cpp | 44 +++++++++++++++++++-------------------- audio/drain/Equalizer.h | 4 ++-- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/audio/drain/Equalizer.cpp b/audio/drain/Equalizer.cpp index 2f97538..0b4a372 100644 --- a/audio/drain/Equalizer.cpp +++ b/audio/drain/Equalizer.cpp @@ -55,7 +55,7 @@ bool audio::drain::Equalizer::process(audio::Time& _time, bool audio::drain::Equalizer::setParameter(const std::string& _parameter, const std::string& _value) { //DRAIN_WARNING("set : " << _parameter << " " << _value); if (_parameter == "config") { - m_config = ejson::Object::create(_value); + m_config = ejson::Object(_value); configureBiQuad(); } else if (_parameter == "reset") { // TODO : m_algo.reset(); @@ -72,15 +72,15 @@ std::string audio::drain::Equalizer::getParameterProperty(const std::string& _pa return "error"; } -void audio::drain::Equalizer::addBiquad(int32_t _idBiquad, const std::shared_ptr& _object) { +void audio::drain::Equalizer::addBiquad(int32_t _idBiquad, const ejson::Object& _object) { // get type: - std::string typeString = _object->getStringValue("type", "none"); + std::string typeString = _object["type"].toString().get("none"); if (typeString == "direct-value") { - double a0 = _object->getNumberValue("a0", 0.0); - double a1 = _object->getNumberValue("a1", 0.0); - double a2 = _object->getNumberValue("a2", 0.0); - double b0 = _object->getNumberValue("b0", 0.0); - double b1 = _object->getNumberValue("b1", 0.0); + double a0 = _object["a0"].toNumber().get(0.0); + double a1 = _object["a1"].toNumber().get(0.0); + double a2 = _object["a2"].toNumber().get(0.0); + double b0 = _object["b0"].toNumber().get(0.0); + double b1 = _object["b1"].toNumber().get(0.0); if (_idBiquad < 0) { m_algo.addBiquad(a0, a1, a2, b0, b1); } else { @@ -91,9 +91,9 @@ void audio::drain::Equalizer::addBiquad(int32_t _idBiquad, const std::shared_ptr if (etk::from_string(type, typeString) == false) { DRAIN_ERROR("Can not parse equalizer type:'" << typeString << "'"); } - double gain = _object->getNumberValue("gain", 0.0); - double frequency = _object->getNumberValue("cut-frequency", 0.0); - double quality = _object->getNumberValue("quality", 0.0); + double gain = _object["gain"].toNumber().get(0.0); + double frequency = _object["cut-frequency"].toNumber().get(0.0); + double quality = _object["quality"].toNumber().get(0.0); if (_idBiquad < 0) { m_algo.addBiquad(type, frequency, quality, gain); } else { @@ -106,16 +106,16 @@ void audio::drain::Equalizer::configureBiQuad() { m_algo.init(getOutputFormat().getFrequency(), getOutputFormat().getMap().size(), getOutputFormat().getFormat()); - if (m_config == nullptr) { + if (m_config.exist() == false) { return; } // check for a global config: - const std::shared_ptr global = m_config->getArray("global"); - if (global != nullptr) { + const ejson::Array global = m_config["global"].toArray(); + if (global.exist() == true) { // only global configuration get all elements: - for (size_t kkk=0; kkksize(); ++kkk) { - const std::shared_ptr tmpObject = global->getObject(kkk); - if (tmpObject == nullptr) { + for (size_t kkk=0; kkk channelConfig = m_config->getArray(channelName); - if (channelConfig == nullptr) { + const ejson::Array channelConfig = m_config[channelName].toArray(); + if (channelConfig.exist() == false) { // no config ... not a problem ... continue; } // only global configuration get all elements: - for (size_t kkk=0; kkksize(); ++kkk) { - const std::shared_ptr tmpObject = channelConfig->getObject(kkk); - if (tmpObject == nullptr) { + for (size_t kkk=0; kkk m_config; // configuration of the equalizer. + ejson::Object m_config; // configuration of the equalizer. public: virtual bool setParameter(const std::string& _parameter, const std::string& _value); virtual std::string getParameter(const std::string& _parameter) const; virtual std::string getParameterProperty(const std::string& _parameter) const; protected: - void addBiquad(int32_t _idBiquad, const std::shared_ptr& _object); + void addBiquad(int32_t _idBiquad, const ejson::Object& _object); audio::algo::drain::Equalizer m_algo; /** * @brief Configure biquad with the user spec.