|  | 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().