diff options
Diffstat (limited to 'plugins/LV2/src/ADT/ADT.cpp')
-rw-r--r-- | plugins/LV2/src/ADT/ADT.cpp | 77 |
1 files changed, 6 insertions, 71 deletions
diff --git a/plugins/LV2/src/ADT/ADT.cpp b/plugins/LV2/src/ADT/ADT.cpp index 66423b2..5f5e6e0 100644 --- a/plugins/LV2/src/ADT/ADT.cpp +++ b/plugins/LV2/src/ADT/ADT.cpp @@ -2,84 +2,19 @@ #include <iostream> #include <lv2wrapper.h> -namespace { - -enum class PortIndex : uint32_t { - HEADRM, - A_DELAY, - A_LEVEL, - B_DELAY, - B_LEVEL, - OUTPUT, - IN_L, - IN_R, - OUT_L, - OUT_R, -}; - -} // anon namespace - ADT::ADT(double rate) : LV2Plugin(rate) { } -void ADT::connect_port(uint32_t port, void * data) -{ - switch (static_cast<PortIndex>(port)) { - case PortIndex::HEADRM: - headroom = static_cast<const float *>(data); - break; - - case PortIndex::A_DELAY: - a_delay = static_cast<const float *>(data); - break; - - case PortIndex::A_LEVEL: - a_level = static_cast<const float *>(data); - break; - - case PortIndex::B_DELAY: - b_delay = static_cast<const float *>(data); - break; - - case PortIndex::B_LEVEL: - b_level = static_cast<const float *>(data); - break; - - case PortIndex::OUTPUT: - out_level = 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 ADT::run(uint32_t num_samples) { - A = *headroom; - B = *a_delay; - C = *a_level; - D = *b_delay; - E = *b_level; - F = *out_level; + A = *params[0]; + B = *params[1]; + C = *params[2]; + D = *params[3]; + E = *params[4]; + F = *params[5]; processReplacing(const_cast<float **>(in), out, num_samples); } |