aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/LV2/src/Air/Air.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/LV2/src/Air/Air.cpp')
-rw-r--r--plugins/LV2/src/Air/Air.cpp77
1 files changed, 6 insertions, 71 deletions
diff --git a/plugins/LV2/src/Air/Air.cpp b/plugins/LV2/src/Air/Air.cpp
index 0783317..9a9e1e3 100644
--- a/plugins/LV2/src/Air/Air.cpp
+++ b/plugins/LV2/src/Air/Air.cpp
@@ -2,84 +2,19 @@
#include <iostream>
#include <lv2wrapper.h>
-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<PortIndex>(port)) {
- case PortIndex::TAP22:
- tap22 = static_cast<const float *>(data);
- break;
-
- case PortIndex::TAP15:
- tap15 = static_cast<const float *>(data);
- break;
-
- case PortIndex::TAP11:
- tap11 = static_cast<const float *>(data);
- break;
-
- case PortIndex::FILTERS_Q:
- filters_q = static_cast<const float *>(data);
- break;
-
- case PortIndex::OUTPUT:
- out_level = static_cast<const float *>(data);
- break;
-
- case PortIndex::DRY_WET:
- dry_wet = 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 Air::run(uint32_t num_samples)
{
- A = *tap22;
- B = *tap15;
- C = *tap11;
- D = *filters_q;
- E = *out_level;
- F = *dry_wet;
+ 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);
}