svcore  1.9
DSSIPluginFactory Class Reference

#include <DSSIPluginFactory.h>

Inheritance diagram for DSSIPluginFactory:
Collaboration diagram for DSSIPluginFactory:

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. More...
 
virtual RealTimePluginInstance * instantiatePlugin (QString identifier, int clientId, int position, unsigned int sampleRate, unsigned int blockSize, unsigned int channels)
 Instantiate a plugin. More...
 
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 const RealTimePluginDescriptor * getPluginDescriptor (QString identifier) const
 Get some basic information about a plugin (rapidly). 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

 DSSIPluginFactory ()
 !! More...
 
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
 

Detailed Description

Definition at line 33 of file DSSIPluginFactory.h.

Member Typedef Documentation

◆ LibraryHandleMap

typedef std::map<QString, void *> LADSPAPluginFactory::LibraryHandleMap
protectedinherited

Definition at line 91 of file LADSPAPluginFactory.h.

Constructor & Destructor Documentation

◆ ~DSSIPluginFactory()

DSSIPluginFactory::~DSSIPluginFactory ( )
virtual

Definition at line 53 of file DSSIPluginFactory.cpp.

◆ DSSIPluginFactory()

DSSIPluginFactory::DSSIPluginFactory ( )
protected

Member Function Documentation

◆ enumeratePlugins()

void DSSIPluginFactory::enumeratePlugins ( std::vector< QString > &  list)
virtual

◆ instantiatePlugin()

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.

◆ getPluginPath()

std::vector< QString > DSSIPluginFactory::getPluginPath ( )
protectedvirtual

Reimplemented from LADSPAPluginFactory.

Definition at line 206 of file DSSIPluginFactory.cpp.

References DEFAULT_DSSI_PATH, and PATH_SEPARATOR.

Referenced by getLRDFPath().

◆ getLRDFPath()

std::vector< QString > DSSIPluginFactory::getLRDFPath ( QString &  baseUri)
protectedvirtual

Reimplemented from LADSPAPluginFactory.

Definition at line 254 of file DSSIPluginFactory.cpp.

References getPluginPath().

◆ discoverPluginsFrom()

◆ getLADSPADescriptor()

const LADSPA_Descriptor * DSSIPluginFactory::getLADSPADescriptor ( QString  identifier)
protectedvirtual

Reimplemented from LADSPAPluginFactory.

Definition at line 197 of file DSSIPluginFactory.cpp.

References getDSSIDescriptor().

◆ getDSSIDescriptor()

const DSSI_Descriptor * DSSIPluginFactory::getDSSIDescriptor ( QString  identifier)
protectedvirtual

◆ discoverPlugins()

void LADSPAPluginFactory::discoverPlugins ( )
virtualinherited

◆ getPluginIdentifiers()

const std::vector< QString > & LADSPAPluginFactory::getPluginIdentifiers ( ) const
virtualinherited

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.

◆ getPluginDescriptor()

const RealTimePluginDescriptor * LADSPAPluginFactory::getPluginDescriptor ( QString  identifier) const
virtualinherited

Get some basic information about a plugin (rapidly).

Implements RealTimePluginFactory.

Definition at line 135 of file LADSPAPluginFactory.cpp.

References LADSPAPluginFactory::m_rtDescriptors.

◆ getPluginCategory()

QString LADSPAPluginFactory::getPluginCategory ( QString  identifier)
virtualinherited

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

Implements RealTimePluginFactory.

Definition at line 890 of file LADSPAPluginFactory.cpp.

References LADSPAPluginFactory::m_taxonomy.

◆ getPortMinimum()

◆ getPortMaximum()

◆ getPortDefault()

◆ getPortQuantization()

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

◆ getPortDisplayHint()

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

◆ generateTaxonomy()

void LADSPAPluginFactory::generateTaxonomy ( QString  uri,
QString  base 
)
protectedvirtualinherited

◆ generateFallbackCategories()

void LADSPAPluginFactory::generateFallbackCategories ( )
protectedvirtualinherited

◆ releasePlugin()

void LADSPAPluginFactory::releasePlugin ( RealTimePluginInstance *  instance,
QString  identifier 
)
protectedvirtualinherited

◆ loadLibrary()

void LADSPAPluginFactory::loadLibrary ( QString  soName)
protectedinherited

◆ unloadLibrary()

void LADSPAPluginFactory::unloadLibrary ( QString  soName)
protectedinherited

◆ unloadUnusedLibraries()

◆ instance()

◆ instanceFor()

◆ getAllPluginIdentifiers()

std::vector< QString > RealTimePluginFactory::getAllPluginIdentifiers ( )
staticinherited

◆ enumerateAllPlugins()

void RealTimePluginFactory::enumerateAllPlugins ( std::vector< QString > &  list)
staticinherited

◆ setSampleRate()

static void RealTimePluginFactory::setSampleRate ( int  sampleRate)
inlinestaticinherited

Definition at line 58 of file RealTimePluginFactory.h.

References RealTimePluginFactory::m_sampleRate.

Friends And Related Function Documentation

◆ RealTimePluginFactory

friend class RealTimePluginFactory
friend

Definition at line 49 of file DSSIPluginFactory.h.

Member Data Documentation

◆ m_hostDescriptor

DSSI_Host_Descriptor DSSIPluginFactory::m_hostDescriptor
protected

Definition at line 60 of file DSSIPluginFactory.h.

Referenced by DSSIPluginFactory(), and getDSSIDescriptor().

◆ m_identifiers

std::vector<QString> LADSPAPluginFactory::m_identifiers
protectedinherited

◆ m_rtDescriptors

std::map<QString, RealTimePluginDescriptor *> LADSPAPluginFactory::m_rtDescriptors
protectedinherited

◆ m_taxonomy

◆ m_lrdfTaxonomy

std::map<unsigned long, QString> LADSPAPluginFactory::m_lrdfTaxonomy
protectedinherited

◆ m_portDefaults

std::map<unsigned long, std::map<int, float> > LADSPAPluginFactory::m_portDefaults
protectedinherited

◆ m_instances

◆ m_libraryHandles

◆ m_sampleRate

int RealTimePluginFactory::m_sampleRate = 48000
staticprotectedinherited

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