From eff6d2a8244aef8c739972aced4fcef19837a2bd Mon Sep 17 00:00:00 2001 From: Georg Krause Date: Mon, 9 Jul 2018 11:30:47 +0200 Subject: [PATCH] apply smoothing to Postfader Sends (Snd-Button) --- src/trackoutput.cxx | 16 ++++++++++------ src/trackoutput.hxx | 2 ++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/trackoutput.cxx b/src/trackoutput.cxx index b026a99..fd925a3 100644 --- a/src/trackoutput.cxx +++ b/src/trackoutput.cxx @@ -51,6 +51,8 @@ TrackOutput::TrackOutput(int t, AudioProcessor* ap) : _toPostSidechainLag = 0.0; _toPostfaderActive = 0; + _toPostfaderActiveLag = 0; + _toKeyActive = 0; _toXSideActive = true; } @@ -185,7 +187,10 @@ void TrackOutput::process(unsigned int nframes, Buffers* buffers) // compute sidechain signal lag _toPostSidechainLag += SMOOTHING_CONST * (_toPostSidechain - _toPostSidechainLag); - + + // compute discrete lag values + _toPostfaderActiveLag += SMOOTHING_CONST * (float(_toPostfaderActive) - _toPostfaderActiveLag); + // * master for "post-fader" sends float tmpL = trackBufferL[i]; float tmpR = trackBufferR[i]; @@ -197,11 +202,10 @@ void TrackOutput::process(unsigned int nframes, Buffers* buffers) jackoutputL[i] = tmpL * _toMasterLag * (1-_toPostSidechainLag); if(jackoutputR) jackoutputR[i] = tmpR * _toMasterLag * (1-_toPostSidechainLag); - if ( _toPostfaderActive ) { - sendL[i] += tmpL * _toSendLag * _toMasterLag; - sendR[i] += tmpR * _toSendLag * _toMasterLag; - } - + + sendL[i] += tmpL * _toSendLag * _toMasterLag * _toPostfaderActiveLag; + sendR[i] += tmpR * _toSendLag * _toMasterLag * _toPostfaderActiveLag; + if ( _toXSideActive ) { postSidechainL[i] += tmpL * _toPostSidechainLag * _toMasterLag; postSidechainR[i] += tmpR * _toPostSidechainLag * _toMasterLag; diff --git a/src/trackoutput.hxx b/src/trackoutput.hxx index 1ed2ebe..25b29ec 100644 --- a/src/trackoutput.hxx +++ b/src/trackoutput.hxx @@ -80,6 +80,8 @@ private: float _toPostSidechainLag; bool _toPostfaderActive; + float _toPostfaderActiveLag; + bool _toKeyActive; bool _toXSideActive;