diff options
Diffstat (limited to 'plugins/LV2/src/Acceleration')
-rw-r--r-- | plugins/LV2/src/Acceleration/Acceleration.cpp | 49 | ||||
-rw-r--r-- | plugins/LV2/src/Acceleration/Acceleration.h | 9 |
2 files changed, 5 insertions, 53 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); } diff --git a/plugins/LV2/src/Acceleration/Acceleration.h b/plugins/LV2/src/Acceleration/Acceleration.h index 0971045..a038a12 100644 --- a/plugins/LV2/src/Acceleration/Acceleration.h +++ b/plugins/LV2/src/Acceleration/Acceleration.h @@ -1,14 +1,14 @@ #ifndef __Acceleration_H #define __Acceleration_H +#include <cstddef> #include <cstdint> #include <lv2plugin.h> -class Acceleration : protected LV2Plugin { +class Acceleration : public LV2Plugin<2> { public: Acceleration(double rate); - void connect_port(uint32_t port, void * data); void run(uint32_t num_samples); static constexpr const char * URI = "https://www.airwindows.com/acceleration"; @@ -21,11 +21,6 @@ private: void processReplacing(float **in, float **out, VstInt32 samples); void processDoubleReplacing(double **in, double **out, VstInt32 samples); - const float * limit; - const float * drywet; - const float * in[2]; - float * out[2]; - // Temp values used by the processing code double A; // Value of limit when processing called double B; // Value of dry/wet when processing called |