From 8d8d55aba4c5388fff3681db268cefecd548367a Mon Sep 17 00:00:00 2001 From: Harald Eilertsen Date: Thu, 16 Jul 2020 10:27:01 +0200 Subject: LV2: Make Acceleration class instead of POD struct. The sneaky plan is to have this make use of the processing function(s) from the LinuxVST variant, so we don't have to copy code. --- plugins/LV2/src/Acceleration/Acceleration.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/plugins/LV2/src/Acceleration/Acceleration.cpp b/plugins/LV2/src/Acceleration/Acceleration.cpp index 7128859..669df75 100644 --- a/plugins/LV2/src/Acceleration/Acceleration.cpp +++ b/plugins/LV2/src/Acceleration/Acceleration.cpp @@ -15,7 +15,8 @@ enum PortIndex { ACCELERATION_OUT_R, }; -struct acceleration { +class Acceleration { +public: const float * limit; const float * drywet; const float * in[2]; @@ -28,7 +29,7 @@ LV2_Handle instantiate( const char * path, const LV2_Feature * const * features) { - return calloc(1, sizeof(acceleration)); + return new Acceleration{}; } void connect_port( @@ -36,7 +37,7 @@ void connect_port( uint32_t port, void * data) { - auto accel = (acceleration *) instance; + auto accel = static_cast(instance); switch (port) { case ACCELERATION_LIMIT: @@ -74,7 +75,7 @@ void activate(LV2_Handle instance) void run(LV2_Handle instance, uint32_t num_samples) { - auto accel = (acceleration *) instance; + auto accel = static_cast(instance); for (auto i = 0u; i < num_samples; i++) { *accel->out[0]++ = *accel->in[0]++; *accel->out[1]++ = *accel->in[1]++; @@ -87,7 +88,7 @@ void deactivate(LV2_Handle) void destroy(LV2_Handle instance) { - free(instance); + delete static_cast(instance); } const void * extension_data(const char * uri) -- cgit v1.2.3