summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfalkTX <falktx@falktx.com>2022-12-14 11:40:31 +0000
committerfalkTX <falktx@falktx.com>2022-12-14 11:40:31 +0000
commitf80c2aec52c698d10392e13cd78d36731d04e4a4 (patch)
tree52eb12732d0c1fabcfc0e1b4429bf3fa8736e826
parent364e508ebe9259d48c6a9fcf0b866cde268e9a1d (diff)
Fix inline processing
Signed-off-by: falkTX <falktx@falktx.com>
-rw-r--r--plugins/ZamHeadX2/ZamHeadX2Plugin.cpp12
-rw-r--r--plugins/ZamVerb/ZamVerbPlugin.cpp12
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);