From f80c2aec52c698d10392e13cd78d36731d04e4a4 Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 14 Dec 2022 11:40:31 +0000 Subject: Fix inline processing Signed-off-by: falkTX --- plugins/ZamHeadX2/ZamHeadX2Plugin.cpp | 12 ++++++++---- plugins/ZamVerb/ZamVerbPlugin.cpp | 12 ++++++++---- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/plugins/ZamHeadX2/ZamHeadX2Plugin.cpp b/plugins/ZamHeadX2/ZamHeadX2Plugin.cpp index 1acf7bd..3685e7e 100644 --- a/plugins/ZamHeadX2/ZamHeadX2Plugin.cpp +++ b/plugins/ZamHeadX2/ZamHeadX2Plugin.cpp @@ -212,8 +212,10 @@ void ZamHeadX2Plugin::run(const float** inputs, float** outputs, uint32_t frames active = swap; if (!signal) { - memcpy(outputs[0], inputs[0], frames * sizeof(float)); - memcpy(outputs[1], inputs[1], frames * sizeof(float)); + if (outputs[0] != inputs[0]) + memcpy(outputs[0], inputs[0], frames * sizeof(float)); + if (outputs[1] != inputs[1]) + memcpy(outputs[1], inputs[1], frames * sizeof(float)); return; } @@ -227,8 +229,10 @@ void ZamHeadX2Plugin::run(const float** inputs, float** outputs, uint32_t frames nprocessed = clv[active]->clv_convolve(tmpins, tmpouts, 2, 2, frames, from_dB(6.0)); if (nprocessed <= 0) { - memcpy(outputs[0], inputs[0], frames * sizeof(float)); - memcpy(outputs[1], inputs[1], frames * sizeof(float)); + if (outputs[0] != inputs[0]) + memcpy(outputs[0], inputs[0], frames * sizeof(float)); + if (outputs[1] != inputs[1]) + memcpy(outputs[1], inputs[1], frames * sizeof(float)); } else { memcpy(outputs[0], tmpouts[0], frames * sizeof(float)); memcpy(outputs[1], tmpouts[1], frames * sizeof(float)); diff --git a/plugins/ZamVerb/ZamVerbPlugin.cpp b/plugins/ZamVerb/ZamVerbPlugin.cpp index e0ba639..6ea797b 100644 --- a/plugins/ZamVerb/ZamVerbPlugin.cpp +++ b/plugins/ZamVerb/ZamVerbPlugin.cpp @@ -196,8 +196,10 @@ void ZamVerbPlugin::run(const float** inputs, float** outputs, uint32_t frames) float _wetdry = 0.01f * wetdry; if (!signal) { - memcpy(outputs[0], inputs[0], frames * sizeof(float)); - memcpy(outputs[1], inputs[1], frames * sizeof(float)); + if (outputs[0] != inputs[0]) + memcpy(outputs[0], inputs[0], frames * sizeof(float)); + if (outputs[1] != inputs[1]) + memcpy(outputs[1], inputs[1], frames * sizeof(float)); return; } @@ -206,8 +208,10 @@ void ZamVerbPlugin::run(const float** inputs, float** outputs, uint32_t frames) memcpy(tmpins[1], inputs[1], frames * sizeof(float)); nprocessed = clv[active]->clv_convolve(tmpins, tmpouts, 2, 2, frames, from_dB(-16.f)); if (nprocessed <= 0) { - memcpy(outputs[0], inputs[0], frames * sizeof(float)); - memcpy(outputs[1], inputs[1], frames * sizeof(float)); + if (outputs[0] != inputs[0]) + memcpy(outputs[0], inputs[0], frames * sizeof(float)); + if (outputs[1] != inputs[1]) + memcpy(outputs[1], inputs[1], frames * sizeof(float)); } else { for (i = 0; i < frames; i++) { outputs[0][i] = (_wetdry * tmpouts[0][i] + (1.f - _wetdry) * inputs[0][i]) * from_dB(master); -- cgit v1.2.3