From cea79d5b73cc6904d777365f306ecd13cd988f9c Mon Sep 17 00:00:00 2001 From: Paul Licameli Date: Tue, 5 Apr 2016 18:43:43 -0400 Subject: [PATCH] Bug1282: change of enabled state of Stereo To Mono should be persistent --- src/Menus.cpp | 2 +- src/PluginManager.cpp | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Menus.cpp b/src/Menus.cpp index 8acb837af..5f3ce1895 100644 --- a/src/Menus.cpp +++ b/src/Menus.cpp @@ -875,7 +875,7 @@ void AudacityProject::CreateMenusAndCommands() // plug-in manager, as if an effect. Decide whether to show or hide it. const PluginID ID = EffectManager::Get().GetEffectByIdentifier(wxT("StereoToMono")); const PluginDescriptor *plug = PluginManager::Get().GetPlugin(ID); - if (plug) + if (plug && plug->IsEnabled()) c->AddItem(wxT("Stereo to Mono"), _("Stereo Trac&k to Mono"), FN(OnStereoToMono), AudioIONotBusyFlag | StereoRequiredFlag | WaveTracksSelectedFlag, AudioIONotBusyFlag | StereoRequiredFlag | WaveTracksSelectedFlag); diff --git a/src/PluginManager.cpp b/src/PluginManager.cpp index 205801f69..f564e637c 100644 --- a/src/PluginManager.cpp +++ b/src/PluginManager.cpp @@ -1345,6 +1345,7 @@ void PluginDescriptor::SetImporterExtensions(const wxArrayString & extensions) #define KEY_EFFECTTYPE_ANALYZE wxT("Analyze") #define KEY_EFFECTTYPE_GENERATE wxT("Generate") #define KEY_EFFECTTYPE_PROCESS wxT("Process") +#define KEY_EFFECTTYPE_HIDDEN wxT("Hidden") #define KEY_IMPORTERIDENT wxT("ImporterIdent") #define KEY_IMPORTERFILTER wxT("ImporterFilter") #define KEY_IMPORTEREXTENSIONS wxT("ImporterExtensions") @@ -1909,6 +1910,10 @@ void PluginManager::LoadGroup(PluginType type) { plug.SetEffectType(EffectTypeProcess); } + else if (strVal.IsSameAs(KEY_EFFECTTYPE_HIDDEN)) + { + plug.SetEffectType(EffectTypeHidden); + } else { continue; @@ -2087,6 +2092,10 @@ void PluginManager::SaveGroup(PluginType type) { stype = KEY_EFFECTTYPE_PROCESS; } + else if (etype == EffectTypeHidden) + { + stype = KEY_EFFECTTYPE_HIDDEN; + } mRegistry->Write(KEY_EFFECTTYPE, stype); mRegistry->Write(KEY_EFFECTFAMILY, plug.GetEffectFamily(false)); mRegistry->Write(KEY_EFFECTDEFAULT, plug.IsEffectDefault());