diff options
Diffstat (limited to 'plugins/LV2/src/ADClip7')
-rw-r--r-- | plugins/LV2/src/ADClip7/ADClip7.cpp | 63 | ||||
-rw-r--r-- | plugins/LV2/src/ADClip7/ADClip7.h | 13 |
2 files changed, 5 insertions, 71 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); } diff --git a/plugins/LV2/src/ADClip7/ADClip7.h b/plugins/LV2/src/ADClip7/ADClip7.h index e3d8474..a92ebfd 100644 --- a/plugins/LV2/src/ADClip7/ADClip7.h +++ b/plugins/LV2/src/ADClip7/ADClip7.h @@ -4,11 +4,10 @@ #include <cstdint> #include <lv2plugin.h> -class ADClip7 : protected LV2Plugin { +class ADClip7 : public LV2Plugin<4> { public: ADClip7(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/adclip-7"; @@ -21,16 +20,6 @@ private: void processReplacing(float **in, float **out, VstInt32 samples); void processDoubleReplacing(double **in, double **out, VstInt32 samples); - // Pointers to control ports - const float * boost; - const float * soften; - const float * enhance; - const float * mode; - - // Pointer to audio buffers - const float * in[2]; - float * out[2]; - // Temp values used by the processing code float A; float B; |