Audacity  2.2.0
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  bool AutoRegisterPlugins(PluginManagerInterface & pm) override;
45  wxArrayString FindPlugins(PluginManagerInterface & pm) override;
46  bool RegisterPlugin(PluginManagerInterface & pm, const wxString & path) override;
47 
48  bool IsPluginValid(const wxString & path, bool bFast) override;
49 
50  IdentInterface *CreateInstance(const wxString & path) override;
51  void DeleteInstance(IdentInterface *instance) override;
52 
53 private:
54  // BuiltinEffectModule implementation
55 
56  std::unique_ptr<Effect> Instantiate(const wxString & path);
57 
58 private:
59  ModuleManagerInterface *mModMan;
60  wxString mPath;
61 
62  wxArrayString mNames;
63 };
IdentInterface * CreateInstance(const wxString &path) override
Definition: LoadEffects.cpp:330
bool Initialize() override
Definition: LoadEffects.cpp:269
wxString GetName() override
Definition: LoadEffects.cpp:244
wxString GetVendor() override
Definition: LoadEffects.cpp:249
std::unique_ptr< Effect > Instantiate(const wxString &path)
Definition: LoadEffects.cpp:349
ModuleManagerInterface * mModMan
Definition: LoadEffects.h:59
virtual ~BuiltinEffectsModule()
Definition: LoadEffects.cpp:225
bool AutoRegisterPlugins(PluginManagerInterface &pm) override
Definition: LoadEffects.cpp:290
wxString GetPath() override
Definition: LoadEffects.cpp:234
wxArrayString mNames
Definition: LoadEffects.h:62
BuiltinEffectsModule(ModuleManagerInterface *moduleManager, const wxString *path)
Definition: LoadEffects.cpp:215
Definition: LoadEffects.h:24
wxString GetSymbol() override
Definition: LoadEffects.cpp:239
bool IsPluginValid(const wxString &path, bool bFast) override
Definition: LoadEffects.cpp:323
wxArrayString FindPlugins(PluginManagerInterface &pm) override
Definition: LoadEffects.cpp:306
wxString GetVersion() override
Definition: LoadEffects.cpp:254
wxString mPath
Definition: LoadEffects.h:60
void Terminate() override
Definition: LoadEffects.cpp:284
bool RegisterPlugin(PluginManagerInterface &pm, const wxString &path) override
Definition: LoadEffects.cpp:311
void DeleteInstance(IdentInterface *instance) override
Definition: LoadEffects.cpp:337
wxString GetDescription() override
Definition: LoadEffects.cpp:260