11#ifndef __AUDACITY_PLUGINMANAGER_H__
12#define __AUDACITY_PLUGINMANAGER_H__
36typedef std::map<PluginID, PluginDescriptor>
PluginMap;
58 bool IsPluginLoaded(
const wxString& ID)
const;
68 bool directories =
false)
override;
97 std::unique_ptr<FileConfig>(
const FilePath &localFilename ) >;
102 bool DropFile(
const wxString &fileName);
116 static wxString GetPluginTypeString(
PluginType type);
136 return mIterator != mPm.mRegisteredPlugins.end();
141 void Advance(
bool incrementing);
150 int end()
const {
return 0; }
158 bool IsPluginEnabled(
const PluginID & ID);
159 void EnablePlugin(
const PluginID & ID,
bool enable);
164 void ClearEffectPlugins();
171 std::map<wxString, std::vector<wxString>> CheckPluginUpdates();
175 std::unique_ptr<EffectDefinitionInterface> effect,
PluginType type );
176 void UnregisterPlugin(
const PluginID & ID);
183 void NotifyPluginsChanged();
194 void InitializePlugins();
220 wxString ConvertID(
const PluginID & ID);
223 friend std::default_delete<PluginManager>;
243#define NYQUIST_PROMPT_ID wxT("Nyquist Prompt")
245#define NYQUIST_PROMPT_NAME XO("Nyquist Prompt")
static const AudacityProject::AttachedObjects::RegisteredFactory key
static PluginID GetID(EffectPlugin &effect)
const TranslatableString desc
wxString PluginPath
type alias for identifying a Plugin supplied by a module, each module defining its own interpretation...
std::vector< RegistryPath > RegistryPaths
LV2EffectSettings & GetSettings(EffectSettings &settings)
Vector operator*(const Vector &left, const Vector &right)
static CommandHandlerObject & ident(AudacityProject &project)
wxString PluginRegistryVersion
Type of plugin registry version information.
std::map< PluginID, PluginDescriptor > PluginMap
static const AttachedProjectObjects::RegisteredFactory manager
bool operator!=(const WaveTrackLocation &a, const WaveTrackLocation &b)
ComponentInterface provides name / vendor / version functions to identify plugins....
ComponentInterfaceSymbol pairs a persistent string identifier used internally with an optional,...
EffectDefinitionInterface is a ComponentInterface that adds some basic read-only information about ef...
An explicitly nonlocalized string, not meant for the user to see.
An object that sends messages to an open-ended list of subscribed callbacks.
const PluginManager & mPm
PluginMap::iterator mIterator
PluginManager maintains a list of all plug ins. That covers modules, effects, generators,...
Range EffectsOfType(EffectType type)
std::function< std::unique_ptr< FileConfig >(const FilePath &localFilename) > FileConfigFactory
std::vector< PluginDescriptor > mEffectPluginsCleared
PluginRegistryVersion mRegver
Range PluginsOfType(int type)
static std::unique_ptr< PluginManager > mInstance
std::unique_ptr< FileConfig > mSettings
PluginMap mRegisteredPlugins
void SetDirty(bool dirty=true)
std::map< PluginID, std::unique_ptr< ComponentInterface > > mLoadedInterfaces
virtual bool RemoveConfigSubgroup(ConfigurationType type, const PluginID &ID, const RegistryPath &group)=0
virtual bool GetConfigValue(ConfigurationType type, const PluginID &ID, const RegistryPath &group, const RegistryPath &key, ConfigReference var, ConfigConstReference defval)=0
virtual bool RemoveConfig(ConfigurationType type, const PluginID &ID, const RegistryPath &group, const RegistryPath &key)=0
virtual bool GetConfigSubgroups(ConfigurationType type, const PluginID &ID, const RegistryPath &group, RegistryPaths &subgroups)=0
PluginSettings::ConfigReference ConfigReference
virtual bool SetConfigValue(ConfigurationType type, const PluginID &ID, const RegistryPath &group, const RegistryPath &key, ConfigConstReference value)=0
virtual void FindFilesInPathList(const wxString &pattern, const FilePaths &pathList, FilePaths &files, bool directories=false)=0
virtual const PluginID & RegisterPlugin(PluginProvider *provider)=0
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)?
PluginSettings::ConfigConstReference ConfigConstReference
virtual bool HasConfigValue(ConfigurationType type, const PluginID &ID, const RegistryPath &group, const RegistryPath &key)=0
virtual const PluginRegistryVersion & GetRegistryVersion() const =0
What is the plugin registry version number now in the file?
Holds a msgid for the translation catalog; may also bind format arguments.
Extend wxArrayString with move operations and construction and insertion fromstd::initializer_list.
Services * Get()
Fetch the global instance, or nullptr if none is yet installed.
ConfigReferenceGenerator< false, ConfigValueTypes >::type ConfigReference
ConfigReferenceGenerator< true, ConfigValueTypes >::type ConfigConstReference
bool HasConfigGroup(const EffectDefinitionInterface &ident, PluginSettings::ConfigurationType type, const RegistryPath &group)
THEME_RESOURCES_API void Load()
static RegisteredToolbarFactory factory