diff options
Diffstat (limited to 'plugins/ZamHeadX2')
-rw-r--r-- | plugins/ZamHeadX2/ZamHeadX2Plugin.cpp | 2 | ||||
-rw-r--r-- | plugins/ZamHeadX2/convolution.cpp | 5 |
2 files changed, 3 insertions, 4 deletions
diff --git a/plugins/ZamHeadX2/ZamHeadX2Plugin.cpp b/plugins/ZamHeadX2/ZamHeadX2Plugin.cpp index c74a069..ac7b698 100644 --- a/plugins/ZamHeadX2/ZamHeadX2Plugin.cpp +++ b/plugins/ZamHeadX2/ZamHeadX2Plugin.cpp @@ -209,10 +209,12 @@ void ZamHeadX2Plugin::setState(const char* key, const char*) snprintf(azim, 3, "%d", az); if ((az != azold) || (el != elold)) { other = !active; + signal = false; clv[other]->clv_release(); clv[other]->clv_configure("convolution.ir.preset", elev, azim); clv[other]->clv_initialize(getSampleRate(), 2, 2, getBufferSize()); swap = other; + signal = true; } azold = az; elold = el; diff --git a/plugins/ZamHeadX2/convolution.cpp b/plugins/ZamHeadX2/convolution.cpp index 8f21269..a3e3f33 100644 --- a/plugins/ZamHeadX2/convolution.cpp +++ b/plugins/ZamHeadX2/convolution.cpp @@ -448,7 +448,7 @@ void LV2convolv::clv_release (void) { void LV2convolv::clv_clone_settings(LV2convolv *clv_new) { convproc = clv_new->convproc; - ir_fn = clv_new->ir_fn; + ir_fn = strdup(clv_new->ir_fn); ir_preset = clv_new->ir_preset; ir_presetx = clv_new->ir_presetx; ir_presety = clv_new->ir_presety; @@ -462,9 +462,6 @@ void LV2convolv::clv_clone_settings(LV2convolv *clv_new) { fragment_size = clv_new->fragment_size; clv_new->convproc = NULL; - if (ir_fn) { - clv_new->ir_fn = strdup (ir_fn); - } } void LV2convolv::clv_free (void) { |