From 9a9dd654af3133d6897459ddb073fbf5d9cdfdc1 Mon Sep 17 00:00:00 2001 From: falkTX Date: Tue, 8 Feb 2022 05:11:12 +0000 Subject: [PATCH] Fix host audio left/mono mode Signed-off-by: falkTX --- plugins/Cardinal/src/HostAudio.cpp | 44 ++++++++++++++++++++---------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/plugins/Cardinal/src/HostAudio.cpp b/plugins/Cardinal/src/HostAudio.cpp index 6bf4f71..4012d03 100644 --- a/plugins/Cardinal/src/HostAudio.cpp +++ b/plugins/Cardinal/src/HostAudio.cpp @@ -111,26 +111,40 @@ struct HostAudio : TerminalModule { const int k = dataFrame++; DISTRHO_SAFE_ASSERT_INT2_RETURN(k < blockFrames, k, blockFrames,); + if (isBypassed()) + return; + float** const dataOuts = pcontext->dataOuts; - // from cardinal into host, shows as input plug - if (! isBypassed()) + // stereo version gain + const float gain = numParams != 0 ? std::pow(params[0].getValue(), 2.f) : 1.0f; + + // read first value, special case for mono mode + float valueL = inputs[0].getVoltage() * 0.1f; + + // Apply DC filter + if (dcFilterEnabled) { - const float gain = numParams != 0 ? std::pow(params[0].getValue(), 2.f) : 1.0f; + dcFilters[0].process(valueL); + valueL = dcFilters[0].highpass(); + } - for (int i=0; i