Audacity  2.2.2
LoadVamp.h
Go to the documentation of this file.
1 /**********************************************************************
2 
3  Audacity: A Digital Audio Editor
4 
5  LoadVamp.h
6 
7  Chris Cannam
8 
9 **********************************************************************/
10 
11 #include "../../Audacity.h"
12 
13 #if defined(USE_VAMP)
14 
18 
20 //
21 // VampEffectsModule
22 //
24 
25 class VampEffectsModule final : public ModuleInterface
26 {
27 public:
28  VampEffectsModule(ModuleManagerInterface *moduleManager, const wxString *path);
29  virtual ~VampEffectsModule();
30 
31  // IdentInterface implementation
32 
33  wxString GetPath() 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  // VampEffectModule implementation
61 
62  std::unique_ptr<Vamp::Plugin> FindPlugin(const wxString & wpath,
63  int & output,
64  bool & hasParameters);
65 
66 private:
67  ModuleManagerInterface *mModMan;
68  wxString mPath;
69 };
70 
71 #endif
virtual bool IsPluginValid(const wxString &path, bool bFast)=0
virtual bool AutoRegisterPlugins(PluginManagerInterface &pluginManager)=0
virtual bool Initialize()=0
virtual IdentInterfaceSymbol GetSymbol()=0
virtual wxString InstallPath()=0
virtual wxString GetDescription()=0
virtual wxString GetVersion()=0
virtual void DeleteInstance(IdentInterface *instance)=0
virtual wxArrayString FindPluginPaths(PluginManagerInterface &pluginManager)=0
virtual IdentInterface * CreateInstance(const wxString &path)=0
IdentInterfaceSymbol pairs a persistent string identifier used internally with an optional...
virtual wxArrayString FileExtensions()=0
virtual IdentInterfaceSymbol GetVendor()=0
virtual wxString GetPath()=0
IdentInterface provides name / vendor / version functions to identify plugins. It is what makes a cla...
virtual void Terminate()=0
virtual unsigned DiscoverPluginsAtPath(const wxString &path, wxString &errMsg, const RegistrationCallback &callback)=0