svcore  1.9
DSSIPluginFactory Class Reference

#include <DSSIPluginFactory.h>

Inheritance diagram for DSSIPluginFactory:
Collaboration diagram for DSSIPluginFactory:

List of all members.

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 RealTimePluginInstance * instantiatePlugin (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
RealTimePluginDescriptor * 
getPluginDescriptor (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 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

 DSSIPluginFactory ()
 !!
virtual std::vector< QString > getPluginPath ()
virtual std::vector< QString > getLRDFPath (QString &baseUri)
virtual void discoverPluginsFrom (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 = 48000

Friends

class RealTimePluginFactory
class RealTimePluginInstance

Detailed Description

Definition at line 33 of file DSSIPluginFactory.h.


Member Typedef Documentation

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

Definition at line 91 of file LADSPAPluginFactory.h.


Constructor & Destructor Documentation

Definition at line 53 of file DSSIPluginFactory.cpp.


Member Function Documentation

void DSSIPluginFactory::enumeratePlugins ( std::vector< QString > &  list) [virtual]
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 113 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 206 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 254 of file DSSIPluginFactory.cpp.

References getPluginPath().

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

Reimplemented from LADSPAPluginFactory.

Definition at line 197 of file DSSIPluginFactory.cpp.

References getDSSIDescriptor().

void LADSPAPluginFactory::discoverPlugins ( ) [virtual, inherited]
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 67 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 135 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 890 of file LADSPAPluginFactory.cpp.

References LADSPAPluginFactory::m_taxonomy.

void LADSPAPluginFactory::generateTaxonomy ( QString  uri,
QString  base 
) [protected, virtual, inherited]
void RealTimePluginFactory::enumerateAllPlugins ( std::vector< QString > &  list) [static, inherited]
static void RealTimePluginFactory::setSampleRate ( int  sampleRate) [inline, static, inherited]

Definition at line 58 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 104 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::map<unsigned long, QString> LADSPAPluginFactory::m_lrdfTaxonomy [protected, inherited]
std::map<unsigned long, std::map<int, float> > LADSPAPluginFactory::m_portDefaults [protected, inherited]

The documentation for this class was generated from the following files: