apply smoothing to input to mix volume
parent
73662713d3
commit
8b9b3bce44
12
src/jack.cxx
12
src/jack.cxx
|
@ -204,6 +204,7 @@ Jack::Jack( std::string name ) :
|
||||||
inputToSendEnable = false;
|
inputToSendEnable = false;
|
||||||
inputToKeyEnable = false;
|
inputToKeyEnable = false;
|
||||||
inputToMixVol = 0.f;
|
inputToMixVol = 0.f;
|
||||||
|
inputToMixVolLag = 0.f;
|
||||||
inputToSendVol = 0.f;
|
inputToSendVol = 0.f;
|
||||||
inputToXSideVol = 0.f;
|
inputToXSideVol = 0.f;
|
||||||
|
|
||||||
|
@ -536,6 +537,9 @@ void Jack::processFrames(int nframes)
|
||||||
|
|
||||||
/// mix input, reverb & post-sidechain in
|
/// mix input, reverb & post-sidechain in
|
||||||
for(unsigned int i = 0; i < nframes; i++) {
|
for(unsigned int i = 0; i < nframes; i++) {
|
||||||
|
// compute *lags für smoothing
|
||||||
|
inputToMixVolLag += SMOOTHING_CONST * (inputToMixVol - inputToMixVolLag);
|
||||||
|
|
||||||
float inputL = buffers.audio[Buffers::MASTER_INPUT_L][i] * inputVol;
|
float inputL = buffers.audio[Buffers::MASTER_INPUT_L][i] * inputVol;
|
||||||
float inputR = buffers.audio[Buffers::MASTER_INPUT_R][i] * inputVol;
|
float inputR = buffers.audio[Buffers::MASTER_INPUT_R][i] * inputVol;
|
||||||
|
|
||||||
|
@ -546,15 +550,15 @@ void Jack::processFrames(int nframes)
|
||||||
|
|
||||||
if ( inputToMixEnable ) {
|
if ( inputToMixEnable ) {
|
||||||
// if sending to mix, scale by volume *and* by XSide send
|
// if sending to mix, scale by volume *and* by XSide send
|
||||||
float tmpL = inputL * inputToMixVol * (1-inputToXSideVol);
|
float tmpL = inputL * inputToMixVolLag * (1-inputToXSideVol);
|
||||||
float tmpR = inputR * inputToMixVol * (1-inputToXSideVol);
|
float tmpR = inputR * inputToMixVolLag * (1-inputToXSideVol);
|
||||||
L += tmpL;
|
L += tmpL;
|
||||||
R += tmpR;
|
R += tmpR;
|
||||||
|
|
||||||
if ( inputToSendEnable ) {
|
if ( inputToSendEnable ) {
|
||||||
// post-mix-send amount: hence * inputToMixVol
|
// post-mix-send amount: hence * inputToMixVol
|
||||||
buffers.audio[Buffers::SEND_L][i] += inputL * inputToSendVol * inputToMixVol;
|
buffers.audio[Buffers::SEND_L][i] += inputL * inputToSendVol * inputToMixVolLag;
|
||||||
buffers.audio[Buffers::SEND_R][i] += inputR * inputToSendVol * inputToMixVol;
|
buffers.audio[Buffers::SEND_R][i] += inputR * inputToSendVol * inputToMixVolLag;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( inputToKeyEnable ) {
|
if ( inputToKeyEnable ) {
|
||||||
|
|
|
@ -138,7 +138,7 @@ public:
|
||||||
JackSendReturn *getJackSendReturn(int t);
|
JackSendReturn *getJackSendReturn(int t);
|
||||||
private:
|
private:
|
||||||
int lastnframes;
|
int lastnframes;
|
||||||
jack_client_t* client;
|
jack_client_t* client;
|
||||||
|
|
||||||
Buffers buffers;
|
Buffers buffers;
|
||||||
TimeManager* timeManager;
|
TimeManager* timeManager;
|
||||||
|
@ -166,6 +166,8 @@ private:
|
||||||
float returnVol;
|
float returnVol;
|
||||||
|
|
||||||
float inputToMixVol;
|
float inputToMixVol;
|
||||||
|
float inputToMixVolLag;
|
||||||
|
|
||||||
float inputToSendVol;
|
float inputToSendVol;
|
||||||
float inputToXSideVol;
|
float inputToXSideVol;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue