Audacity 3.2.0
|
VST3Effect factory. More...
#include <VST3EffectsModule.h>
Classes | |
struct | Factory |
Public Member Functions | |
PluginPath | GetPath () const override |
ComponentInterfaceSymbol | GetSymbol () const override |
VendorSymbol | GetVendor () const override |
wxString | GetVersion () const override |
TranslatableString | GetDescription () const override |
bool | Initialize () override |
Called immediately after creation. Let provider initialize. More... | |
void | Terminate () override |
Called just prior to deletion to allow releasing any resources. More... | |
EffectFamilySymbol | GetOptionalFamilySymbol () override |
A symbol identifying the family of plug-ins provided by this. More... | |
const FileExtensions & | GetFileExtensions () override |
File types associated with this protocol. More... | |
FilePath | InstallPath () override |
Where plug-in files should be copied to install them. More... | |
void | AutoRegisterPlugins (PluginManagerInterface &pluginManager) override |
Called so that a provider of a static set of plug-ins can register them. More... | |
bool | SupportsCustomModulePaths () const override |
PluginPaths | FindModulePaths (PluginManagerInterface &pluginManager) override |
unsigned | DiscoverPluginsAtPath (const PluginPath &path, TranslatableString &errMsg, const RegistrationCallback &callback) override |
bool | CheckPluginExist (const PluginPath &path) const override |
Performs plugin/module existence check, still plugin may fail to load. Implementation should avoid loading plugins during this check. More... | |
std::unique_ptr< ComponentInterface > | LoadPlugin (const PluginPath &path) override |
Load the plug-in at a path reported by DiscoverPluginsAtPath. More... | |
std::unique_ptr< Validator > | MakeValidator () const override |
Public Member Functions inherited from PluginProvider | |
virtual | ~PluginProvider () |
virtual bool | Initialize ()=0 |
Called immediately after creation. Let provider initialize. More... | |
virtual void | Terminate ()=0 |
Called just prior to deletion to allow releasing any resources. More... | |
virtual EffectFamilySymbol | GetOptionalFamilySymbol ()=0 |
A symbol identifying the family of plug-ins provided by this. More... | |
virtual const FileExtensions & | GetFileExtensions ()=0 |
File types associated with this protocol. More... | |
virtual FilePath | InstallPath ()=0 |
Where plug-in files should be copied to install them. More... | |
virtual void | AutoRegisterPlugins (PluginManagerInterface &pluginManager)=0 |
Called so that a provider of a static set of plug-ins can register them. More... | |
virtual bool | SupportsCustomModulePaths () const |
virtual PluginPaths | FindModulePaths (PluginManagerInterface &pluginManager)=0 |
virtual unsigned | DiscoverPluginsAtPath (const PluginPath &path, TranslatableString &errMsg, const RegistrationCallback &callback)=0 |
virtual bool | CheckPluginExist (const PluginPath &path) const =0 |
Performs plugin/module existence check, still plugin may fail to load. Implementation should avoid loading plugins during this check. More... | |
virtual std::unique_ptr< Validator > | MakeValidator () const |
virtual std::unique_ptr< ComponentInterface > | LoadPlugin (const PluginPath &path)=0 |
Load the plug-in at a path reported by DiscoverPluginsAtPath. More... | |
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 |
Private Member Functions | |
std::shared_ptr< VST3::Hosting::Module > | GetModule (const wxString &path) |
Private Attributes | |
std::unordered_map< wxString, std::weak_ptr< VST3::Hosting::Module > > | mModules |
Additional Inherited Members | |
Public Types inherited from PluginProvider | |
using | RegistrationCallback = std::function< const PluginID &(PluginProvider *, ComponentInterface *) > |
Further expand a path reported by FindModulePaths. More... | |
VST3Effect factory.
Definition at line 34 of file VST3EffectsModule.h.
|
overridevirtual |
Called so that a provider of a static set of plug-ins can register them.
Implements PluginProvider.
Definition at line 149 of file VST3EffectsModule.cpp.
|
overridevirtual |
Performs plugin/module existence check, still plugin may fail to load. Implementation should avoid loading plugins during this check.
path | Internal plugin path/ID discovered via DiscoverPluginsAtPath or module path returned by FindModulePaths |
Implements PluginProvider.
Definition at line 319 of file VST3EffectsModule.cpp.
References VST3Utils::ParsePluginPath().
|
overridevirtual |
Implements PluginProvider.
Definition at line 211 of file VST3EffectsModule.cpp.
References GlobalHook< Factory, std::remove_pointer_t< decltype(DefaultFunction)>, DefaultFunction, Options... >::Call(), GetModule(), and XO().
|
overridevirtual |
Find available "paths", which may each be presented to the user, and then reexamined (possibly loading libraries) to find one or more plug-ins
Paths are not necessarily file system paths. Only the provider reinterprets the paths.
Modules may be associated with plug-ins, one-to-many.
Implements PluginProvider.
Definition at line 159 of file VST3EffectsModule.cpp.
References staffpad::vo::copy(), PlatformCompatibility::GetExecutablePath(), and PluginManagerInterface::ReadCustomPaths().
|
overridevirtual |
Implements ComponentInterface.
Definition at line 113 of file VST3EffectsModule.cpp.
References XO().
|
overridevirtual |
File types associated with this protocol.
"Paths" returned by FindModulePaths() and passed back to DiscoverPluginsAtPath() have provider-specific meaning. They are not necessarily file system paths to existent files that could be placed in any folder and queried for plug-in information.
This function returns nonempty only when that is the case, and lists the possible extensions of such files (an empty string in a nonempty array means any file is a candidate).
Implements PluginProvider.
Definition at line 132 of file VST3EffectsModule.cpp.
|
private |
Definition at line 71 of file VST3EffectsModule.cpp.
References AudacityVst3HostApplication::Get(), and mModules.
Referenced by DiscoverPluginsAtPath(), and LoadPlugin().
|
overridevirtual |
A symbol identifying the family of plug-ins provided by this.
If it is not empty, then the family as a whole can be enabled or disabled by the user in Preferences
Implements PluginProvider.
Definition at line 127 of file VST3EffectsModule.cpp.
References VST3EffectBase::GetFamilySymbol().
|
overridevirtual |
Implements ComponentInterface.
Definition at line 93 of file VST3EffectsModule.cpp.
|
overridevirtual |
Implements ComponentInterface.
Definition at line 98 of file VST3EffectsModule.cpp.
References XO().
|
overridevirtual |
Implements ComponentInterface.
Definition at line 103 of file VST3EffectsModule.cpp.
References XO().
|
overridevirtual |
Implements ComponentInterface.
Definition at line 108 of file VST3EffectsModule.cpp.
|
overridevirtual |
Called immediately after creation. Let provider initialize.
Implements PluginProvider.
Definition at line 118 of file VST3EffectsModule.cpp.
|
overridevirtual |
Where plug-in files should be copied to install them.
Implements PluginProvider.
Definition at line 140 of file VST3EffectsModule.cpp.
|
overridevirtual |
Load the plug-in at a path reported by DiscoverPluginsAtPath.
Implements PluginProvider.
Definition at line 265 of file VST3EffectsModule.cpp.
References GlobalHook< Factory, std::remove_pointer_t< decltype(DefaultFunction)>, DefaultFunction, Options... >::Call(), GetModule(), and VST3Utils::ParsePluginPath().
|
overridevirtual |
Implementation can provide plugin specific checks to the plugin instances. By default returns null.
Reimplemented from PluginProvider.
Definition at line 313 of file VST3EffectsModule.cpp.
|
overridevirtual |
Reimplemented from PluginProvider.
Definition at line 153 of file VST3EffectsModule.cpp.
|
overridevirtual |
Called just prior to deletion to allow releasing any resources.
Implements PluginProvider.
Definition at line 123 of file VST3EffectsModule.cpp.
|
private |
Definition at line 38 of file VST3EffectsModule.h.
Referenced by GetModule().