aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/LV2/src/ADClip7/ADClip7.cpp
diff options
context:
space:
mode:
authorHarald Eilertsen <haraldei@anduin.net>2020-07-20 23:00:38 +0200
committerHarald Eilertsen <haraldei@anduin.net>2020-07-20 23:00:38 +0200
commit8bd321abb4470fd050db9b46a1230dbc5e1b612e (patch)
tree2e6892aafb1a0a8c756d8f4ff715aa552944c760 /plugins/LV2/src/ADClip7/ADClip7.cpp
parentd94ee6218b6e3f65554c133d9e09044b99f86396 (diff)
downloadairwindows-lv2-port-8bd321abb4470fd050db9b46a1230dbc5e1b612e.tar.gz
airwindows-lv2-port-8bd321abb4470fd050db9b46a1230dbc5e1b612e.tar.bz2
airwindows-lv2-port-8bd321abb4470fd050db9b46a1230dbc5e1b612e.zip
LV2: Refactor in, out and params to base class.
Base class is now a template taking number of params, inputs and outputs as template args. The last two defaults to 2 (stereo pair), but number of params have to be given. Now if only we could find a smart template for generating the run function too...
Diffstat (limited to 'plugins/LV2/src/ADClip7/ADClip7.cpp')
-rw-r--r--plugins/LV2/src/ADClip7/ADClip7.cpp63
1 files changed, 4 insertions, 59 deletions
diff --git a/plugins/LV2/src/ADClip7/ADClip7.cpp b/plugins/LV2/src/ADClip7/ADClip7.cpp
index 11c8c27..e568a30 100644
--- a/plugins/LV2/src/ADClip7/ADClip7.cpp
+++ b/plugins/LV2/src/ADClip7/ADClip7.cpp
@@ -3,21 +3,6 @@
#include <iostream>
#include <lv2wrapper.h>
-namespace {
-
-enum class PortIndex : uint32_t {
- BOOST,
- SOFTEN,
- ENHANCE,
- MODE,
- IN_L,
- IN_R,
- OUT_L,
- OUT_R,
-};
-
-} // anon namespace
-
ADClip7::ADClip7(double rate)
: LV2Plugin(rate)
, refclipL(0.99)
@@ -25,52 +10,12 @@ ADClip7::ADClip7(double rate)
{
}
-void ADClip7::connect_port(uint32_t port, void * data)
-{
- switch (static_cast<PortIndex>(port)) {
- case PortIndex::BOOST:
- boost = static_cast<const float *>(data);
- break;
-
- case PortIndex::SOFTEN:
- soften = static_cast<const float *>(data);
- break;
-
- case PortIndex::ENHANCE:
- enhance = static_cast<const float *>(data);
- break;
-
- case PortIndex::MODE:
- mode = static_cast<const float *>(data);
- break;
-
- case PortIndex::IN_L:
- in[0] = static_cast<const float *>(data);
- break;
-
- case PortIndex::IN_R:
- in[1] = static_cast<const float *>(data);
- break;
-
- case PortIndex::OUT_L:
- out[0] = static_cast<float *>(data);
- break;
-
- case PortIndex::OUT_R:
- out[1] = static_cast<float *>(data);
- break;
-
- default:
- std::cerr << "Invalid port " << port << ": ignoring." << std::endl;
- }
-}
-
void ADClip7::run(uint32_t num_samples)
{
- A = *boost;
- B = *soften;
- C = *enhance;
- D = *mode;
+ A = *params[0];
+ B = *params[1];
+ C = *params[2];
+ D = *params[3];
processReplacing(const_cast<float **>(in), out, num_samples);
}