From fc43199c325f1d3e2aeb3b47ae25e24728a62282 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sun, 13 Oct 2019 21:23:27 +0200 Subject: [PATCH] [AFV] Ref T730, CPPCheck (e.g. virtual function call in ctor) --- src/blacksound/dsp/SimpleGate.h | 6 +++--- src/blacksound/dsp/SimpleLimit.cpp | 2 +- src/blacksound/dsp/SimpleLimit.h | 7 ++++++- src/blacksound/sampleprovider/simplecompressoreffect.cpp | 7 +++++++ src/blacksound/sampleprovider/simplecompressoreffect.h | 5 ++++- 5 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/blacksound/dsp/SimpleGate.h b/src/blacksound/dsp/SimpleGate.h index 4a0c23bd1..f73489207 100644 --- a/src/blacksound/dsp/SimpleGate.h +++ b/src/blacksound/dsp/SimpleGate.h @@ -79,10 +79,10 @@ namespace chunkware_simple SimpleGateRms(); //! Destructor - virtual ~SimpleGateRms() {} + virtual ~SimpleGateRms() override {} //! set sample rate - virtual void setSampleRate(double sampleRate); + virtual void setSampleRate(double sampleRate) override; //! set RMS window virtual void setWindow(double ms); @@ -91,7 +91,7 @@ namespace chunkware_simple virtual double getWindow(void) const { return ave_.getTc(); } //! call before runtime (in resume()) - virtual void initRuntime(void); + virtual void initRuntime(void) override; //! gate runtime process void process(double &in1, double &in2); diff --git a/src/blacksound/dsp/SimpleLimit.cpp b/src/blacksound/dsp/SimpleLimit.cpp index 67168bc7a..9cb05cc7c 100644 --- a/src/blacksound/dsp/SimpleLimit.cpp +++ b/src/blacksound/dsp/SimpleLimit.cpp @@ -58,7 +58,7 @@ namespace chunkware_simple } //------------------------------------------------------------- - void SimpleLimit::setAttack(double ms) + void SimpleLimit::setAttackImpl(double ms) { unsigned int samp = static_cast(0.001 * ms * att_.getSampleRate()); diff --git a/src/blacksound/dsp/SimpleLimit.h b/src/blacksound/dsp/SimpleLimit.h index 235364ecf..3792fb3e9 100644 --- a/src/blacksound/dsp/SimpleLimit.h +++ b/src/blacksound/dsp/SimpleLimit.h @@ -42,12 +42,15 @@ namespace chunkware_simple class SimpleLimit { public: + //! Ctor SimpleLimit(); + + //! Dtor virtual ~SimpleLimit() {} //! @{ set parameters virtual void setThresh(double dB); - virtual void setAttack(double ms); + virtual void setAttack(double ms) { this->setAttackImpl(ms); } // used in ctor virtual void setRelease(double ms); //! @} @@ -88,6 +91,8 @@ namespace chunkware_simple }; private: + //! Impl. function as it is used in ctor, non virtual + void setAttackImpl(double ms); // transfer function double threshdB_; // threshold (dB) diff --git a/src/blacksound/sampleprovider/simplecompressoreffect.cpp b/src/blacksound/sampleprovider/simplecompressoreffect.cpp index 89ea857d2..e9ce8d835 100644 --- a/src/blacksound/sampleprovider/simplecompressoreffect.cpp +++ b/src/blacksound/sampleprovider/simplecompressoreffect.cpp @@ -61,5 +61,12 @@ namespace BlackSound { m_simpleCompressor.setMakeUpGain(gain); } + + void CSimpleCompressorEffect::setChannels(int channels) + { + if (channels < 1) { channels = 1; } + else if (channels > 2) { channels = 2; } + m_channels = channels; + } } } diff --git a/src/blacksound/sampleprovider/simplecompressoreffect.h b/src/blacksound/sampleprovider/simplecompressoreffect.h index c025e7302..9dd1d3cae 100644 --- a/src/blacksound/sampleprovider/simplecompressoreffect.h +++ b/src/blacksound/sampleprovider/simplecompressoreffect.h @@ -40,11 +40,14 @@ namespace BlackSound //! Set gain void setMakeUpGain(double gain); + //! Set channels 1 or 2 + void setChannels(int channels); + private: QTimer *m_timer = nullptr; ISampleProvider *m_sourceStream = nullptr; bool m_enabled = true; - const int m_channels = 1; + int m_channels = 1; chunkware_simple::SimpleComp m_simpleCompressor; }; } // ns