diff options
author | Harald Eilertsen <haraldei@anduin.net> | 2020-07-20 23:00:38 +0200 |
---|---|---|
committer | Harald Eilertsen <haraldei@anduin.net> | 2020-07-20 23:00:38 +0200 |
commit | 8bd321abb4470fd050db9b46a1230dbc5e1b612e (patch) | |
tree | 2e6892aafb1a0a8c756d8f4ff715aa552944c760 /plugins/LV2/src/Acceleration/Acceleration.cpp | |
parent | d94ee6218b6e3f65554c133d9e09044b99f86396 (diff) | |
download | airwindows-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/Acceleration/Acceleration.cpp')
-rw-r--r-- | plugins/LV2/src/Acceleration/Acceleration.cpp | 49 |
1 files changed, 3 insertions, 46 deletions
diff --git a/plugins/LV2/src/Acceleration/Acceleration.cpp b/plugins/LV2/src/Acceleration/Acceleration.cpp index 840d0f3..3499537 100644 --- a/plugins/LV2/src/Acceleration/Acceleration.cpp +++ b/plugins/LV2/src/Acceleration/Acceleration.cpp @@ -2,60 +2,17 @@ #include <iostream> #include <lv2wrapper.h> -namespace { - -enum class PortIndex : uint32_t { - LIMIT, - DRYWET, - IN_L, - IN_R, - OUT_L, - OUT_R, -}; - -} // anon namespace - Acceleration::Acceleration(double rate) : LV2Plugin(rate) { } -void Acceleration::connect_port(uint32_t port, void * data) -{ - switch (static_cast<PortIndex>(port)) { - case PortIndex::LIMIT: - limit = (const float *) data; - break; - - case PortIndex::DRYWET: - drywet = (const float *) data; - break; - - case PortIndex::IN_L: - in[0] = (const float *) data; - break; - - case PortIndex::IN_R: - in[1] = (const float *) data; - break; - - case PortIndex::OUT_L: - out[0] = (float *) data; - break; - - case PortIndex::OUT_R: - out[1] = (float *) data; - break; - - default: - std::cerr << "Invalid port " << port << ": ignoring." << std::endl; - } -} void Acceleration::run(uint32_t num_samples) { - A = *limit; - B = *drywet; + A = *params[0]; + B = *params[1]; + processReplacing(const_cast<float **>(in), out, num_samples); } |