Audacity 3.2.0
Public Types | Public Member Functions | List of all members
ModuleInterface Class Referenceabstract

#include <ModuleInterface.h>

Inheritance diagram for ModuleInterface:
[legend]
Collaboration diagram for ModuleInterface:
[legend]

Public Types

using RegistrationCallback = std::function< const PluginID &(ModuleInterface *, ComponentInterface *) >
 

Public Member Functions

virtual ~ModuleInterface ()
 
virtual bool Initialize ()=0
 
virtual void Terminate ()=0
 
virtual EffectFamilySymbol GetOptionalFamilySymbol ()=0
 
virtual const FileExtensionsGetFileExtensions ()=0
 
virtual FilePath InstallPath ()=0
 
virtual bool AutoRegisterPlugins (PluginManagerInterface &pluginManager)=0
 
virtual PluginPaths FindPluginPaths (PluginManagerInterface &pluginManager)=0
 
virtual unsigned DiscoverPluginsAtPath (const PluginPath &path, TranslatableString &errMsg, const RegistrationCallback &callback)=0
 
virtual bool IsPluginValid (const PluginPath &path, bool bFast)=0
 
virtual std::unique_ptr< ComponentInterfaceCreateInstance (const PluginPath &path)=0
 
- Public Member Functions inherited from ComponentInterface
virtual ~ComponentInterface ()
 
virtual PluginPath GetPath () const =0
 
virtual ComponentInterfaceSymbol GetSymbol () const =0
 
virtual VendorSymbol GetVendor () const =0
 
virtual wxString GetVersion () const =0
 
virtual TranslatableString GetDescription () const =0
 
TranslatableString GetName () const
 
virtual bool DefineParams (ShuttleParams &WXUNUSED(S))
 

Detailed Description

ModuleInterface is a generic dll or so interface for Audacity, that is used for plug ins. Classes derived from it can handle more specific plug in types.

Definition at line 73 of file ModuleInterface.h.

Member Typedef Documentation

◆ RegistrationCallback

Definition at line 126 of file ModuleInterface.h.

Constructor & Destructor Documentation

◆ ~ModuleInterface()

ModuleInterface::~ModuleInterface ( )
virtualdefault

Member Function Documentation

◆ AutoRegisterPlugins()

virtual bool ModuleInterface::AutoRegisterPlugins ( PluginManagerInterface pluginManager)
pure virtual

◆ CreateInstance()

virtual std::unique_ptr< ComponentInterface > ModuleInterface::CreateInstance ( const PluginPath path)
pure virtual

◆ DiscoverPluginsAtPath()

virtual unsigned ModuleInterface::DiscoverPluginsAtPath ( const PluginPath path,
TranslatableString errMsg,
const RegistrationCallback callback 
)
pure virtual

◆ FindPluginPaths()

virtual PluginPaths ModuleInterface::FindPluginPaths ( PluginManagerInterface pluginManager)
pure virtual

◆ GetFileExtensions()

virtual const FileExtensions & ModuleInterface::GetFileExtensions ( )
pure virtual

◆ GetOptionalFamilySymbol()

virtual EffectFamilySymbol ModuleInterface::GetOptionalFamilySymbol ( )
pure virtual

Implemented in BuiltinCommandsModule, AudioUnitEffectsModule, LadspaEffectsModule, BuiltinEffectsModule, LV2EffectsModule, NyquistEffectsModule, VampEffectsModule, VSTEffectsModule, and VST3EffectsModule.

Referenced by PluginManager::RegisterPlugin().

Here is the caller graph for this function:

◆ Initialize()

virtual bool ModuleInterface::Initialize ( )
pure virtual

◆ InstallPath()

virtual FilePath ModuleInterface::InstallPath ( )
pure virtual

Implemented in BuiltinCommandsModule, AudioUnitEffectsModule, LadspaEffectsModule, BuiltinEffectsModule, LV2EffectsModule, NyquistEffectsModule, VampEffectsModule, VSTEffectsModule, and VST3EffectsModule.

Referenced by PluginManager::DropFile().

Here is the caller graph for this function:

◆ IsPluginValid()

virtual bool ModuleInterface::IsPluginValid ( const PluginPath path,
bool  bFast 
)
pure virtual

◆ Terminate()

virtual void ModuleInterface::Terminate ( )
pure virtual

Implemented in BuiltinCommandsModule, AudioUnitEffectsModule, LadspaEffectsModule, BuiltinEffectsModule, LV2EffectsModule, NyquistEffectsModule, VampEffectsModule, VSTEffectsModule, and VST3EffectsModule.

Referenced by ModuleInterfaceDeleter::operator()().

Here is the caller graph for this function:

The documentation for this class was generated from the following files: