![]() |
Audacity 3.2.0
|
PluginManager maintains a list of all plug ins. That covers modules, effects, generators, analysis-effects, commands. It also has functions for shared and private configs - which need to move out. More...
#include <PluginManager.h>
Classes | |
class | Iterator |
struct | Range |
Public Types | |
using | FileConfigFactory = std::function< std::unique_ptr< FileConfig >(const FilePath &localFilename) > |
![]() | |
using | ConfigurationType = PluginSettings::ConfigurationType |
using | ConfigReference = PluginSettings::ConfigReference |
using | ConfigConstReference = PluginSettings::ConfigConstReference |
Public Member Functions | |
RegistryPath | GetPluginEnabledSetting (const PluginID &ID) const |
RegistryPath | GetPluginEnabledSetting (const PluginDescriptor &desc) const |
bool | IsPluginRegistered (const PluginPath &path, const TranslatableString *pSymbol) override |
Was the plugin registry already populated for a path (maybe from loading the config file)? More... | |
bool | IsPluginLoaded (const wxString &ID) const |
void | RegisterPlugin (PluginDescriptor &&desc) |
const PluginID & | RegisterPlugin (PluginProvider *provider) override |
const PluginID & | RegisterPlugin (PluginProvider *provider, ComponentInterface *command) |
const PluginID & | RegisterPlugin (PluginProvider *provider, EffectDefinitionInterface *effect, int type) override |
void | FindFilesInPathList (const wxString &pattern, const FilePaths &pathList, FilePaths &files, bool directories=false) override |
bool | HasConfigGroup (ConfigurationType type, const PluginID &ID, const RegistryPath &group) |
bool | GetConfigSubgroups (ConfigurationType type, const PluginID &ID, const RegistryPath &group, RegistryPaths &subgroups) override |
bool | HasConfigValue (ConfigurationType type, const PluginID &ID, const RegistryPath &group, const RegistryPath &key) override |
bool | GetConfigValue (ConfigurationType type, const PluginID &ID, const RegistryPath &group, const RegistryPath &key, ConfigReference var, ConfigConstReference defval) override |
bool | SetConfigValue (ConfigurationType type, const PluginID &ID, const RegistryPath &group, const RegistryPath &key, ConfigConstReference value) override |
bool | RemoveConfigSubgroup (ConfigurationType type, const PluginID &ID, const RegistryPath &group) override |
bool | RemoveConfig (ConfigurationType type, const PluginID &ID, const RegistryPath &group, const RegistryPath &key) override |
void | Initialize (FileConfigFactory factory) |
void | Terminate () |
bool | DropFile (const wxString &fileName) |
int | GetPluginCount (PluginType type) |
const PluginDescriptor * | GetPlugin (const PluginID &ID) const |
bool | IsPluginEnabled (const PluginID &ID) |
void | EnablePlugin (const PluginID &ID, bool enable) |
const ComponentInterfaceSymbol & | GetSymbol (const PluginID &ID) |
ComponentInterface * | Load (const PluginID &ID) |
std::vector< std::pair< wxString, wxString > > | CheckPluginUpdates () |
Ensures that all currently registered plugins still exist and scans for new ones. More... | |
const PluginID & | RegisterPlugin (std::unique_ptr< EffectDefinitionInterface > effect, PluginType type) |
Used only by Nyquist Workbench module. More... | |
void | UnregisterPlugin (const PluginID &ID) |
void | Load () |
Load from preferences. More... | |
void | Save () |
Save to preferences. More... | |
iteration over plugins of certain types, supporting range-for syntax | |
Range | AllPlugins () |
Range | PluginsOfType (int type) |
Range | EffectsOfType (EffectType type) |
![]() | |
virtual | ~PluginManagerInterface () |
virtual bool | IsPluginRegistered (const PluginPath &path, const TranslatableString *pName=nullptr)=0 |
Was the plugin registry already populated for a path (maybe from loading the config file)? More... | |
virtual const PluginID & | RegisterPlugin (PluginProvider *provider)=0 |
virtual const PluginID & | RegisterPlugin (PluginProvider *provider, EffectDefinitionInterface *effect, int type)=0 |
virtual void | FindFilesInPathList (const wxString &pattern, const FilePaths &pathList, FilePaths &files, bool directories=false)=0 |
virtual bool | GetConfigSubgroups (ConfigurationType type, const PluginID &ID, const RegistryPath &group, RegistryPaths &subgroups)=0 |
virtual bool | HasConfigValue (ConfigurationType type, const PluginID &ID, const RegistryPath &group, const RegistryPath &key)=0 |
virtual bool | GetConfigValue (ConfigurationType type, const PluginID &ID, const RegistryPath &group, const RegistryPath &key, ConfigReference var, ConfigConstReference defval)=0 |
virtual bool | SetConfigValue (ConfigurationType type, const PluginID &ID, const RegistryPath &group, const RegistryPath &key, ConfigConstReference value)=0 |
virtual bool | RemoveConfigSubgroup (ConfigurationType type, const PluginID &ID, const RegistryPath &group)=0 |
virtual bool | RemoveConfig (ConfigurationType type, const PluginID &ID, const RegistryPath &group, const RegistryPath &key)=0 |
Static Public Member Functions | |
static PluginManager & | Get () |
static PluginID | GetID (PluginProvider *provider) |
static PluginID | GetID (ComponentInterface *command) |
static PluginID | GetID (const EffectDefinitionInterface *effect) |
static wxString | GetPluginTypeString (PluginType type) |
![]() | |
static const PluginID & | DefaultRegistrationCallback (PluginProvider *provider, ComponentInterface *ident) |
static const PluginID & | AudacityCommandRegistrationCallback (PluginProvider *provider, ComponentInterface *ident) |
Private Attributes | |
std::unique_ptr< FileConfig > | mSettings |
bool | mDirty |
int | mCurrentIndex |
PluginMap | mRegisteredPlugins |
std::map< PluginID, std::unique_ptr< ComponentInterface > > | mLoadedInterfaces |
Static Private Attributes | |
static std::unique_ptr< PluginManager > | mInstance {} |
PluginManager maintains a list of all plug ins. That covers modules, effects, generators, analysis-effects, commands. It also has functions for shared and private configs - which need to move out.
Definition at line 40 of file PluginManager.h.
using PluginManager::FileConfigFactory = std::function< std::unique_ptr<FileConfig>(const FilePath &localFilename ) > |
Definition at line 90 of file PluginManager.h.
|
private |
Definition at line 330 of file PluginManager.cpp.
References mSettings.
|
private |
Definition at line 335 of file PluginManager.cpp.
References Terminate().
|
inline |
Definition at line 141 of file PluginManager.h.
Referenced by PluginRegistrationDialog::PopulateOrExchange().
std::vector< std::pair< wxString, wxString > > PluginManager::CheckPluginUpdates | ( | ) |
Ensures that all currently registered plugins still exist and scans for new ones.
Definition at line 1141 of file PluginManager.cpp.
References ModuleManager::CreateProviderInstance(), ModuleManager::Get(), ModuleManager::IsPluginValid(), ModuleManager::IsProviderValid(), make_iterator_range(), mRegisteredPlugins, PluginTypeModule, PluginTypeNone, and PluginTypeStub.
Referenced by AudacityApp::InitPart2().
|
private |
Definition at line 1458 of file PluginManager.cpp.
References Base64::Decode(), Base64::Encode(), and id.
Referenced by LoadGroup(), SaveGroup(), and SettingsPath().
|
private |
Definition at line 1265 of file PluginManager.cpp.
References id, ident(), mRegisteredPlugins, PluginDescriptor::SetID(), PluginDescriptor::SetPath(), PluginDescriptor::SetPluginType(), PluginDescriptor::SetSymbol(), PluginDescriptor::SetVendor(), and PluginDescriptor::SetVersion().
Referenced by RegisterPlugin().
bool PluginManager::DropFile | ( | const wxString & | fileName | ) |
Definition at line 424 of file PluginManager.cpp.
References BasicUI::MessageBoxOptions::Caption(), PluginManagerInterface::DefaultRegistrationCallback(), FileNames::DoCopyFile(), ModuleManager::Get(), id, ident(), PluginProvider::InstallPath(), mRegisteredPlugins, name, names, PluginsOfType(), PluginTypeModule, Save(), BasicUI::ShowMessageBox(), Verbatim(), XO, and XPC.
|
inline |
Definition at line 143 of file PluginManager.h.
Referenced by anonymous_namespace{PluginMenus.cpp}::PopulateEffectsMenu().
void PluginManager::EnablePlugin | ( | const PluginID & | ID, |
bool | enable | ||
) |
Definition at line 1100 of file PluginManager.cpp.
References mRegisteredPlugins.
|
overridevirtual |
Implements PluginManagerInterface.
Definition at line 204 of file PluginManager.cpp.
References PlatformCompatibility::GetExecutablePath(), and FileNames::PlugInDir().
|
static |
Definition at line 377 of file PluginManager.cpp.
References mInstance, and safenew.
Referenced by anonymous_namespace{PluginMenus.cpp}::AddEffectMenuItemGroup(), MacroCommands::ApplyEffectCommand(), PluginManagerInterface::AudacityCommandRegistrationCallback(), PluginManagerInterface::DefaultRegistrationCallback(), anonymous_namespace{PluginHost.cpp}::Discover(), MacroCommands::DoAudacityCommand(), EffectUI::DoEffect(), anonymous_namespace{PluginMenus.cpp}::DoManagePluginsMenu(), EffectManager::GetAudacityCommand(), EffectManager::GetCommandIdentifier(), EffectManager::GetCommandSymbol(), PluginSettings::GetConfigSubgroups(), PluginSettings::GetConfigValue(), EffectManager::GetEffectByIdentifier(), EffectManager::GetEffectFamilyName(), anonymous_namespace{EffectsPrefs.cpp}::GetModuleData(), EffectManager::GetVendorName(), HandleTextualCommand(), PluginSettings::HasConfigGroup(), PluginSettings::HasConfigValue(), AudacityApp::InitPart2(), anonymous_namespace{EffectManager.cpp}::LoadComponent(), MacroCommandsCatalog::MacroCommandsCatalog(), AudacityApp::OnExit(), PluginRegistrationDialog::OnOK(), PluginStartupRegistration::OnPluginFound(), ProjectFileManager::OpenFile(), anonymous_namespace{PluginMenus.cpp}::PopulateEffectsMenu(), PluginRegistrationDialog::PopulateOrExchange(), EffectManager::RegisterEffect(), PluginSettings::RemoveConfig(), PluginSettings::RemoveConfigSubgroup(), GetInfoCommand::SendCommands(), PluginSettings::SetConfigValue(), anonymous_namespace{RealtimeEffectPanel.cpp}::RealtimeEffectControl::SetEffect(), anonymous_namespace{RealtimeEffectPanel.cpp}::ShowSelectEffectMenu(), PluginStartupRegistration::Stop(), EffectManager::SupportsAutomation(), anonymous_namespace{TrackMenus.cpp}::TracksMenu(), and EffectManager::UnregisterEffect().
|
overridevirtual |
Implements PluginManagerInterface.
Definition at line 267 of file PluginManager.cpp.
References GetSubgroups(), and Group().
|
overridevirtual |
Implements PluginManagerInterface.
Definition at line 279 of file PluginManager.cpp.
References GetConfigValue(), Key(), and key.
Referenced by GetConfigValue().
|
private |
Definition at line 1360 of file PluginManager.cpp.
References GetSettings(), key, and Visit().
|
static |
Definition at line 1210 of file PluginManager.cpp.
References ComponentInterface::GetPath(), GetPluginTypeString(), ComponentInterface::GetSymbol(), ComponentInterface::GetVendor(), ComponentInterfaceSymbol::Internal(), and PluginTypeAudacityCommand.
|
static |
Definition at line 1220 of file PluginManager.cpp.
References EffectDefinitionInterface::GetFamily(), ComponentInterface::GetPath(), GetPluginTypeString(), ComponentInterface::GetSymbol(), ComponentInterface::GetVendor(), ComponentInterfaceSymbol::Internal(), and PluginTypeEffect.
|
static |
Definition at line 1205 of file PluginManager.cpp.
References ModuleManager::GetID().
Referenced by GetID(), RegisterPlugin(), and RealtimeEffectState::WriteXML().
const PluginDescriptor * PluginManager::GetPlugin | ( | const PluginID & | ID | ) | const |
Definition at line 1031 of file PluginManager.cpp.
References mRegisteredPlugins.
Referenced by anonymous_namespace{PluginMenus.cpp}::AddEffectMenuItemGroup(), MacroCommands::ApplyEffectCommand(), MacroCommands::DoAudacityCommand(), EffectUI::DoEffect(), GetPluginEnabledSetting(), anonymous_namespace{RealtimeEffectPanel.cpp}::RealtimeEffectControl::SetEffect(), EffectManager::SupportsAutomation(), and anonymous_namespace{TrackMenus.cpp}::TracksMenu().
int PluginManager::GetPluginCount | ( | PluginType | type | ) |
Definition at line 1025 of file PluginManager.cpp.
References mRegisteredPlugins.
RegistryPath PluginManager::GetPluginEnabledSetting | ( | const PluginDescriptor & | desc | ) | const |
Definition at line 112 of file PluginManager.cpp.
References desc, GetPluginEnabledSetting(), PluginTypeEffect, and PluginTypeModule.
RegistryPath PluginManager::GetPluginEnabledSetting | ( | const PluginID & | ID | ) | const |
Definition at line 104 of file PluginManager.cpp.
References GetPlugin(), and GetPluginEnabledSetting().
Referenced by PluginManager::Iterator::Advance(), and GetPluginEnabledSetting().
|
static |
Definition at line 1232 of file PluginManager.cpp.
References ModuleManager::GetPluginTypeString(), PluginTypeAudacityCommand, PluginTypeEffect, PluginTypeExporter, PluginTypeImporter, PluginTypeModule, PluginTypeNone, PluginTypeStub, and str.
Referenced by GetID(), Load(), LoadGroup(), SaveGroup(), and SettingsPath().
|
private |
Definition at line 1283 of file PluginManager.cpp.
References mSettings, FileNames::PluginSettings(), SETVERCUR, SETVERKEY, and sFactory.
Referenced by GetConfigValue(), GetSubgroups(), HasConfigValue(), HasGroup(), Initialize(), RemoveConfig(), RemoveConfigSubgroup(), and SetConfigValue().
|
private |
Definition at line 1330 of file PluginManager.cpp.
References FileConfig::GetPath(), GetSettings(), HasGroup(), name, and FileConfig::SetPath().
Referenced by GetConfigSubgroups().
const ComponentInterfaceSymbol & PluginManager::GetSymbol | ( | const PluginID & | ID | ) |
Definition at line 1108 of file PluginManager.cpp.
References mRegisteredPlugins.
Referenced by EffectManager::GetCommandIdentifier(), EffectManager::GetCommandSymbol(), and ComponentInterface::GetName().
|
private |
Definition at line 1429 of file PluginManager.cpp.
References SettingsPath().
Referenced by GetConfigSubgroups(), HasConfigGroup(), Key(), and RemoveConfigSubgroup().
bool PluginManager::HasConfigGroup | ( | ConfigurationType | type, |
const PluginID & | ID, | ||
const RegistryPath & | group | ||
) |
Definition at line 261 of file PluginManager.cpp.
References Group(), and HasGroup().
|
overridevirtual |
Implements PluginManagerInterface.
Definition at line 273 of file PluginManager.cpp.
References HasConfigValue(), Key(), and key.
Referenced by HasConfigValue().
|
private |
Definition at line 1355 of file PluginManager.cpp.
References GetSettings(), and key.
|
private |
Definition at line 1313 of file PluginManager.cpp.
References GetSettings(), and settings().
Referenced by GetSubgroups(), and HasConfigGroup().
void PluginManager::Initialize | ( | FileConfigFactory | factory | ) |
factory != nullptr
Definition at line 387 of file PluginManager.cpp.
References factory, ModuleManager::Get(), GetSettings(), InitializePlugins(), Load(), RegisterPlugin(), and sFactory.
Referenced by AudacityApp::InitPart2().
|
private |
Definition at line 341 of file PluginManager.cpp.
References ModuleManager::Get(), ModuleManager::IsPluginValid(), mRegisteredPlugins, PluginTypeModule, PluginTypeNone, PluginTypeStub, and Save().
Referenced by Initialize().
|
private |
bool PluginManager::IsPluginEnabled | ( | const PluginID & | ID | ) |
Definition at line 1092 of file PluginManager.cpp.
References mRegisteredPlugins.
bool PluginManager::IsPluginLoaded | ( | const wxString & | ID | ) | const |
Definition at line 149 of file PluginManager.cpp.
References mLoadedInterfaces.
Referenced by anonymous_namespace{PluginMenus.cpp}::PopulateEffectsMenu().
|
overridevirtual |
Was the plugin registry already populated for a path (maybe from loading the config file)?
path | an identifier for the plug-in with meaning defined by provider; not always a file path |
pName | if supplied, a correction for the user visible name associated with the plug-in, if it is registered already. (Needed because the configuration file only stores an internal name.) |
Implements PluginManagerInterface.
Definition at line 135 of file PluginManager.cpp.
References Internal, and mRegisteredPlugins.
|
private |
Definition at line 1444 of file PluginManager.cpp.
Referenced by GetConfigValue(), HasConfigValue(), RemoveConfig(), and SetConfigValue().
void PluginManager::Load | ( | ) |
Load from preferences.
Definition at line 538 of file PluginManager.cpp.
References GetPluginTypeString(), KEY_EFFECTTYPE, KEY_SYMBOL, KEY_VERSION, LoadGroup(), NYQUIST_PROMPT_ID, FileNames::PluginRegistry(), PluginTypeAudacityCommand, PluginTypeEffect, PluginTypeExporter, PluginTypeImporter, PluginTypeModule, PluginTypeStub, REGROOT, REGVERCUR, REGVERKEY, and sFactory.
Referenced by Initialize().
ComponentInterface * PluginManager::Load | ( | const PluginID & | ID | ) |
Definition at line 1118 of file PluginManager.cpp.
References ModuleManager::CreateProviderInstance(), desc, ModuleManager::Get(), PluginProvider::LoadPlugin(), mLoadedInterfaces, mRegisteredPlugins, and PluginTypeModule.
Referenced by EffectManager::GetAudacityCommand().
|
private |
Definition at line 625 of file PluginManager.cpp.
References ConvertID(), EffectTypeAnalyze, EffectTypeGenerate, EffectTypeHidden, EffectTypeNone, EffectTypeProcess, EffectTypeTool, PlatformCompatibility::GetExecutablePath(), FileConfig::GetFirstGroup(), FileConfig::GetNextGroup(), GetPluginTypeString(), KEY_DESCRIPTION, KEY_EFFECTAUTOMATABLE, KEY_EFFECTDEFAULT, KEY_EFFECTFAMILY, KEY_EFFECTINTERACTIVE, KEY_EFFECTREALTIME, KEY_EFFECTTYPE, KEY_EFFECTTYPE_ANALYZE, KEY_EFFECTTYPE_GENERATE, KEY_EFFECTTYPE_HIDDEN, KEY_EFFECTTYPE_NONE, KEY_EFFECTTYPE_PROCESS, KEY_EFFECTTYPE_TOOL, KEY_ENABLED, KEY_IMPORTEREXTENSIONS, KEY_IMPORTERIDENT, KEY_PATH, KEY_PROVIDERID, KEY_SYMBOL, KEY_VALID, KEY_VENDOR, KEY_VERSION, mRegisteredPlugins, PluginTypeEffect, PluginTypeImporter, PluginTypeModule, PluginTypeNone, PluginTypeStub, REGROOT, PluginDescriptor::SetEffectAutomatable(), PluginDescriptor::SetEffectDefault(), PluginDescriptor::SetEffectFamily(), PluginDescriptor::SetEffectInteractive(), PluginDescriptor::SetEffectRealtime(), PluginDescriptor::SetEffectType(), PluginDescriptor::SetEnabled(), PluginDescriptor::SetID(), PluginDescriptor::SetImporterExtensions(), PluginDescriptor::SetImporterIdentifier(), PluginDescriptor::SetPath(), FileConfig::SetPath(), PluginDescriptor::SetPluginType(), PluginDescriptor::SetProviderID(), PluginDescriptor::SetSymbol(), PluginDescriptor::SetValid(), PluginDescriptor::SetVendor(), and PluginDescriptor::SetVersion().
Referenced by Load().
|
inline |
Definition at line 142 of file PluginManager.h.
Referenced by DropFile(), EffectManager::GetEffectByIdentifier(), MacroCommandsCatalog::MacroCommandsCatalog(), and GetInfoCommand::SendCommands().
void PluginManager::RegisterPlugin | ( | PluginDescriptor && | desc | ) |
Definition at line 154 of file PluginManager.cpp.
References desc, and mRegisteredPlugins.
Referenced by PluginManagerInterface::AudacityCommandRegistrationCallback(), PluginManagerInterface::DefaultRegistrationCallback(), Initialize(), PluginStartupRegistration::OnPluginFound(), and EffectManager::RegisterEffect().
|
overridevirtual |
Implements PluginManagerInterface.
Definition at line 159 of file PluginManager.cpp.
References CreatePlugin(), PluginDescriptor::GetID(), GetID(), PluginProvider::GetOptionalFamilySymbol(), ComponentInterfaceSymbol::Internal(), PluginTypeModule, PluginDescriptor::SetEffectFamily(), PluginDescriptor::SetEnabled(), and PluginDescriptor::SetValid().
const PluginID & PluginManager::RegisterPlugin | ( | PluginProvider * | provider, |
ComponentInterface * | command | ||
) |
Definition at line 171 of file PluginManager.cpp.
References CreatePlugin(), PluginDescriptor::GetID(), GetID(), PluginTypeAudacityCommand, PluginDescriptor::SetEnabled(), PluginDescriptor::SetProviderID(), and PluginDescriptor::SetValid().
|
overridevirtual |
Implements PluginManagerInterface.
Definition at line 184 of file PluginManager.cpp.
References CreatePlugin(), EffectDefinitionInterface::GetClassification(), EffectDefinitionInterface::GetFamily(), PluginDescriptor::GetID(), GetID(), ComponentInterfaceSymbol::Internal(), EffectDefinitionInterface::IsDefault(), EffectDefinitionInterface::IsInteractive(), PluginDescriptor::SetEffectAutomatable(), PluginDescriptor::SetEffectDefault(), PluginDescriptor::SetEffectFamily(), PluginDescriptor::SetEffectInteractive(), PluginDescriptor::SetEffectRealtime(), PluginDescriptor::SetEffectType(), PluginDescriptor::SetEnabled(), PluginDescriptor::SetProviderID(), PluginDescriptor::SetValid(), EffectDefinitionInterface::SupportsAutomation(), and EffectDefinitionInterface::SupportsRealtime().
const PluginID & PluginManager::RegisterPlugin | ( | std::unique_ptr< EffectDefinitionInterface > | effect, |
PluginType | type | ||
) |
Used only by Nyquist Workbench module.
Definition at line 997 of file PluginManager.cpp.
References CreatePlugin(), PluginDescriptor::GetID(), GetID(), mLoadedInterfaces, PluginDescriptor::SetEffectAutomatable(), PluginDescriptor::SetEffectDefault(), PluginDescriptor::SetEffectFamily(), PluginDescriptor::SetEffectInteractive(), PluginDescriptor::SetEffectLegacy(), PluginDescriptor::SetEffectRealtime(), PluginDescriptor::SetEffectType(), PluginDescriptor::SetEnabled(), and PluginDescriptor::SetValid().
|
overridevirtual |
Implements PluginManagerInterface.
Definition at line 305 of file PluginManager.cpp.
References FileConfig::DeleteEntry(), FileConfig::Flush(), GetSettings(), Key(), and key.
|
overridevirtual |
Implements PluginManagerInterface.
Definition at line 293 of file PluginManager.cpp.
References FileConfig::DeleteGroup(), FileConfig::Flush(), GetSettings(), and Group().
void PluginManager::Save | ( | ) |
Save to preferences.
Definition at line 882 of file PluginManager.cpp.
References FileNames::PluginRegistry(), PluginTypeAudacityCommand, PluginTypeEffect, PluginTypeExporter, PluginTypeImporter, PluginTypeModule, PluginTypeStub, REGVERCUR, REGVERKEY, SaveGroup(), and sFactory.
Referenced by DropFile(), InitializePlugins(), PluginRegistrationDialog::OnOK(), and PluginStartupRegistration::Stop().
|
private |
Definition at line 912 of file PluginManager.cpp.
References ConvertID(), EffectTypeAnalyze, EffectTypeGenerate, EffectTypeHidden, EffectTypeNone, EffectTypeProcess, EffectTypeTool, GetPluginTypeString(), KEY_DESCRIPTION, KEY_EFFECTAUTOMATABLE, KEY_EFFECTDEFAULT, KEY_EFFECTFAMILY, KEY_EFFECTINTERACTIVE, KEY_EFFECTREALTIME, KEY_EFFECTTYPE, KEY_EFFECTTYPE_ANALYZE, KEY_EFFECTTYPE_GENERATE, KEY_EFFECTTYPE_HIDDEN, KEY_EFFECTTYPE_NONE, KEY_EFFECTTYPE_PROCESS, KEY_EFFECTTYPE_TOOL, KEY_ENABLED, KEY_IMPORTEREXTENSIONS, KEY_IMPORTERIDENT, KEY_NAME, KEY_PATH, KEY_PROVIDERID, KEY_SYMBOL, KEY_VALID, KEY_VENDOR, KEY_VERSION, mRegisteredPlugins, PluginTypeEffect, PluginTypeImporter, PluginTypeModule, REGROOT, and FileConfig::SetPath().
Referenced by Save().
|
overridevirtual |
Implements PluginManagerInterface.
Definition at line 286 of file PluginManager.cpp.
References Key(), key, and SetConfigValue().
Referenced by SetConfigValue().
|
private |
Definition at line 1385 of file PluginManager.cpp.
References FileConfig::Flush(), GetSettings(), key, and Visit().
|
private |
|
private |
Definition at line 1397 of file PluginManager.cpp.
References ConvertID(), PluginDescriptor::GetEffectFamily(), PluginDescriptor::GetPluginType(), GetPluginTypeString(), PluginDescriptor::GetSymbol(), PluginDescriptor::GetVendor(), ComponentInterfaceSymbol::Internal(), mRegisteredPlugins, SETROOT, and PluginSettings::Shared.
Referenced by Group().
void PluginManager::Terminate | ( | ) |
Definition at line 408 of file PluginManager.cpp.
References desc, mLoadedInterfaces, mRegisteredPlugins, and PluginTypeEffect.
Referenced by AudacityApp::OnExit(), and ~PluginManager().
void PluginManager::UnregisterPlugin | ( | const PluginID & | ID | ) |
Definition at line 1019 of file PluginManager.cpp.
References mLoadedInterfaces, and mRegisteredPlugins.
Referenced by PluginRegistrationDialog::OnOK(), and EffectManager::UnregisterEffect().
|
private |
Definition at line 211 of file PluginManager.h.
|
private |
Definition at line 210 of file PluginManager.h.
|
staticprivate |
Definition at line 204 of file PluginManager.h.
Referenced by Get().
|
private |
Definition at line 214 of file PluginManager.h.
Referenced by IsPluginLoaded(), Load(), RegisterPlugin(), Terminate(), and UnregisterPlugin().
|
private |
Definition at line 213 of file PluginManager.h.
Referenced by PluginManager::Iterator::Advance(), CheckPluginUpdates(), CreatePlugin(), DropFile(), EnablePlugin(), GetPlugin(), GetPluginCount(), GetSymbol(), InitializePlugins(), IsPluginEnabled(), IsPluginRegistered(), Load(), LoadGroup(), RegisterPlugin(), SaveGroup(), SettingsPath(), Terminate(), and UnregisterPlugin().
|
private |
Definition at line 208 of file PluginManager.h.
Referenced by GetSettings(), and PluginManager().