aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Eilertsen <haraldei@anduin.net>2020-07-15 16:57:10 +0200
committerHarald Eilertsen <haraldei@anduin.net>2020-07-15 16:57:10 +0200
commit18b6601156bad60364ff67c9c9e897c172fe0aab (patch)
tree1f88072d93302ce61ce90d363b357649d34f7279
parent2a9ee4aef026ce2ca7286943d3cae7d5af22a80f (diff)
downloadairwindows-lv2-port-18b6601156bad60364ff67c9c9e897c172fe0aab.tar.gz
airwindows-lv2-port-18b6601156bad60364ff67c9c9e897c172fe0aab.tar.bz2
airwindows-lv2-port-18b6601156bad60364ff67c9c9e897c172fe0aab.zip
LV2: Use anon namespace instead of static funcs.
-rw-r--r--plugins/LV2/src/Acceleration/Acceleration.cpp49
1 files changed, 44 insertions, 5 deletions
diff --git a/plugins/LV2/src/Acceleration/Acceleration.cpp b/plugins/LV2/src/Acceleration/Acceleration.cpp
index cc0a6cd..28d45e2 100644
--- a/plugins/LV2/src/Acceleration/Acceleration.cpp
+++ b/plugins/LV2/src/Acceleration/Acceleration.cpp
@@ -2,6 +2,8 @@
#include <iostream>
+namespace {
+
const char * ACCELERATION_URI = "https://www.airwindows.com/acceleration";
enum PortIndex {
@@ -18,7 +20,7 @@ struct acceleration {
float * out;
};
-static LV2_Handle instantiate(
+LV2_Handle instantiate(
const LV2_Descriptor * d,
double rate,
const char * path,
@@ -27,12 +29,13 @@ static LV2_Handle instantiate(
return calloc(1, sizeof(acceleration));
}
-static void connect_port(
+void connect_port(
LV2_Handle instance,
uint32_t port,
void * data)
{
- struct acceleration * accel = (struct acceleration *) instance;
+ auto accel = (acceleration *) instance;
+
switch (port) {
case ACCELERATION_LIMIT:
accel->limit = (const float *) data;
@@ -55,11 +58,47 @@ static void connect_port(
}
}
-static void activate(LV2_Handle instance)
+void activate(LV2_Handle instance)
{
}
-static void run(LV2_Handle instance, uint32_t num_samples)
+void run(LV2_Handle instance, uint32_t num_samples)
{
auto accel = (acceleration *) instance;
}
+
+void deactivate(LV2_Handle)
+{
+}
+
+void destroy(LV2_Handle instance)
+{
+ free(instance);
+}
+
+const void * extension_data(const char * uri)
+{
+ return nullptr;
+}
+
+const LV2_Descriptor descriptor = {
+ ACCELERATION_URI,
+ instantiate,
+ connect_port,
+ activate,
+ run,
+ deactivate,
+ destroy,
+ extension_data
+};
+
+} // anon namespace
+
+LV2_SYMBOL_EXPORT
+const LV2_Descriptor * lv2_descriptor(uint32_t idx)
+{
+ if (idx == 0)
+ return &descriptor;
+
+ return nullptr;
+}