From 8f1d668ddad1bd2c44932b93853282b4eec9eba4 Mon Sep 17 00:00:00 2001 From: "Matthias P. Braendli" Date: Fri, 18 Sep 2015 11:29:57 +0200 Subject: Keep digital gain across modulator restarts --- src/DabModulator.cpp | 2 +- src/DabModulator.h | 10 +++++----- src/GainControl.cpp | 6 +++--- src/GainControl.h | 8 ++++---- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/DabModulator.cpp b/src/DabModulator.cpp index 539de09..dbd3528 100644 --- a/src/DabModulator.cpp +++ b/src/DabModulator.cpp @@ -60,7 +60,7 @@ DabModulator::DabModulator( const tii_config_t& tiiConfig, unsigned outputRate, unsigned clockRate, unsigned dabMode, GainMode gainMode, - float digGain, float normalise, + float& digGain, float normalise, std::string filterTapsFilename ) : ModCodec(ModFormat(1), ModFormat(0)), diff --git a/src/DabModulator.h b/src/DabModulator.h index f212ecf..2552f50 100644 --- a/src/DabModulator.h +++ b/src/DabModulator.h @@ -53,10 +53,10 @@ public: double& tist_offset_s, unsigned tist_delay_stages, RemoteControllers* rcs, const tii_config_t& tiiConfig, - unsigned outputRate = 2048000, unsigned clockRate = 0, - unsigned dabMode = 0, GainMode gainMode = GAIN_VAR, - float digGain = 1.0, float normalise = 1.0, - std::string filterTapsFilename = ""); + unsigned outputRate, unsigned clockRate, + unsigned dabMode, GainMode gainMode, + float& digGain, float normalise, + std::string filterTapsFilename); DabModulator(const DabModulator& other) = delete; DabModulator& operator=(const DabModulator& other) = delete; virtual ~DabModulator(); @@ -74,7 +74,7 @@ protected: unsigned myClockRate; unsigned myDabMode; GainMode myGainMode; - float myDigGain; + float& myDigGain; float myNormalise; EtiReader myEtiReader; Flowgraph* myFlowgraph; diff --git a/src/GainControl.cpp b/src/GainControl.cpp index 03d8aa6..ee912bb 100644 --- a/src/GainControl.cpp +++ b/src/GainControl.cpp @@ -45,9 +45,9 @@ using namespace std; GainControl::GainControl(size_t framesize, - GainMode mode, - float digGain, - float normalise) : + GainMode mode, + float& digGain, + float normalise) : ModCodec(ModFormat(framesize * sizeof(complexf)), ModFormat(framesize * sizeof(complexf))), RemoteControllable("gain"), diff --git a/src/GainControl.h b/src/GainControl.h index 00379b8..3340215 100644 --- a/src/GainControl.h +++ b/src/GainControl.h @@ -51,9 +51,9 @@ class GainControl : public ModCodec, public RemoteControllable { public: GainControl(size_t framesize, - GainMode mode = GAIN_VAR, - float digGain = 1.0f, - float normalise = 1.0f); + GainMode mode, + float& digGain, + float normalise); virtual ~GainControl(); GainControl(const GainControl&); @@ -72,7 +72,7 @@ class GainControl : public ModCodec, public RemoteControllable protected: size_t d_frameSize; - float d_digGain; + float& d_digGain; float d_normalise; #ifdef __SSE__ __m128 (*computeGain)(const __m128* in, size_t sizeIn); -- cgit v1.2.3