#include "Acceleration.h" #include #include 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(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; processReplacing(const_cast(in), out, num_samples); } // // Include the processing code from the VST version. // #include #include "../../../LinuxVST/src/Acceleration/AccelerationProc.cpp" // Create the LV2Wrapper and register the plugin LV2Wrapper accel;