From 39540b7dc8468feb06427b0588b770bcaeaec4a3 Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 9 Feb 2022 17:10:14 +0000 Subject: [PATCH] Fix audio file not loading loop and sync state Signed-off-by: falkTX --- plugins/AriaModules | 2 +- plugins/Cardinal/src/AudioFile.cpp | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/plugins/AriaModules b/plugins/AriaModules index 39f0274..269ab0f 160000 --- a/plugins/AriaModules +++ b/plugins/AriaModules @@ -1 +1 @@ -Subproject commit 39f02743e13a6499fb2e3794a87951af523bf003 +Subproject commit 269ab0f091b18f08ab253bd8af4866e78d770bc0 diff --git a/plugins/Cardinal/src/AudioFile.cpp b/plugins/Cardinal/src/AudioFile.cpp index 7c6e532..9a141cd 100644 --- a/plugins/Cardinal/src/AudioFile.cpp +++ b/plugins/Cardinal/src/AudioFile.cpp @@ -239,7 +239,7 @@ struct CarlaInternalPluginModule : Module, Thread { const bool looping = fCarlaPluginDescriptor->get_parameter_value(fCarlaPluginHandle, kParameterLooping) > 0.5f; const bool hostSync = fCarlaPluginDescriptor->get_parameter_value(fCarlaPluginHandle, - kParameterLooping) > 0.5f; + kParameterHostSync) > 0.5f; json_object_set_new(rootJ, "looping", json_boolean(looping)); json_object_set_new(rootJ, "hostSync", json_boolean(hostSync)); @@ -250,6 +250,8 @@ struct CarlaInternalPluginModule : Module, Thread { void dataFromJson(json_t* const rootJ) override { + fileChanged = false; + if (json_t* const filepathJ = json_object_get(rootJ, "filepath")) { const char* const filepath = json_string_value(filepathJ); @@ -261,13 +263,14 @@ struct CarlaInternalPluginModule : Module, Thread { if (fCarlaPluginHandle != nullptr) fCarlaPluginDescriptor->set_custom_data(fCarlaPluginHandle, "file", filepath); - - return; } } - currentFile.clear(); - fileChanged = true; + if (! fileChanged) + { + currentFile.clear(); + fileChanged = true; + } if (fCarlaPluginHandle == nullptr) return;