1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-10-16 15:41:11 +02:00

Fix for bug #833

This allows duplicate items in the effects menus and provides a
means to uniquely identify each item.
This commit is contained in:
lllucius
2015-01-19 16:28:48 +00:00
parent e5d2ef6ecd
commit 10f62cdae5
30 changed files with 283 additions and 235 deletions

View File

@@ -50,7 +50,6 @@ public:
virtual ~IdentInterface() {};
// These should return an untranslated value
virtual PluginID GetID() = 0;
virtual wxString GetPath() = 0;
virtual wxString GetSymbol() = 0;

View File

@@ -91,10 +91,10 @@ public:
// For modules providing an interface to other dynamically loaded plugins,
// the module returns true if the plugin is still valid, otherwise false.
virtual bool IsPluginValid(const PluginID & ID, const wxString & path) = 0;
virtual bool IsPluginValid(const wxString & path) = 0;
// When appropriate, CreateInstance() will be called to instantiate the plugin.
virtual IdentInterface *CreateInstance(const PluginID & ID, const wxString & path) = 0;
virtual IdentInterface *CreateInstance(const wxString & path) = 0;
// When appropriate, DeleteInstance() will be called to delete the plugin.
virtual void DeleteInstance(IdentInterface *instance) = 0;

View File

@@ -47,15 +47,18 @@
#include "audacity/EffectInterface.h"
#include "audacity/IdentInterface.h"
#include "audacity/ImporterInterface.h"
#include "audacity/ModuleInterface.h"
class ModuleInterface;
class PluginManagerInterface
{
public:
virtual ~PluginManagerInterface() {};
virtual void RegisterModulePlugin(IdentInterface *module) = 0;
virtual void RegisterEffectPlugin(IdentInterface *provider, EffectIdentInterface *effect) = 0;
virtual void RegisterImporterPlugin(IdentInterface *provider, ImporterInterface *importer) = 0;
virtual const PluginID & RegisterModulePlugin(ModuleInterface *module) = 0;
virtual const PluginID & RegisterEffectPlugin(ModuleInterface *provider, EffectIdentInterface *effect) = 0;
virtual const PluginID & RegisterImporterPlugin(ModuleInterface *provider, ImporterInterface *importer) = 0;
virtual void FindFilesInPathList(const wxString & pattern,
const wxArrayString & pathList,