#include "ADClip7.h" #include #include #include 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) , refclipR(0.99) { } void ADClip7::connect_port(uint32_t port, void * data) { switch (static_cast(port)) { case PortIndex::BOOST: boost = static_cast(data); break; case PortIndex::SOFTEN: soften = static_cast(data); break; case PortIndex::ENHANCE: enhance = static_cast(data); break; case PortIndex::MODE: mode = static_cast(data); break; case PortIndex::IN_L: in[0] = static_cast(data); break; case PortIndex::IN_R: in[1] = static_cast(data); break; case PortIndex::OUT_L: out[0] = static_cast(data); break; case PortIndex::OUT_R: out[1] = static_cast(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; processReplacing(const_cast(in), out, num_samples); } // // Include the processing code from the VST version. // #include "../../../LinuxVST/src/ADClip7/ADClip7Proc.cpp" // Create the LV2Wrapper and register the plugin LV2Wrapper plugin;