1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-07-27 14:09:33 +02:00
audacity/src/effects/LoadEffects.h
Paul Licameli 3c9cdac778 Drag-and-drop checks file extensions first for plug-in candidates...
... Avoids big delays in drag-and-drop importation caused by
765ca0c8136134a1d65bfad0ea39682a83d3d984
2018-01-01 10:29:26 -05:00

70 lines
1.9 KiB
C++

/**********************************************************************
Audacity: A Digital Audio Editor
LoadEffects.h
Dominic Mazzoni
**********************************************************************/
#include "audacity/ModuleInterface.h"
#include "audacity/EffectInterface.h"
#include "audacity/PluginInterface.h"
#include "Effect.h"
#include "../MemoryX.h"
///////////////////////////////////////////////////////////////////////////////
//
// BuiltinEffectsModule
//
///////////////////////////////////////////////////////////////////////////////
class BuiltinEffectsModule final : public ModuleInterface
{
public:
BuiltinEffectsModule(ModuleManagerInterface *moduleManager, const wxString *path);
virtual ~BuiltinEffectsModule();
// IdentInterface implementation
wxString GetPath() override;
wxString GetSymbol() override;
wxString GetName() override;
wxString GetVendor() override;
wxString GetVersion() override;
wxString GetDescription() override;
// ModuleInterface implementation
bool Initialize() override;
void Terminate() override;
wxArrayString FileExtensions() override { return {}; }
wxString InstallPath() override { return {}; }
bool AutoRegisterPlugins(PluginManagerInterface & pm) override;
wxArrayString FindPluginPaths(PluginManagerInterface & pm) override;
unsigned DiscoverPluginsAtPath(
const wxString & path, wxString &errMsg,
const RegistrationCallback &callback)
override;
bool IsPluginValid(const wxString & path, bool bFast) override;
IdentInterface *CreateInstance(const wxString & path) override;
void DeleteInstance(IdentInterface *instance) override;
private:
// BuiltinEffectModule implementation
std::unique_ptr<Effect> Instantiate(const wxString & path);
private:
ModuleManagerInterface *mModMan;
wxString mPath;
wxArrayString mNames;
};