/********************************************************************** Audacity: A Digital Audio Editor LoadEffects.h Dominic Mazzoni **********************************************************************/ #include "audacity/ModuleInterface.h" #include "audacity/EffectInterface.h" #include "audacity/PluginInterface.h" #include "Effect.h" /////////////////////////////////////////////////////////////////////////////// // // BuiltinEffectsModule // /////////////////////////////////////////////////////////////////////////////// class BuiltinEffectsModule : public ModuleInterface { public: BuiltinEffectsModule(ModuleManagerInterface *moduleManager, const wxString *path); virtual ~BuiltinEffectsModule(); // IdentInterface implementatino virtual wxString GetPath(); virtual wxString GetSymbol(); virtual wxString GetName(); virtual wxString GetVendor(); virtual wxString GetVersion(); virtual wxString GetDescription(); // ModuleInterface implementation virtual bool Initialize(); virtual void Terminate(); virtual bool AutoRegisterPlugins(PluginManagerInterface & pm); virtual wxArrayString FindPlugins(PluginManagerInterface & pm); virtual bool RegisterPlugin(PluginManagerInterface & pm, const wxString & path); virtual bool IsPluginValid(const wxString & path); virtual IdentInterface *CreateInstance(const wxString & path); virtual void DeleteInstance(IdentInterface *instance); private: // BuiltinEffectModule implementation Effect *Instantiate(const wxString & path); private: ModuleManagerInterface *mModMan; wxString mPath; wxArrayString mNames; };