|
svcore
1.9
|
#include <LADSPAPluginFactory.h>


Public Member Functions | |
| virtual | ~LADSPAPluginFactory () |
| virtual void | discoverPlugins () |
| Look up the plugin path and find the plugins in it. More... | |
| virtual const std::vector< QString > & | getPluginIdentifiers () const |
| Return a reference to a list of all plugin identifiers that can be created by this factory. More... | |
| virtual void | enumeratePlugins (std::vector< QString > &list) |
| Append to the given list descriptions of all the available plugins and their ports. More... | |
| virtual const RealTimePluginDescriptor * | getPluginDescriptor (QString identifier) const |
| Get some basic information about a plugin (rapidly). More... | |
| virtual RealTimePluginInstance * | instantiatePlugin (QString identifier, int clientId, int position, unsigned int sampleRate, unsigned int blockSize, unsigned int channels) |
| Instantiate a plugin. More... | |
| virtual QString | getPluginCategory (QString identifier) |
| Get category metadata about a plugin (without instantiating it). 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 RealTimePluginFactory * | instance (QString pluginType) |
| static RealTimePluginFactory * | instanceFor (QString identifier) |
| static std::vector< QString > | getAllPluginIdentifiers () |
| static void | enumerateAllPlugins (std::vector< QString > &) |
| static void | setSampleRate (int sampleRate) |
Protected Types | |
| typedef std::map< QString, void * > | LibraryHandleMap |
Protected Member Functions | |
| LADSPAPluginFactory () | |
| virtual std::vector< QString > | getPluginPath () |
| virtual std::vector< QString > | getLRDFPath (QString &baseUri) |
| virtual void | discoverPluginsFrom (QString soName) |
| virtual void | generateTaxonomy (QString uri, QString base) |
| virtual void | generateFallbackCategories () |
| virtual void | releasePlugin (RealTimePluginInstance *, QString) |
| 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, 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< RealTimePluginInstance * > | m_instances |
| LibraryHandleMap | m_libraryHandles |
Static Protected Attributes | |
| static int | m_sampleRate = 48000 |
Friends | |
| class | RealTimePluginFactory |
Definition at line 34 of file LADSPAPluginFactory.h.
|
protected |
Definition at line 91 of file LADSPAPluginFactory.h.
|
virtual |
Definition at line 51 of file LADSPAPluginFactory.cpp.
References m_instances, and unloadUnusedLibraries().
|
protected |
Definition at line 44 of file LADSPAPluginFactory.cpp.
|
virtual |
Look up the plugin path and find the plugins in it.
Called automatically after construction of a factory.
Implements RealTimePluginFactory.
Definition at line 632 of file LADSPAPluginFactory.cpp.
References discoverPluginsFrom(), generateFallbackCategories(), generateTaxonomy(), getLRDFPath(), getPluginPath(), and PLUGIN_GLOB.
Referenced by RealTimePluginFactory::instance().
|
virtual |
Return a reference to a list of all plugin identifiers that can be created by this factory.
Implements RealTimePluginFactory.
Definition at line 67 of file LADSPAPluginFactory.cpp.
References m_identifiers.
|
virtual |
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.
Reimplemented in DSSIPluginFactory.
Definition at line 73 of file LADSPAPluginFactory.cpp.
References PortType::Audio, PortType::Control, getLADSPADescriptor(), getPortDefault(), getPortDisplayHint(), getPortMaximum(), getPortMinimum(), PortType::Input, m_identifiers, m_taxonomy, PortType::Output, and unloadUnusedLibraries().
|
virtual |
Get some basic information about a plugin (rapidly).
Implements RealTimePluginFactory.
Definition at line 135 of file LADSPAPluginFactory.cpp.
References m_rtDescriptors.
|
virtual |
Instantiate a plugin.
Implements RealTimePluginFactory.
Reimplemented in DSSIPluginFactory.
Definition at line 331 of file LADSPAPluginFactory.cpp.
References getLADSPADescriptor(), RealTimePluginFactory::instance(), m_instances, and SVDEBUG.
|
virtual |
Get category metadata about a plugin (without instantiating it).
Implements RealTimePluginFactory.
Definition at line 890 of file LADSPAPluginFactory.cpp.
References m_taxonomy.
| float LADSPAPluginFactory::getPortMinimum | ( | const LADSPA_Descriptor * | descriptor, |
| int | port | ||
| ) |
Definition at line 148 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 175 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 198 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 302 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 316 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().
|
protectedvirtual |
Reimplemented in DSSIPluginFactory.
Definition at line 560 of file LADSPAPluginFactory.cpp.
References DEFAULT_LADSPA_PATH, and PATH_SEPARATOR.
Referenced by discoverPlugins(), generateFallbackCategories(), getLRDFPath(), and loadLibrary().
|
protectedvirtual |
Reimplemented in DSSIPluginFactory.
Definition at line 608 of file LADSPAPluginFactory.cpp.
References getPluginPath().
Referenced by discoverPlugins().
|
protectedvirtual |
Reimplemented in DSSIPluginFactory.
Definition at line 683 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_lrdfTaxonomy, m_portDefaults, m_rtDescriptors, m_taxonomy, RealTimePluginDescriptor::maker, RealTimePluginDescriptor::name, and RealTimePluginDescriptor::parameterCount.
Referenced by discoverPlugins().
|
protectedvirtual |
Definition at line 860 of file LADSPAPluginFactory.cpp.
References m_lrdfTaxonomy.
Referenced by discoverPlugins().
|
protectedvirtual |
Definition at line 812 of file LADSPAPluginFactory.cpp.
References PluginIdentifier::canonicalise(), getPluginPath(), and m_taxonomy.
Referenced by discoverPlugins().
|
protectedvirtual |
Implements RealTimePluginFactory.
Definition at line 363 of file LADSPAPluginFactory.cpp.
References PluginIdentifier::BUILTIN_PLUGIN_SONAME, RealTimePluginFactory::instance(), m_instances, PluginIdentifier::parseIdentifier(), SVDEBUG, and unloadLibrary().
|
protectedvirtual |
Reimplemented in DSSIPluginFactory.
Definition at line 410 of file LADSPAPluginFactory.cpp.
References DLSYM, loadLibrary(), m_libraryHandles, and PluginIdentifier::parseIdentifier().
Referenced by enumeratePlugins(), and instantiatePlugin().
|
protected |
Definition at line 447 of file LADSPAPluginFactory.cpp.
References DLERROR, DLOPEN, getPluginPath(), m_libraryHandles, PLUGIN_GLOB, and SVDEBUG.
Referenced by DSSIPluginFactory::getDSSIDescriptor(), and getLADSPADescriptor().
|
protected |
Definition at line 508 of file LADSPAPluginFactory.cpp.
References DLCLOSE, and m_libraryHandles.
Referenced by releasePlugin(), and unloadUnusedLibraries().
|
protected |
Definition at line 519 of file LADSPAPluginFactory.cpp.
References PluginIdentifier::BUILTIN_PLUGIN_SONAME, m_instances, m_libraryHandles, PluginIdentifier::parseIdentifier(), and unloadLibrary().
Referenced by DSSIPluginFactory::enumeratePlugins(), enumeratePlugins(), 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(), releasePlugin(), 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(), 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 58 of file RealTimePluginFactory.h.
References RealTimePluginFactory::m_sampleRate.
|
friend |
Definition at line 64 of file LADSPAPluginFactory.h.
|
protected |
Definition at line 82 of file LADSPAPluginFactory.h.
Referenced by DSSIPluginFactory::discoverPluginsFrom(), discoverPluginsFrom(), DSSIPluginFactory::enumeratePlugins(), enumeratePlugins(), and getPluginIdentifiers().
|
protected |
Definition at line 83 of file LADSPAPluginFactory.h.
Referenced by DSSIPluginFactory::discoverPluginsFrom(), discoverPluginsFrom(), and getPluginDescriptor().
|
protected |
Definition at line 85 of file LADSPAPluginFactory.h.
Referenced by DSSIPluginFactory::discoverPluginsFrom(), discoverPluginsFrom(), DSSIPluginFactory::enumeratePlugins(), enumeratePlugins(), generateFallbackCategories(), and getPluginCategory().
|
protected |
Definition at line 86 of file LADSPAPluginFactory.h.
Referenced by DSSIPluginFactory::discoverPluginsFrom(), discoverPluginsFrom(), and generateTaxonomy().
|
protected |
Definition at line 87 of file LADSPAPluginFactory.h.
Referenced by DSSIPluginFactory::discoverPluginsFrom(), discoverPluginsFrom(), and getPortDefault().
|
protected |
Definition at line 89 of file LADSPAPluginFactory.h.
Referenced by DSSIPluginFactory::instantiatePlugin(), instantiatePlugin(), releasePlugin(), unloadUnusedLibraries(), and ~LADSPAPluginFactory().
|
protected |
Definition at line 92 of file LADSPAPluginFactory.h.
Referenced by DSSIPluginFactory::getDSSIDescriptor(), getLADSPADescriptor(), loadLibrary(), unloadLibrary(), and unloadUnusedLibraries().
|
staticprotectedinherited |
Definition at line 106 of file RealTimePluginFactory.h.
Referenced by getPortMaximum(), getPortMinimum(), and RealTimePluginFactory::setSampleRate().