58 return std::make_unique<BuiltinEffectsModule>();
91 return XO(
"Builtin Effects");
96 return XO(
"The Audacity Team");
102 return AUDACITY_VERSION_STRING;
107 return XO(
"Provides builtin effects to Audacity");
153 const auto &path = pair.first;
160 if(pair.second->excluded)
174 names.push_back( pair.first );
188 callback(
this, effect.get());
192 errMsg =
XO(
"Unknown built-in effect name");
196std::unique_ptr<ComponentInterface>
217 return iter->second->factory();
#define BUILTIN_EFFECT_PREFIX
std::vector< PluginPath > PluginPaths
wxString PluginPath
type alias for identifying a Plugin supplied by a module, each module defining its own interpretation...
static ProjectFileIORegistry::AttributeWriterEntry entry
DECLARE_PROVIDER_ENTRY(AudacityModule)
DECLARE_BUILTIN_PROVIDER(BuiltinsEffectBuiltin)
static CommandHandlerObject & ident(AudacityProject &project)
bool Regver_eq(const PluginRegistryVersion ®ver1, const PluginRegistryVersion ®ver2)
ComponentInterfaceSymbol GetSymbol() const override
void Terminate() override
Called just prior to deletion to allow releasing any resources.
PluginPath GetPath() const override
bool Initialize() override
Called immediately after creation. Let provider initialize.
std::function< std::unique_ptr< Effect >() > Factory
VendorSymbol GetVendor() const override
TranslatableString GetDescription() const override
unsigned DiscoverPluginsAtPath(const PluginPath &path, TranslatableString &errMsg, const RegistrationCallback &callback) override
bool CheckPluginExist(const PluginPath &path) const override
Performs plugin/module existence check, still plugin may fail to load. Implementation should avoid lo...
static void DoRegistration(const ComponentInterfaceSymbol &name, const Factory &factory, bool excluded)
EffectFamilySymbol GetOptionalFamilySymbol() override
A symbol identifying the family of plug-ins provided by this.
PluginPaths FindModulePaths(PluginManagerInterface &pm) override
void AutoRegisterPlugins(PluginManagerInterface &pm) override
Called so that a provider of a static set of plug-ins can register them.
virtual ~BuiltinEffectsModule()
const FileExtensions & GetFileExtensions() override
File types associated with this protocol.
std::unique_ptr< ComponentInterface > LoadPlugin(const PluginPath &path) override
Load the plug-in at a path reported by DiscoverPluginsAtPath.
std::unique_ptr< Effect > Instantiate(const PluginPath &path)
wxString GetVersion() const override
ComponentInterface provides name / vendor / version functions to identify plugins....
ComponentInterfaceSymbol pairs a persistent string identifier used internally with an optional,...
void EnablePlugin(const PluginID &ID, bool enable)
static PluginManager & Get()
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)?
static const PluginID & DefaultRegistrationCallback(PluginProvider *provider, ComponentInterface *ident)
virtual const PluginRegistryVersion & GetRegistryVersion() const =0
What is the plugin registry version number now in the file?
std::function< const PluginID &(PluginProvider *, ComponentInterface *) > RegistrationCallback
Further expand a path reported by FindModulePaths.
Holds a msgid for the translation catalog; may also bind format arguments.
Extend wxArrayString with move operations and construction and insertion fromstd::initializer_list.
ComponentInterfaceSymbol name
BuiltinEffectsModule::Factory factory
std::vector< Entry > Entries
static Entries & Registry()