Audacity 3.2.0
LadspaEffectsModule.h
Go to the documentation of this file.
1/**********************************************************************
2
3 Audacity: A Digital Audio Editor
4
5 LadspaEffectsModule.h
6
7 Dominic Mazzoni
8
9 Paul Licameli split from LadspaEffect.h
10
11**********************************************************************/
12#ifndef __AUDACITY_LADSPA_EFFECTS_MODULE__
13#define __AUDACITY_LADSPA_EFFECTS_MODULE__
14
15#include "Callable.h"
16#include "GlobalVariable.h"
17#include "LadspaEffectBase.h"
18#include "PluginProvider.h"
19
21{
22public:
23 struct LADSPA_API Factory : DefaultedGlobalHook<Factory,
24 Callable::UniquePtrFactory<LadspaEffectBase, const wxString &, int>
25 ::Function
26 >{};
27
29 virtual ~LadspaEffectsModule();
30
31 // ComponentInterface implementation
32
33 PluginPath GetPath() const override;
34 ComponentInterfaceSymbol GetSymbol() const override;
35 VendorSymbol GetVendor() const override;
36 wxString GetVersion() const override;
37 TranslatableString GetDescription() const override;
38
39 // PluginProvider implementation
40
41 bool Initialize() override;
42 void Terminate() override;
43 bool SupportsCustomModulePaths() const override;
45
46 const FileExtensions &GetFileExtensions() override;
47 FilePath InstallPath() override;
48
51 unsigned DiscoverPluginsAtPath(
52 const PluginPath & path, TranslatableString &errMsg,
53 const RegistrationCallback &callback)
54 override;
55
56 bool CheckPluginExist(const PluginPath& path) const override;
57
58 std::unique_ptr<ComponentInterface>
59 LoadPlugin(const PluginPath & path) override;
60
61 // LadspaEffectModule implementation
62
64};
65
66#endif
Functions and classes that generate callable objects.
std::vector< PluginPath > PluginPaths
Definition: Identifier.h:215
wxString PluginPath
type alias for identifying a Plugin supplied by a module, each module defining its own interpretation...
Definition: Identifier.h:214
Generalized interface for discovery of plug-ins for one protocol.
wxString FilePath
Definition: Project.h:21
ComponentInterfaceSymbol pairs a persistent string identifier used internally with an optional,...
PluginPaths FindModulePaths(PluginManagerInterface &pm) override
ComponentInterfaceSymbol GetSymbol() const override
FilePaths GetSearchPaths(PluginManagerInterface &pluginManager)
std::unique_ptr< ComponentInterface > LoadPlugin(const PluginPath &path) override
Load the plug-in at a path reported by DiscoverPluginsAtPath.
FilePath InstallPath() override
Where plug-in files should be copied to install them.
TranslatableString GetDescription() const override
EffectFamilySymbol GetOptionalFamilySymbol() override
A symbol identifying the family of plug-ins provided by this.
bool SupportsCustomModulePaths() const override
unsigned DiscoverPluginsAtPath(const PluginPath &path, TranslatableString &errMsg, const RegistrationCallback &callback) override
const FileExtensions & GetFileExtensions() override
File types associated with this protocol.
VendorSymbol GetVendor() const override
void Terminate() override
Called just prior to deletion to allow releasing any resources.
wxString GetVersion() const override
bool Initialize() override
Called immediately after creation. Let provider initialize.
PluginPath GetPath() const override
bool CheckPluginExist(const PluginPath &path) const override
Performs plugin/module existence check, still plugin may fail to load. Implementation should avoid lo...
void AutoRegisterPlugins(PluginManagerInterface &pm) override
Called so that a provider of a static set of plug-ins can register them.
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.