DSSIPluginFactory Class Reference

#include <DSSIPluginFactory.h>

Inherits LADSPAPluginFactory.

Inheritance diagram for DSSIPluginFactory:

Inheritance graph
[legend]
Collaboration diagram for DSSIPluginFactory:

Collaboration graph
[legend]
List of all members.

Detailed Description

Definition at line 33 of file DSSIPluginFactory.h.

Public Member Functions

virtual ~DSSIPluginFactory ()
virtual void enumeratePlugins (std::vector< QString > &list)
 Append to the given list descriptions of all the available plugins and their ports.
virtual RealTimePluginInstanceinstantiatePlugin (QString identifier, int clientId, int position, unsigned int sampleRate, unsigned int blockSize, unsigned int channels)
 Instantiate a plugin.
virtual void discoverPlugins ()
 Look up the plugin path and find the plugins in it.
virtual const std::vector<
QString > & 
getPluginIdentifiers () const
 Return a reference to a list of all plugin identifiers that can be created by this factory.
virtual const RealTimePluginDescriptorgetPluginDescriptor (QString identifier) const
 Get some basic information about a plugin (rapidly).
virtual QString getPluginCategory (QString identifier)
 Get category metadata about a plugin (without instantiating it).
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 RealTimePluginFactoryinstance (QString pluginType)
static RealTimePluginFactoryinstanceFor (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

 DSSIPluginFactory ()
 !!
virtual std::vector< QString > getPluginPath ()
virtual std::vector< QString > getLRDFPath (QString &baseUri)
virtual void discoverPlugins (QString soName)
virtual const LADSPA_Descriptor * getLADSPADescriptor (QString identifier)
virtual const DSSI_Descriptor * getDSSIDescriptor (QString identifier)
virtual void generateTaxonomy (QString uri, QString base)
virtual void generateFallbackCategories ()
virtual void releasePlugin (RealTimePluginInstance *, QString)
void loadLibrary (QString soName)
void unloadLibrary (QString soName)
void unloadUnusedLibraries ()

Protected Attributes

DSSI_Host_Descriptor m_hostDescriptor
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

Friends

class RealTimePluginFactory
class RealTimePluginInstance


Member Typedef Documentation

typedef std::map<QString, void *> LADSPAPluginFactory::LibraryHandleMap [protected, inherited]

Definition at line 91 of file LADSPAPluginFactory.h.


Constructor & Destructor Documentation

DSSIPluginFactory::~DSSIPluginFactory (  )  [virtual]

Definition at line 49 of file DSSIPluginFactory.cpp.

DSSIPluginFactory::DSSIPluginFactory (  )  [protected]

!!

Definition at line 39 of file DSSIPluginFactory.cpp.

References m_hostDescriptor, DSSIPluginInstance::midiSend(), DSSIPluginInstance::requestMidiSend(), and DSSIPluginInstance::requestNonRTThread().


Member Function Documentation

void DSSIPluginFactory::enumeratePlugins ( std::vector< QString > &  list  )  [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.

Reimplemented from LADSPAPluginFactory.

Definition at line 55 of file DSSIPluginFactory.cpp.

References PortType::Audio, PortType::Control, getDSSIDescriptor(), LADSPAPluginFactory::getPortDefault(), LADSPAPluginFactory::getPortDisplayHint(), LADSPAPluginFactory::getPortMaximum(), LADSPAPluginFactory::getPortMinimum(), PortType::Input, LADSPAPluginFactory::m_identifiers, LADSPAPluginFactory::m_taxonomy, and PortType::Output.

RealTimePluginInstance * DSSIPluginFactory::instantiatePlugin ( QString  identifier,
int  clientId,
int  position,
unsigned int  sampleRate,
unsigned int  blockSize,
unsigned int  channels 
) [virtual]

Instantiate a plugin.

Reimplemented from LADSPAPluginFactory.

Definition at line 107 of file DSSIPluginFactory.cpp.

References getDSSIDescriptor(), RealTimePluginFactory::instance(), and LADSPAPluginFactory::m_instances.

std::vector< QString > DSSIPluginFactory::getPluginPath (  )  [protected, virtual]

Reimplemented from LADSPAPluginFactory.

Definition at line 198 of file DSSIPluginFactory.cpp.

References DEFAULT_DSSI_PATH, and PATH_SEPARATOR.

Referenced by getLRDFPath().

std::vector< QString > DSSIPluginFactory::getLRDFPath ( QString &  baseUri  )  [protected, virtual]

Reimplemented from LADSPAPluginFactory.

Definition at line 246 of file DSSIPluginFactory.cpp.

References getPluginPath().

void DSSIPluginFactory::discoverPlugins ( QString  soName  )  [protected, virtual]

Reimplemented from LADSPAPluginFactory.

Definition at line 276 of file DSSIPluginFactory.cpp.

References RealTimePluginDescriptor::audioInputPortCount, RealTimePluginDescriptor::audioOutputPortCount, RealTimePluginDescriptor::category, RealTimePluginDescriptor::controlOutputPortCount, RealTimePluginDescriptor::copyright, PluginIdentifier::createIdentifier(), DLERROR, DLOPEN, DLSYM, RealTimePluginDescriptor::isSynth, RealTimePluginDescriptor::label, LADSPAPluginFactory::m_lrdfTaxonomy, LADSPAPluginFactory::m_portDefaults, LADSPAPluginFactory::m_taxonomy, RealTimePluginDescriptor::maker, RealTimePluginDescriptor::name, and RealTimePluginDescriptor::parameterCount.

const LADSPA_Descriptor * DSSIPluginFactory::getLADSPADescriptor ( QString  identifier  )  [protected, virtual]

Reimplemented from LADSPAPluginFactory.

Definition at line 189 of file DSSIPluginFactory.cpp.

References getDSSIDescriptor().

const DSSI_Descriptor * DSSIPluginFactory::getDSSIDescriptor ( QString  identifier  )  [protected, virtual]

Definition at line 132 of file DSSIPluginFactory.cpp.

References PluginIdentifier::BUILTIN_PLUGIN_SONAME, DLSYM, SamplePlayer::getDescriptor(), LADSPAPluginFactory::loadLibrary(), m_hostDescriptor, LADSPAPluginFactory::m_libraryHandles, and PluginIdentifier::parseIdentifier().

Referenced by enumeratePlugins(), getLADSPADescriptor(), and instantiatePlugin().

void LADSPAPluginFactory::discoverPlugins (  )  [virtual, inherited]

Look up the plugin path and find the plugins in it.

Called automatically after construction of a factory.

Implements RealTimePluginFactory.

Definition at line 623 of file LADSPAPluginFactory.cpp.

References LADSPAPluginFactory::generateFallbackCategories(), LADSPAPluginFactory::generateTaxonomy(), LADSPAPluginFactory::getLRDFPath(), LADSPAPluginFactory::getPluginPath(), and PLUGIN_GLOB.

Referenced by RealTimePluginFactory::instance().

const std::vector< QString > & LADSPAPluginFactory::getPluginIdentifiers (  )  const [virtual, inherited]

Return a reference to a list of all plugin identifiers that can be created by this factory.

Implements RealTimePluginFactory.

Definition at line 66 of file LADSPAPluginFactory.cpp.

References LADSPAPluginFactory::m_identifiers.

const RealTimePluginDescriptor * LADSPAPluginFactory::getPluginDescriptor ( QString  identifier  )  const [virtual, inherited]

Get some basic information about a plugin (rapidly).

Implements RealTimePluginFactory.

Definition at line 132 of file LADSPAPluginFactory.cpp.

References LADSPAPluginFactory::m_rtDescriptors.

QString LADSPAPluginFactory::getPluginCategory ( QString  identifier  )  [virtual, inherited]

Get category metadata about a plugin (without instantiating it).

Implements RealTimePluginFactory.

Definition at line 875 of file LADSPAPluginFactory.cpp.

References LADSPAPluginFactory::m_taxonomy.

float LADSPAPluginFactory::getPortMinimum ( const LADSPA_Descriptor *  ,
int  port 
) [inherited]

Definition at line 145 of file LADSPAPluginFactory.cpp.

References RealTimePluginFactory::m_sampleRate.

Referenced by LADSPAPluginFactory::enumeratePlugins(), enumeratePlugins(), LADSPAPluginInstance::getParameterDescriptors(), DSSIPluginInstance::getParameterDescriptors(), LADSPAPluginFactory::getPortDefault(), LADSPAPluginFactory::getPortQuantization(), LADSPAPluginInstance::setParameterValue(), and DSSIPluginInstance::setParameterValue().

float LADSPAPluginFactory::getPortMaximum ( const LADSPA_Descriptor *  ,
int  port 
) [inherited]

Definition at line 172 of file LADSPAPluginFactory.cpp.

References RealTimePluginFactory::m_sampleRate.

Referenced by LADSPAPluginFactory::enumeratePlugins(), enumeratePlugins(), LADSPAPluginInstance::getParameterDescriptors(), DSSIPluginInstance::getParameterDescriptors(), LADSPAPluginFactory::getPortDefault(), LADSPAPluginFactory::getPortQuantization(), LADSPAPluginInstance::setParameterValue(), and DSSIPluginInstance::setParameterValue().

float LADSPAPluginFactory::getPortDefault ( const LADSPA_Descriptor *  ,
int  port 
) [inherited]

Definition at line 195 of file LADSPAPluginFactory.cpp.

References Preferences::getInstance(), LADSPAPluginFactory::getPortMaximum(), LADSPAPluginFactory::getPortMinimum(), Preferences::getTuningFrequency(), and LADSPAPluginFactory::m_portDefaults.

Referenced by LADSPAPluginInstance::connectPorts(), DSSIPluginInstance::connectPorts(), LADSPAPluginFactory::enumeratePlugins(), enumeratePlugins(), LADSPAPluginInstance::getParameterDefault(), DSSIPluginInstance::getParameterDefault(), LADSPAPluginInstance::getParameterDescriptors(), and DSSIPluginInstance::getParameterDescriptors().

float LADSPAPluginFactory::getPortQuantization ( const LADSPA_Descriptor *  ,
int  port 
) [inherited]

Definition at line 299 of file LADSPAPluginFactory.cpp.

References LADSPAPluginFactory::getPortDisplayHint(), LADSPAPluginFactory::getPortMaximum(), LADSPAPluginFactory::getPortMinimum(), PortHint::Integer, and PortHint::Toggled.

Referenced by LADSPAPluginInstance::getParameterDescriptors(), and DSSIPluginInstance::getParameterDescriptors().

int LADSPAPluginFactory::getPortDisplayHint ( const LADSPA_Descriptor *  ,
int  port 
) [inherited]

Definition at line 313 of file LADSPAPluginFactory.cpp.

References PortHint::Integer, PortHint::Logarithmic, PortHint::NoHint, and PortHint::Toggled.

Referenced by LADSPAPluginFactory::enumeratePlugins(), enumeratePlugins(), LADSPAPluginInstance::getParameterDisplayHint(), DSSIPluginInstance::getParameterDisplayHint(), and LADSPAPluginFactory::getPortQuantization().

void LADSPAPluginFactory::generateTaxonomy ( QString  uri,
QString  base 
) [protected, virtual, inherited]

Definition at line 849 of file LADSPAPluginFactory.cpp.

References LADSPAPluginFactory::m_lrdfTaxonomy.

Referenced by LADSPAPluginFactory::discoverPlugins().

void LADSPAPluginFactory::generateFallbackCategories (  )  [protected, virtual, inherited]

Definition at line 801 of file LADSPAPluginFactory.cpp.

References PluginIdentifier::canonicalise(), LADSPAPluginFactory::getPluginPath(), and LADSPAPluginFactory::m_taxonomy.

Referenced by LADSPAPluginFactory::discoverPlugins().

void LADSPAPluginFactory::releasePlugin ( RealTimePluginInstance ,
QString   
) [protected, virtual, inherited]

Implements RealTimePluginFactory.

Definition at line 358 of file LADSPAPluginFactory.cpp.

References PluginIdentifier::BUILTIN_PLUGIN_SONAME, RealTimePluginFactory::instance(), LADSPAPluginFactory::m_instances, PluginIdentifier::parseIdentifier(), and LADSPAPluginFactory::unloadLibrary().

void LADSPAPluginFactory::loadLibrary ( QString  soName  )  [protected, inherited]

Definition at line 440 of file LADSPAPluginFactory.cpp.

References DLERROR, DLOPEN, LADSPAPluginFactory::getPluginPath(), LADSPAPluginFactory::m_libraryHandles, and PLUGIN_GLOB.

Referenced by getDSSIDescriptor(), and LADSPAPluginFactory::getLADSPADescriptor().

void LADSPAPluginFactory::unloadLibrary ( QString  soName  )  [protected, inherited]

Definition at line 501 of file LADSPAPluginFactory.cpp.

References DLCLOSE, and LADSPAPluginFactory::m_libraryHandles.

Referenced by LADSPAPluginFactory::releasePlugin(), and LADSPAPluginFactory::unloadUnusedLibraries().

void LADSPAPluginFactory::unloadUnusedLibraries (  )  [protected, inherited]

Definition at line 512 of file LADSPAPluginFactory.cpp.

References PluginIdentifier::BUILTIN_PLUGIN_SONAME, LADSPAPluginFactory::m_instances, LADSPAPluginFactory::m_libraryHandles, PluginIdentifier::parseIdentifier(), and LADSPAPluginFactory::unloadLibrary().

Referenced by LADSPAPluginFactory::~LADSPAPluginFactory().

RealTimePluginFactory * RealTimePluginFactory::instance ( QString  pluginType  )  [static, inherited]

Definition at line 42 of file RealTimePluginFactory.cpp.

References _dssiInstance, _ladspaInstance, and LADSPAPluginFactory::discoverPlugins().

Referenced by RealTimePluginFactory::enumerateAllPlugins(), RealTimePluginFactory::getAllPluginIdentifiers(), RealTimePluginFactory::instanceFor(), LADSPAPluginFactory::instantiatePlugin(), instantiatePlugin(), LADSPAPluginFactory::releasePlugin(), and DSSIPluginInstance::runGrouped().

RealTimePluginFactory * RealTimePluginFactory::instanceFor ( QString  identifier  )  [static, inherited]

Definition at line 66 of file RealTimePluginFactory.cpp.

References RealTimePluginFactory::instance(), and PluginIdentifier::parseIdentifier().

Referenced by ModelTransformerFactory::createTransformer(), PropertyBox::editPlugin(), ModelTransformerFactory::getConfigurationForTransform(), TransformFactory::getTransformChannelRange(), TransformFactory::instantiateDefaultPluginFor(), AudioGenerator::loadPlugin(), TransformFactory::populateRealTimePlugins(), and RealTimeEffectModelTransformer::RealTimeEffectModelTransformer().

std::vector< QString > RealTimePluginFactory::getAllPluginIdentifiers (  )  [static, inherited]

Definition at line 74 of file RealTimePluginFactory.cpp.

References RealTimePluginFactory::getPluginIdentifiers(), RealTimePluginFactory::instance(), and RestoreStartupLocale().

Referenced by TransformFactory::populateRealTimePlugins().

void RealTimePluginFactory::enumerateAllPlugins ( std::vector< QString > &   )  [static, inherited]

Definition at line 109 of file RealTimePluginFactory.cpp.

References RealTimePluginFactory::enumeratePlugins(), and RealTimePluginFactory::instance().

static void RealTimePluginFactory::setSampleRate ( int  sampleRate  )  [inline, static, inherited]

Definition at line 56 of file RealTimePluginFactory.h.

References RealTimePluginFactory::m_sampleRate.


Friends And Related Function Documentation

friend class RealTimePluginFactory [friend]

Reimplemented from LADSPAPluginFactory.

Definition at line 49 of file DSSIPluginFactory.h.

friend class RealTimePluginInstance [friend, inherited]

Definition at line 102 of file RealTimePluginFactory.h.


Member Data Documentation

DSSI_Host_Descriptor DSSIPluginFactory::m_hostDescriptor [protected]

Definition at line 60 of file DSSIPluginFactory.h.

Referenced by DSSIPluginFactory(), and getDSSIDescriptor().

std::vector<QString> LADSPAPluginFactory::m_identifiers [protected, inherited]

Definition at line 82 of file LADSPAPluginFactory.h.

Referenced by LADSPAPluginFactory::enumeratePlugins(), enumeratePlugins(), and LADSPAPluginFactory::getPluginIdentifiers().

std::map<QString, RealTimePluginDescriptor *> LADSPAPluginFactory::m_rtDescriptors [protected, inherited]

Definition at line 83 of file LADSPAPluginFactory.h.

Referenced by LADSPAPluginFactory::getPluginDescriptor().

std::map<QString, QString> LADSPAPluginFactory::m_taxonomy [protected, inherited]

Definition at line 85 of file LADSPAPluginFactory.h.

Referenced by LADSPAPluginFactory::discoverPlugins(), discoverPlugins(), LADSPAPluginFactory::enumeratePlugins(), enumeratePlugins(), LADSPAPluginFactory::generateFallbackCategories(), and LADSPAPluginFactory::getPluginCategory().

std::map<unsigned long, QString> LADSPAPluginFactory::m_lrdfTaxonomy [protected, inherited]

Definition at line 86 of file LADSPAPluginFactory.h.

Referenced by LADSPAPluginFactory::discoverPlugins(), discoverPlugins(), and LADSPAPluginFactory::generateTaxonomy().

std::map<unsigned long, std::map<int, float> > LADSPAPluginFactory::m_portDefaults [protected, inherited]

Definition at line 87 of file LADSPAPluginFactory.h.

Referenced by LADSPAPluginFactory::discoverPlugins(), discoverPlugins(), and LADSPAPluginFactory::getPortDefault().

std::set<RealTimePluginInstance *> LADSPAPluginFactory::m_instances [protected, inherited]

Definition at line 89 of file LADSPAPluginFactory.h.

Referenced by LADSPAPluginFactory::instantiatePlugin(), instantiatePlugin(), LADSPAPluginFactory::releasePlugin(), LADSPAPluginFactory::unloadUnusedLibraries(), and LADSPAPluginFactory::~LADSPAPluginFactory().

LibraryHandleMap LADSPAPluginFactory::m_libraryHandles [protected, inherited]

Definition at line 92 of file LADSPAPluginFactory.h.

Referenced by getDSSIDescriptor(), LADSPAPluginFactory::getLADSPADescriptor(), LADSPAPluginFactory::loadLibrary(), LADSPAPluginFactory::unloadLibrary(), and LADSPAPluginFactory::unloadUnusedLibraries().

int RealTimePluginFactory::m_sampleRate [static, protected, inherited]

Definition at line 104 of file RealTimePluginFactory.h.

Referenced by LADSPAPluginFactory::getPortMaximum(), LADSPAPluginFactory::getPortMinimum(), and RealTimePluginFactory::setSampleRate().


The documentation for this class was generated from the following files:
Generated on Wed Feb 20 15:45:32 2008 for SonicVisualiser by  doxygen 1.5.1