From 2e7f7114d27dba8ed3b1473f892cfb2bfbbf15c0 Mon Sep 17 00:00:00 2001 From: Paul Licameli Date: Wed, 23 Jun 2021 07:18:16 -0400 Subject: [PATCH] ModuleManager defines the ID strings for modules, not PluginManager --- src/ModuleManager.cpp | 16 +++++++++++++++- src/ModuleManager.h | 6 ++++++ src/PluginManager.cpp | 12 +----------- src/PluginManager.h | 1 - 4 files changed, 22 insertions(+), 13 deletions(-) diff --git a/src/ModuleManager.cpp b/src/ModuleManager.cpp index 75cf00645..a81de51a9 100755 --- a/src/ModuleManager.cpp +++ b/src/ModuleManager.cpp @@ -403,6 +403,21 @@ ModuleManager & ModuleManager::Get() return *mInstance; } +wxString ModuleManager::GetPluginTypeString() +{ + return L"Module"; +} + +PluginID ModuleManager::GetID(ModuleInterface *module) +{ + return wxString::Format(wxT("%s_%s_%s_%s_%s"), + GetPluginTypeString(), + wxEmptyString, + module->GetVendor().Internal(), + module->GetSymbol().Internal(), + module->GetPath()); +} + bool ModuleManager::DiscoverProviders() { InitializeBuiltins(); @@ -569,4 +584,3 @@ bool ModuleManager::IsPluginValid(const PluginID & providerID, return mDynModules[providerID]->IsPluginValid(path, bFast); } - diff --git a/src/ModuleManager.h b/src/ModuleManager.h index 0111eee8d..ef9d89976 100644 --- a/src/ModuleManager.h +++ b/src/ModuleManager.h @@ -77,6 +77,12 @@ public: static ModuleManager & Get(); + // This string persists in configuration files + // So config compatibility will break if it is changed across Audacity versions + static wxString GetPluginTypeString(); + + static PluginID GetID(ModuleInterface *module); + private: static void FindModules(FilePaths &files); using DelayedErrors = diff --git a/src/PluginManager.cpp b/src/PluginManager.cpp index aefe72277..beef900f9 100644 --- a/src/PluginManager.cpp +++ b/src/PluginManager.cpp @@ -1552,16 +1552,6 @@ ComponentInterface *PluginManager::GetInstance(const PluginID & ID) } } -PluginID PluginManager::GetID(ModuleInterface *module) -{ - return wxString::Format(wxT("%s_%s_%s_%s_%s"), - GetPluginTypeString(PluginTypeModule), - wxEmptyString, - module->GetVendor().Internal(), - module->GetSymbol().Internal(), - module->GetPath()); -} - PluginID PluginManager::GetID(ComponentInterface *command) { return wxString::Format(wxT("%s_%s_%s_%s_%s"), @@ -1620,7 +1610,7 @@ wxString PluginManager::GetPluginTypeString(PluginType type) str = wxT("Importer"); break; case PluginTypeModule: - str = wxT("Module"); + str = ModuleManager::GetPluginTypeString(); break; } diff --git a/src/PluginManager.h b/src/PluginManager.h index 9013cc678..e68916b3c 100644 --- a/src/PluginManager.h +++ b/src/PluginManager.h @@ -238,7 +238,6 @@ public: static PluginManager & Get(); - static PluginID GetID(ModuleInterface *module); static PluginID GetID(ComponentInterface *command); static PluginID GetID(EffectDefinitionInterface *effect); static PluginID GetID(ImporterInterface *importer);