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 
11 #include "audacity/ModuleInterface.h"
12 #include "audacity/EffectInterface.h"
13 #include "audacity/PluginInterface.h"
14 
15 #include "Effect.h"
16 #include "../MemoryX.h"
17 
19 //
20 // BuiltinEffectsModule
21 //
23 
24 class BuiltinEffectsModule final : public ModuleInterface
25 {
26 public:
27  BuiltinEffectsModule(ModuleManagerInterface *moduleManager, const wxString *path);
28  virtual ~BuiltinEffectsModule();
29 
30  // IdentInterface implementation
31 
32  wxString GetPath() override;
33  wxString GetSymbol() override;
34  wxString GetName() override;
35  wxString GetVendor() override;
36  wxString GetVersion() override;
37  wxString GetDescription() override;
38 
39  // ModuleInterface implementation
40 
41  bool Initialize() override;
42  void Terminate() override;
43 
44  wxArrayString FileExtensions() override { return {}; }
45  wxString InstallPath() override { return {}; }
46 
47  bool AutoRegisterPlugins(PluginManagerInterface & pm) override;
48  wxArrayString FindPluginPaths(PluginManagerInterface & pm) override;
49  unsigned DiscoverPluginsAtPath(
50  const wxString & path, wxString &errMsg,
51  const RegistrationCallback &callback)
52  override;
53 
54  bool IsPluginValid(const wxString & path, bool bFast) override;
55 
56  IdentInterface *CreateInstance(const wxString & path) override;
57  void DeleteInstance(IdentInterface *instance) override;
58 
59 private:
60  // BuiltinEffectModule implementation
61 
62  std::unique_ptr<Effect> Instantiate(const wxString & path);
63 
64 private:
65  ModuleManagerInterface *mModMan;
66  wxString mPath;
67 
68  wxArrayString mNames;
69 };
wxArrayString FileExtensions() override
Definition: LoadEffects.h:44
IdentInterface * CreateInstance(const wxString &path) override
bool Initialize() override
wxString GetName() override
wxString GetVendor() override
std::unique_ptr< Effect > Instantiate(const wxString &path)
ModuleManagerInterface * mModMan
Definition: LoadEffects.h:65
virtual ~BuiltinEffectsModule()
bool AutoRegisterPlugins(PluginManagerInterface &pm) override
wxString GetPath() override
wxArrayString mNames
Definition: LoadEffects.h:68
BuiltinEffectsModule(ModuleManagerInterface *moduleManager, const wxString *path)
wxString GetSymbol() override
bool IsPluginValid(const wxString &path, bool bFast) override
wxString GetVersion() override
wxArrayString FindPluginPaths(PluginManagerInterface &pm) override
unsigned DiscoverPluginsAtPath(const wxString &path, wxString &errMsg, const RegistrationCallback &callback) override
void Terminate() override
wxString InstallPath() override
Definition: LoadEffects.h:45
void DeleteInstance(IdentInterface *instance) override
wxString GetDescription() override