svcore
1.9
|
#include <LADSPAPluginFactory.h>
Public Member Functions | |
virtual | ~LADSPAPluginFactory () |
void | discoverPlugins () override |
Look up the plugin path and find the plugins in it. More... | |
const std::vector< QString > & | getPluginIdentifiers () const override |
Return a reference to a list of all plugin identifiers that can be created by this factory. More... | |
void | enumeratePlugins (std::vector< QString > &list) override |
Append to the given list descriptions of all the available plugins and their ports. More... | |
RealTimePluginDescriptor | getPluginDescriptor (QString identifier) const override |
Get some basic information about a plugin (rapidly). More... | |
std::shared_ptr< RealTimePluginInstance > | instantiatePlugin (QString identifier, int clientId, int position, sv_samplerate_t sampleRate, int blockSize, int channels) override |
Instantiate a plugin. More... | |
QString | getPluginCategory (QString identifier) override |
Get category metadata about a plugin (without instantiating it). More... | |
QString | getPluginLibraryPath (QString identifier) override |
Get the full file path (including both directory and filename) of the library file that provides a given plugin identifier. More... | |
float | getPortMinimum (const LADSPA_Descriptor *, int port) |
float | getPortMaximum (const LADSPA_Descriptor *, int port) |
float | getPortDefault (const LADSPA_Descriptor *, int port) |
float | getPortQuantization (const LADSPA_Descriptor *, int port) |
int | getPortDisplayHint (const LADSPA_Descriptor *, int port) |
Static Public Member Functions | |
static std::vector< QString > | getPluginPath () |
static RealTimePluginFactory * | instance (QString pluginType) |
static RealTimePluginFactory * | instanceFor (QString identifier) |
static std::vector< QString > | getAllPluginIdentifiers () |
static void | enumerateAllPlugins (std::vector< QString > &) |
static void | setSampleRate (sv_samplerate_t sampleRate) |
Protected Types | |
typedef std::map< QString, void * > | LibraryHandleMap |
Protected Member Functions | |
LADSPAPluginFactory () | |
virtual PluginScan::PluginType | getPluginType () const |
virtual std::vector< QString > | getLRDFPath (QString &baseUri) |
virtual void | discoverPluginsFrom (QString soName) |
virtual void | generateTaxonomy (QString uri, QString base) |
virtual void | generateFallbackCategories () |
virtual const LADSPA_Descriptor * | getLADSPADescriptor (QString identifier) |
void | loadLibrary (QString soName) |
void | unloadLibrary (QString soName) |
void | unloadUnusedLibraries () |
Protected Attributes | |
std::vector< QString > | m_identifiers |
std::map< QString, QString > | m_libraries |
std::map< QString, RealTimePluginDescriptor > | m_rtDescriptors |
std::map< QString, QString > | m_taxonomy |
std::map< unsigned long, QString > | m_lrdfTaxonomy |
std::map< unsigned long, std::map< int, float > > | m_portDefaults |
std::set< std::weak_ptr< RealTimePluginInstance >, std::owner_less< std::weak_ptr< RealTimePluginInstance > > > | m_instances |
LibraryHandleMap | m_libraryHandles |
Static Protected Attributes | |
static sv_samplerate_t | m_sampleRate = 48000 |
Friends | |
class | RealTimePluginFactory |
Detailed Description
Definition at line 36 of file LADSPAPluginFactory.h.
Member Typedef Documentation
|
protected |
Definition at line 101 of file LADSPAPluginFactory.h.
Constructor & Destructor Documentation
|
virtual |
Definition at line 52 of file LADSPAPluginFactory.cpp.
References unloadUnusedLibraries().
|
protected |
Definition at line 45 of file LADSPAPluginFactory.cpp.
Member Function Documentation
|
overridevirtual |
Look up the plugin path and find the plugins in it.
Called automatically after construction of a factory.
Implements RealTimePluginFactory.
Definition at line 595 of file LADSPAPluginFactory.cpp.
References discoverPluginsFrom(), generateFallbackCategories(), generateTaxonomy(), PluginScan::getCandidateLibrariesFor(), PluginScan::getInstance(), getLRDFPath(), getPluginPath(), and getPluginType().
Referenced by RealTimePluginFactory::instance().
|
overridevirtual |
Return a reference to a list of all plugin identifiers that can be created by this factory.
Implements RealTimePluginFactory.
Definition at line 62 of file LADSPAPluginFactory.cpp.
References m_identifiers.
|
overridevirtual |
Append to the given list descriptions of all the available plugins and their ports.
This is in a standard format, see the LADSPA implementation for details.
Implements RealTimePluginFactory.
Definition at line 74 of file LADSPAPluginFactory.cpp.
References PortType::Audio, PortType::Control, getLADSPADescriptor(), getPortDefault(), getPortDisplayHint(), getPortMaximum(), getPortMinimum(), PortType::Input, m_identifiers, m_taxonomy, PortType::Output, SVCERR, and unloadUnusedLibraries().
|
overridevirtual |
Get some basic information about a plugin (rapidly).
Implements RealTimePluginFactory.
Definition at line 136 of file LADSPAPluginFactory.cpp.
References m_rtDescriptors.
|
overridevirtual |
Instantiate a plugin.
Implements RealTimePluginFactory.
Definition at line 332 of file LADSPAPluginFactory.cpp.
References getLADSPADescriptor(), RealTimePluginFactory::instance(), m_instances, and SVDEBUG.
|
overridevirtual |
Get category metadata about a plugin (without instantiating it).
Implements RealTimePluginFactory.
Definition at line 852 of file LADSPAPluginFactory.cpp.
References m_taxonomy.
|
overridevirtual |
Get the full file path (including both directory and filename) of the library file that provides a given plugin identifier.
Note getPluginIdentifiers() must have been called before this has access to the necessary information.
Implements RealTimePluginFactory.
Definition at line 68 of file LADSPAPluginFactory.cpp.
References m_libraries.
float LADSPAPluginFactory::getPortMinimum | ( | const LADSPA_Descriptor * | descriptor, |
int | port | ||
) |
Definition at line 149 of file LADSPAPluginFactory.cpp.
References RealTimePluginFactory::m_sampleRate.
Referenced by DSSIPluginFactory::enumeratePlugins(), enumeratePlugins(), LADSPAPluginInstance::getParameterDescriptors(), DSSIPluginInstance::getParameterDescriptors(), getPortDefault(), getPortQuantization(), LADSPAPluginInstance::setParameterValue(), and DSSIPluginInstance::setParameterValue().
float LADSPAPluginFactory::getPortMaximum | ( | const LADSPA_Descriptor * | descriptor, |
int | port | ||
) |
Definition at line 176 of file LADSPAPluginFactory.cpp.
References RealTimePluginFactory::m_sampleRate.
Referenced by DSSIPluginFactory::enumeratePlugins(), enumeratePlugins(), LADSPAPluginInstance::getParameterDescriptors(), DSSIPluginInstance::getParameterDescriptors(), getPortDefault(), getPortQuantization(), LADSPAPluginInstance::setParameterValue(), and DSSIPluginInstance::setParameterValue().
float LADSPAPluginFactory::getPortDefault | ( | const LADSPA_Descriptor * | descriptor, |
int | port | ||
) |
!! No – the min and max have already been multiplied by the rate,
Definition at line 199 of file LADSPAPluginFactory.cpp.
References Preferences::getInstance(), getPortMaximum(), getPortMinimum(), Preferences::getTuningFrequency(), and m_portDefaults.
Referenced by LADSPAPluginInstance::connectPorts(), DSSIPluginInstance::connectPorts(), DSSIPluginFactory::enumeratePlugins(), enumeratePlugins(), LADSPAPluginInstance::getParameterDefault(), DSSIPluginInstance::getParameterDefault(), LADSPAPluginInstance::getParameterDescriptors(), and DSSIPluginInstance::getParameterDescriptors().
float LADSPAPluginFactory::getPortQuantization | ( | const LADSPA_Descriptor * | descriptor, |
int | port | ||
) |
Definition at line 303 of file LADSPAPluginFactory.cpp.
References getPortDisplayHint(), getPortMaximum(), getPortMinimum(), PortHint::Integer, and PortHint::Toggled.
Referenced by LADSPAPluginInstance::getParameterDescriptors(), and DSSIPluginInstance::getParameterDescriptors().
int LADSPAPluginFactory::getPortDisplayHint | ( | const LADSPA_Descriptor * | descriptor, |
int | port | ||
) |
Definition at line 317 of file LADSPAPluginFactory.cpp.
References PortHint::Integer, PortHint::Logarithmic, PortHint::NoHint, and PortHint::Toggled.
Referenced by DSSIPluginFactory::enumeratePlugins(), enumeratePlugins(), LADSPAPluginInstance::getParameterDisplayHint(), DSSIPluginInstance::getParameterDisplayHint(), and getPortQuantization().
|
static |
Definition at line 523 of file LADSPAPluginFactory.cpp.
References DEFAULT_LADSPA_PATH, getEnvUtf8(), and PATH_SEPARATOR.
Referenced by discoverPlugins(), generateFallbackCategories(), getLRDFPath(), and loadLibrary().
|
inlineprotectedvirtual |
Reimplemented in DSSIPluginFactory.
Definition at line 74 of file LADSPAPluginFactory.h.
References discoverPluginsFrom(), generateFallbackCategories(), generateTaxonomy(), getLADSPADescriptor(), getLRDFPath(), PluginScan::LADSPAPlugin, loadLibrary(), unloadLibrary(), and unloadUnusedLibraries().
Referenced by discoverPlugins().
|
protectedvirtual |
Reimplemented in DSSIPluginFactory.
Definition at line 571 of file LADSPAPluginFactory.cpp.
References getPluginPath().
Referenced by discoverPlugins(), and getPluginType().
|
protectedvirtual |
Reimplemented in DSSIPluginFactory.
Definition at line 643 of file LADSPAPluginFactory.cpp.
References RealTimePluginDescriptor::audioInputPortCount, RealTimePluginDescriptor::audioOutputPortCount, RealTimePluginDescriptor::category, RealTimePluginDescriptor::controlOutputPortCount, RealTimePluginDescriptor::controlOutputPortNames, RealTimePluginDescriptor::copyright, PluginIdentifier::createIdentifier(), DLCLOSE, DLERROR, DLOPEN, DLSYM, RealTimePluginDescriptor::isSynth, RealTimePluginDescriptor::label, m_identifiers, m_libraries, m_lrdfTaxonomy, m_portDefaults, m_rtDescriptors, m_taxonomy, RealTimePluginDescriptor::maker, RealTimePluginDescriptor::name, RealTimePluginDescriptor::parameterCount, and SVCERR.
Referenced by discoverPlugins(), and getPluginType().
|
protectedvirtual |
Definition at line 822 of file LADSPAPluginFactory.cpp.
References m_lrdfTaxonomy.
Referenced by discoverPlugins(), and getPluginType().
|
protectedvirtual |
Definition at line 774 of file LADSPAPluginFactory.cpp.
References PluginIdentifier::canonicalise(), getPluginPath(), and m_taxonomy.
Referenced by discoverPlugins(), and getPluginType().
|
protectedvirtual |
Reimplemented in DSSIPluginFactory.
Definition at line 365 of file LADSPAPluginFactory.cpp.
References DLSYM, loadLibrary(), m_libraryHandles, PluginIdentifier::parseIdentifier(), and SVCERR.
Referenced by enumeratePlugins(), getPluginType(), and instantiatePlugin().
|
protected |
Definition at line 402 of file LADSPAPluginFactory.cpp.
References DLERROR, DLOPEN, getPluginPath(), m_libraryHandles, PLUGIN_GLOB, SVCERR, and SVDEBUG.
Referenced by DSSIPluginFactory::getDSSIDescriptor(), getLADSPADescriptor(), and getPluginType().
|
protected |
Definition at line 463 of file LADSPAPluginFactory.cpp.
References DLCLOSE, and m_libraryHandles.
Referenced by getPluginType(), and unloadUnusedLibraries().
|
protected |
Definition at line 474 of file LADSPAPluginFactory.cpp.
References PluginIdentifier::BUILTIN_PLUGIN_SONAME, m_instances, m_libraryHandles, PluginIdentifier::parseIdentifier(), and unloadLibrary().
Referenced by DSSIPluginFactory::enumeratePlugins(), enumeratePlugins(), getPluginType(), and ~LADSPAPluginFactory().
|
staticinherited |
Definition at line 43 of file RealTimePluginFactory.cpp.
References _dssiInstance, _ladspaInstance, and discoverPlugins().
Referenced by RealTimePluginFactory::enumerateAllPlugins(), RealTimePluginFactory::getAllPluginIdentifiers(), RealTimePluginFactory::instanceFor(), DSSIPluginFactory::instantiatePlugin(), instantiatePlugin(), DSSIPluginInstance::requestNonRTThread(), and DSSIPluginInstance::runGrouped().
|
staticinherited |
Definition at line 65 of file RealTimePluginFactory.cpp.
References RealTimePluginFactory::instance(), and PluginIdentifier::parseIdentifier().
Referenced by ModelTransformerFactory::createTransformer(), ModelTransformerFactory::getConfigurationForTransform(), TransformFactory::getTransformChannelRange(), Transform::getType(), TransformFactory::instantiateDefaultPluginFor(), TransformFactory::populateRealTimePlugins(), and RealTimeEffectModelTransformer::RealTimeEffectModelTransformer().
|
staticinherited |
Definition at line 73 of file RealTimePluginFactory.cpp.
References RealTimePluginFactory::getPluginIdentifiers(), RealTimePluginFactory::instance(), and RestoreStartupLocale().
Referenced by TransformFactory::populateRealTimePlugins().
|
staticinherited |
Definition at line 110 of file RealTimePluginFactory.cpp.
References RealTimePluginFactory::enumeratePlugins(), RealTimePluginFactory::instance(), and RestoreStartupLocale().
|
inlinestaticinherited |
Definition at line 60 of file RealTimePluginFactory.h.
Friends And Related Function Documentation
|
friend |
Definition at line 72 of file LADSPAPluginFactory.h.
Member Data Documentation
|
protected |
Definition at line 90 of file LADSPAPluginFactory.h.
Referenced by DSSIPluginFactory::discoverPluginsFrom(), discoverPluginsFrom(), DSSIPluginFactory::enumeratePlugins(), enumeratePlugins(), and getPluginIdentifiers().
|
protected |
Definition at line 91 of file LADSPAPluginFactory.h.
Referenced by DSSIPluginFactory::discoverPluginsFrom(), discoverPluginsFrom(), and getPluginLibraryPath().
|
protected |
Definition at line 92 of file LADSPAPluginFactory.h.
Referenced by DSSIPluginFactory::discoverPluginsFrom(), discoverPluginsFrom(), and getPluginDescriptor().
|
protected |
Definition at line 94 of file LADSPAPluginFactory.h.
Referenced by DSSIPluginFactory::discoverPluginsFrom(), discoverPluginsFrom(), DSSIPluginFactory::enumeratePlugins(), enumeratePlugins(), generateFallbackCategories(), and getPluginCategory().
|
protected |
Definition at line 95 of file LADSPAPluginFactory.h.
Referenced by DSSIPluginFactory::discoverPluginsFrom(), discoverPluginsFrom(), and generateTaxonomy().
|
protected |
Definition at line 96 of file LADSPAPluginFactory.h.
Referenced by DSSIPluginFactory::discoverPluginsFrom(), discoverPluginsFrom(), and getPortDefault().
|
protected |
Definition at line 99 of file LADSPAPluginFactory.h.
Referenced by DSSIPluginFactory::instantiatePlugin(), instantiatePlugin(), and unloadUnusedLibraries().
|
protected |
Definition at line 102 of file LADSPAPluginFactory.h.
Referenced by DSSIPluginFactory::getDSSIDescriptor(), getLADSPADescriptor(), loadLibrary(), unloadLibrary(), and unloadUnusedLibraries().
|
staticprotectedinherited |
Definition at line 112 of file RealTimePluginFactory.h.
Referenced by getPortMaximum(), and getPortMinimum().
The documentation for this class was generated from the following files:
Generated by 1.8.11