Audacity  2.2.2
LoadEffects.h
Go to the documentation of this file.
1 /**********************************************************************
2 
3  Audacity: A Digital Audio Editor
4 
5  LoadEffects.h
6 
7  Dominic Mazzoni
8 
9 **********************************************************************/
10 
14 
15 #include "Effect.h"
16 #include "../MemoryX.h"
17 
19 //
20 // BuiltinEffectsModule
21 //
23 
25 {
26 public:
27  BuiltinEffectsModule(ModuleManagerInterface *moduleManager, const wxString *path);
28  virtual ~BuiltinEffectsModule();
29 
30  // IdentInterface implementation
31 
32  wxString GetPath() override;
35  wxString GetVersion() override;
36  wxString GetDescription() override;
37 
38  // ModuleInterface implementation
39 
40  bool Initialize() override;
41  void Terminate() override;
42 
43  wxArrayString FileExtensions() override { return {}; }
44  wxString InstallPath() override { return {}; }
45 
46  bool AutoRegisterPlugins(PluginManagerInterface & pm) override;
47  wxArrayString FindPluginPaths(PluginManagerInterface & pm) override;
48  unsigned DiscoverPluginsAtPath(
49  const wxString & path, wxString &errMsg,
50  const RegistrationCallback &callback)
51  override;
52 
53  bool IsPluginValid(const wxString & path, bool bFast) override;
54 
55  IdentInterface *CreateInstance(const wxString & path) override;
56  void DeleteInstance(IdentInterface *instance) override;
57 
58 private:
59  // BuiltinEffectModule implementation
60 
61  std::unique_ptr<Effect> Instantiate(const wxString & path);
62 
63 private:
65  wxString mPath;
66 
67  wxArrayString mNames;
68 };
wxArrayString FileExtensions() override
Definition: LoadEffects.h:43
IdentInterface * CreateInstance(const wxString &path) override
bool Initialize() override
std::unique_ptr< Effect > Instantiate(const wxString &path)
ModuleManagerInterface * mModMan
Definition: LoadEffects.h:64
virtual ~BuiltinEffectsModule()
bool AutoRegisterPlugins(PluginManagerInterface &pm) override
wxString GetPath() override
wxArrayString mNames
Definition: LoadEffects.h:67
IdentInterfaceSymbol pairs a persistent string identifier used internally with an optional...
IdentInterfaceSymbol GetSymbol() override
BuiltinEffectsModule(ModuleManagerInterface *moduleManager, const wxString *path)
Internal module to auto register all built in effects.
Definition: LoadEffects.h:24
IdentInterfaceSymbol GetVendor() override
bool IsPluginValid(const wxString &path, bool bFast) override
wxString GetVersion() override
std::function< const PluginID &(ModuleInterface *, IdentInterface *) > RegistrationCallback
wxArrayString FindPluginPaths(PluginManagerInterface &pm) override
IdentInterface provides name / vendor / version functions to identify plugins. It is what makes a cla...
unsigned DiscoverPluginsAtPath(const wxString &path, wxString &errMsg, const RegistrationCallback &callback) override
void Terminate() override
wxString InstallPath() override
Definition: LoadEffects.h:44
void DeleteInstance(IdentInterface *instance) override
wxString GetDescription() override