#include "Air.h" #include #include namespace { enum class PortIndex : uint32_t { TAP22, TAP15, TAP11, FILTERS_Q, OUTPUT, DRY_WET, IN_L, IN_R, OUT_L, OUT_R, }; } // anon namespace Air::Air(double rate) : LV2Plugin(rate) { } void Air::connect_port(uint32_t port, void * data) { switch (static_cast(port)) { case PortIndex::TAP22: tap22 = static_cast(data); break; case PortIndex::TAP15: tap15 = static_cast(data); break; case PortIndex::TAP11: tap11 = static_cast(data); break; case PortIndex::FILTERS_Q: filters_q = static_cast(data); break; case PortIndex::OUTPUT: out_level = static_cast(data); break; case PortIndex::DRY_WET: dry_wet = 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 Air::run(uint32_t num_samples) { A = *tap22; B = *tap15; C = *tap11; D = *filters_q; E = *out_level; F = *dry_wet; processReplacing(const_cast(in), out, num_samples); } // // Include the processing code from the VST version. // #include #include "../../../LinuxVST/src/Air/AirProc.cpp" // Create the LV2Wrapper and register the plugin LV2Wrapper air;