diff options
Diffstat (limited to 'plugins/LV2/src/Acceleration/Acceleration.cpp')
-rw-r--r-- | plugins/LV2/src/Acceleration/Acceleration.cpp | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/plugins/LV2/src/Acceleration/Acceleration.cpp b/plugins/LV2/src/Acceleration/Acceleration.cpp index 2fc0237..7128859 100644 --- a/plugins/LV2/src/Acceleration/Acceleration.cpp +++ b/plugins/LV2/src/Acceleration/Acceleration.cpp @@ -7,17 +7,19 @@ namespace { const char * ACCELERATION_URI = "https://www.airwindows.com/acceleration"; enum PortIndex { - ACCELERATION_LIMIT = 0, - ACCELERATION_DRYWET = 1, - ACCELERATION_IN = 2, - ACCELERATION_OUT = 3 + ACCELERATION_LIMIT, + ACCELERATION_DRYWET, + ACCELERATION_IN_L, + ACCELERATION_IN_R, + ACCELERATION_OUT_L, + ACCELERATION_OUT_R, }; struct acceleration { const float * limit; const float * drywet; - const float * in; - float * out; + const float * in[2]; + float * out[2]; }; LV2_Handle instantiate( @@ -45,12 +47,20 @@ void connect_port( accel->limit = (const float *) data; break; - case ACCELERATION_IN: - accel->in = (const float *) data; + case ACCELERATION_IN_L: + accel->in[0] = (const float *) data; break; - case ACCELERATION_OUT: - accel->out = (float *) data; + case ACCELERATION_IN_R: + accel->in[1] = (const float *) data; + break; + + case ACCELERATION_OUT_L: + accel->out[0] = (float *) data; + break; + + case ACCELERATION_OUT_R: + accel->out[1] = (float *) data; break; default: @@ -66,7 +76,8 @@ void run(LV2_Handle instance, uint32_t num_samples) { auto accel = (acceleration *) instance; for (auto i = 0u; i < num_samples; i++) { - *accel->out++ = *accel->in++; + *accel->out[0]++ = *accel->in[0]++; + *accel->out[1]++ = *accel->in[1]++; } } |