#include <LADSPAPluginInstance.h>

Inheritance diagram for LADSPAPluginInstance:
Inheritance graph
Collaboration diagram for LADSPAPluginInstance:
Collaboration graph

Public Types

typedef float sample_t
 
typedef std::map< std::string, std::string > ConfigurationPairMap
 

Public Member Functions

virtual ~LADSPAPluginInstance ()
 
bool isOK () const override
 
int getClientId () const
 
QString getPluginIdentifier () const override
 
int getPosition () const
 
std::string getIdentifier () const override
 
std::string getName () const override
 
std::string getDescription () const override
 
std::string getMaker () const override
 
int getPluginVersion () const override
 
std::string getCopyright () const override
 
void run (const RealTime &rt, int count=0) override
 Run for one block, starting at the given time. More...
 
int getParameterCount () const override
 
void setParameterValue (int parameter, float value) override
 
float getParameterValue (int parameter) const override
 
float getParameterDefault (int parameter) const override
 
int getParameterDisplayHint (int parameter) const override
 
ParameterList getParameterDescriptors () const override
 
float getParameter (std::string) const override
 
void setParameter (std::string, float) override
 
int getBufferSize () const override
 
int getAudioInputCount () const override
 
int getAudioOutputCount () const override
 
sample_t ** getAudioInputBuffers () override
 
sample_t ** getAudioOutputBuffers () override
 
int getControlOutputCount () const override
 
float getControlOutputValue (int n) const override
 
bool isBypassed () const override
 
void setBypassed (bool bypassed) override
 
sv_frame_t getLatency () override
 
void silence () override
 
void setIdealChannelCount (int channels) override
 
std::string getType () const override
 
virtual std::string getProgram (int, int) const
 
virtual std::string configure (std::string, std::string)
 
virtual void sendEvent (const RealTime &, const void *)
 
virtual void clearEvents ()
 
virtual void discardEvents ()
 
virtual ConfigurationPairMap getConfigurePairs ()
 

Protected Member Functions

 LADSPAPluginInstance (RealTimePluginFactory *factory, int client, QString identifier, int position, sv_samplerate_t sampleRate, int blockSize, int idealChannelCount, const LADSPA_Descriptor *descriptor)
 
void init (int idealChannelCount=0)
 
void instantiate (sv_samplerate_t sampleRate)
 
void cleanup ()
 
void activate ()
 
void deactivate ()
 
void connectPorts ()
 

Protected Attributes

int m_client
 
int m_position
 
std::vector< LADSPA_Handle > m_instanceHandles
 
int m_instanceCount
 
const LADSPA_Descriptor * m_descriptor
 
std::vector< std::pair< int, LADSPA_Data * > > m_controlPortsIn
 
std::vector< std::pair< int, LADSPA_Data * > > m_controlPortsOut
 
std::vector< int > m_audioPortsIn
 
std::vector< int > m_audioPortsOut
 
int m_blockSize
 
sample_t ** m_inputBuffers
 
sample_t ** m_outputBuffers
 
bool m_ownBuffers
 
sv_samplerate_t m_sampleRate
 
float * m_latencyPort
 
bool m_run
 
bool m_bypassed
 
RealTimePluginFactorym_factory
 
QString m_identifier
 
ConfigurationPairMap m_configurationData
 

Friends

class LADSPAPluginFactory
 

Detailed Description

Definition at line 36 of file LADSPAPluginInstance.h.

Member Typedef Documentation

typedef float RealTimePluginInstance::sample_t
inherited

Definition at line 80 of file RealTimePluginInstance.h.

typedef std::map<std::string, std::string> RealTimePluginInstance::ConfigurationPairMap
inherited

Definition at line 139 of file RealTimePluginInstance.h.

Constructor & Destructor Documentation

LADSPAPluginInstance::LADSPAPluginInstance ( RealTimePluginFactory factory,
int  client,
QString  identifier,
int  position,
sv_samplerate_t  sampleRate,
int  blockSize,
int  idealChannelCount,
const LADSPA_Descriptor *  descriptor 
)
protected

Member Function Documentation

bool LADSPAPluginInstance::isOK ( ) const
inlineoverridevirtual

Implements RealTimePluginInstance.

Definition at line 41 of file LADSPAPluginInstance.h.

References m_instanceHandles.

Referenced by LADSPAPluginInstance(), setIdealChannelCount(), and silence().

int LADSPAPluginInstance::getClientId ( ) const
inline

Definition at line 43 of file LADSPAPluginInstance.h.

References m_client.

QString LADSPAPluginInstance::getPluginIdentifier ( ) const
inlineoverridevirtual

Implements RealTimePluginInstance.

Definition at line 44 of file LADSPAPluginInstance.h.

References RealTimePluginInstance::m_identifier.

std::string LADSPAPluginInstance::getIdentifier ( ) const
override

Definition at line 86 of file LADSPAPluginInstance.cpp.

References m_descriptor.

Referenced by getPosition().

std::string LADSPAPluginInstance::getName ( ) const
override

Definition at line 92 of file LADSPAPluginInstance.cpp.

References m_descriptor.

Referenced by getPosition().

std::string LADSPAPluginInstance::getDescription ( ) const
override

Definition at line 98 of file LADSPAPluginInstance.cpp.

Referenced by getPosition().

std::string LADSPAPluginInstance::getMaker ( ) const
override

Definition at line 104 of file LADSPAPluginInstance.cpp.

References m_descriptor.

Referenced by getPosition().

int LADSPAPluginInstance::getPluginVersion ( ) const
override

Definition at line 110 of file LADSPAPluginInstance.cpp.

Referenced by getPosition().

std::string LADSPAPluginInstance::getCopyright ( ) const
override

Definition at line 116 of file LADSPAPluginInstance.cpp.

References m_descriptor.

Referenced by getPosition().

void LADSPAPluginInstance::run ( const RealTime blockStartTime,
int  count = 0 
)
overridevirtual

Run for one block, starting at the given time.

The start time may be of interest to synths etc that may have queued events waiting. Other plugins can ignore it. The count, if zero, defaults to our fixed buffer size.

Implements RealTimePluginInstance.

Definition at line 541 of file LADSPAPluginInstance.cpp.

References m_blockSize, m_descriptor, m_instanceHandles, and m_run.

Referenced by getLatency(), and getPosition().

int LADSPAPluginInstance::getParameterCount ( ) const
overridevirtual

Implements RealTimePluginInstance.

Definition at line 475 of file LADSPAPluginInstance.cpp.

References m_controlPortsIn.

Referenced by getPosition().

void LADSPAPluginInstance::setParameterValue ( int  parameter,
float  value 
)
overridevirtual
float LADSPAPluginInstance::getParameterValue ( int  parameter) const
overridevirtual

Implements RealTimePluginInstance.

Definition at line 508 of file LADSPAPluginInstance.cpp.

References in_range_for(), and m_controlPortsIn.

Referenced by getParameter(), and getPosition().

float LADSPAPluginInstance::getParameterDefault ( int  parameter) const
overridevirtual
int LADSPAPluginInstance::getParameterDisplayHint ( int  parameter) const
overridevirtual
LADSPAPluginInstance::ParameterList LADSPAPluginInstance::getParameterDescriptors ( ) const
override
float LADSPAPluginInstance::getParameter ( std::string  id) const
override

Definition at line 194 of file LADSPAPluginInstance.cpp.

References getParameterValue(), m_controlPortsIn, and m_descriptor.

Referenced by getPosition().

void LADSPAPluginInstance::setParameter ( std::string  id,
float  value 
)
override

Definition at line 206 of file LADSPAPluginInstance.cpp.

References m_controlPortsIn, m_descriptor, setParameterValue(), and SVDEBUG.

Referenced by getPosition().

int LADSPAPluginInstance::getBufferSize ( ) const
inlineoverridevirtual

Implements RealTimePluginInstance.

Definition at line 66 of file LADSPAPluginInstance.h.

References m_blockSize.

int LADSPAPluginInstance::getAudioInputCount ( ) const
inlineoverridevirtual

Implements RealTimePluginInstance.

Definition at line 67 of file LADSPAPluginInstance.h.

References m_audioPortsIn, and m_instanceCount.

Referenced by getLatency().

int LADSPAPluginInstance::getAudioOutputCount ( ) const
inlineoverridevirtual

Implements RealTimePluginInstance.

Definition at line 68 of file LADSPAPluginInstance.h.

References m_audioPortsOut, and m_instanceCount.

sample_t** LADSPAPluginInstance::getAudioInputBuffers ( )
inlineoverridevirtual

Implements RealTimePluginInstance.

Definition at line 69 of file LADSPAPluginInstance.h.

References m_inputBuffers.

sample_t** LADSPAPluginInstance::getAudioOutputBuffers ( )
inlineoverridevirtual

Implements RealTimePluginInstance.

Definition at line 70 of file LADSPAPluginInstance.h.

References m_outputBuffers.

int LADSPAPluginInstance::getControlOutputCount ( ) const
inlineoverridevirtual

Implements RealTimePluginInstance.

Definition at line 72 of file LADSPAPluginInstance.h.

References getControlOutputValue(), and m_controlPortsOut.

float LADSPAPluginInstance::getControlOutputValue ( int  n) const
overridevirtual

Implements RealTimePluginInstance.

Definition at line 501 of file LADSPAPluginInstance.cpp.

References in_range_for(), and m_controlPortsOut.

Referenced by getControlOutputCount().

bool LADSPAPluginInstance::isBypassed ( ) const
inlineoverridevirtual

Implements RealTimePluginInstance.

Definition at line 75 of file LADSPAPluginInstance.h.

References m_bypassed.

void LADSPAPluginInstance::setBypassed ( bool  bypassed)
inlineoverridevirtual

Implements RealTimePluginInstance.

Definition at line 76 of file LADSPAPluginInstance.h.

References getLatency(), m_bypassed, setIdealChannelCount(), and silence().

sv_frame_t LADSPAPluginInstance::getLatency ( )
overridevirtual

Implements RealTimePluginInstance.

Definition at line 293 of file LADSPAPluginInstance.cpp.

References getAudioInputCount(), m_blockSize, m_inputBuffers, m_latencyPort, m_run, and run().

Referenced by setBypassed().

void LADSPAPluginInstance::silence ( )
overridevirtual

Implements RealTimePluginInstance.

Definition at line 310 of file LADSPAPluginInstance.cpp.

References activate(), deactivate(), and isOK().

Referenced by setBypassed(), and setIdealChannelCount().

void LADSPAPluginInstance::setIdealChannelCount ( int  channels)
overridevirtual

!! don't we need to reallocate inputBuffers and outputBuffers?

Implements RealTimePluginInstance.

Definition at line 319 of file LADSPAPluginInstance.cpp.

References activate(), cleanup(), connectPorts(), deactivate(), instantiate(), isOK(), m_audioPortsIn, m_instanceCount, m_sampleRate, and silence().

Referenced by setBypassed().

std::string LADSPAPluginInstance::getType ( ) const
inlineoverride

Definition at line 83 of file LADSPAPluginInstance.h.

void LADSPAPluginInstance::init ( int  idealChannelCount = 0)
protected
void LADSPAPluginInstance::instantiate ( sv_samplerate_t  sampleRate)
protected
void LADSPAPluginInstance::cleanup ( )
protected

Definition at line 568 of file LADSPAPluginInstance.cpp.

References m_descriptor, and m_instanceHandles.

Referenced by setIdealChannelCount(), and ~LADSPAPluginInstance().

void LADSPAPluginInstance::activate ( )
protected

Definition at line 411 of file LADSPAPluginInstance.cpp.

References m_descriptor, and m_instanceHandles.

Referenced by LADSPAPluginInstance(), setIdealChannelCount(), and silence().

void LADSPAPluginInstance::deactivate ( )
protected

Definition at line 557 of file LADSPAPluginInstance.cpp.

References m_descriptor, and m_instanceHandles.

Referenced by setIdealChannelCount(), silence(), and ~LADSPAPluginInstance().

virtual std::string RealTimePluginInstance::getProgram ( int  ,
int   
) const
inlinevirtualinherited

Reimplemented in DSSIPluginInstance.

Definition at line 111 of file RealTimePluginInstance.h.

virtual std::string RealTimePluginInstance::configure ( std::string  ,
std::string   
)
inlinevirtualinherited

Reimplemented in DSSIPluginInstance.

Definition at line 121 of file RealTimePluginInstance.h.

virtual void RealTimePluginInstance::sendEvent ( const RealTime ,
const void *   
)
inlinevirtualinherited

Reimplemented in DSSIPluginInstance.

Definition at line 123 of file RealTimePluginInstance.h.

virtual void RealTimePluginInstance::clearEvents ( )
inlinevirtualinherited

Reimplemented in DSSIPluginInstance.

Definition at line 125 of file RealTimePluginInstance.h.

virtual void RealTimePluginInstance::discardEvents ( )
inlinevirtualinherited

Reimplemented in DSSIPluginInstance.

Definition at line 134 of file RealTimePluginInstance.h.

virtual ConfigurationPairMap RealTimePluginInstance::getConfigurePairs ( )
inlinevirtualinherited

Friends And Related Function Documentation

friend class LADSPAPluginFactory
friend

Definition at line 87 of file LADSPAPluginInstance.h.

Member Data Documentation

int LADSPAPluginInstance::m_client
protected

Definition at line 110 of file LADSPAPluginInstance.h.

Referenced by getClientId().

int LADSPAPluginInstance::m_position
protected

Definition at line 111 of file LADSPAPluginInstance.h.

Referenced by getPosition().

std::vector<LADSPA_Handle> LADSPAPluginInstance::m_instanceHandles
protected
int LADSPAPluginInstance::m_instanceCount
protected
std::vector<std::pair<int, LADSPA_Data*> > LADSPAPluginInstance::m_controlPortsIn
protected
std::vector<std::pair<int, LADSPA_Data*> > LADSPAPluginInstance::m_controlPortsOut
protected
std::vector<int> LADSPAPluginInstance::m_audioPortsIn
protected
std::vector<int> LADSPAPluginInstance::m_audioPortsOut
protected
int LADSPAPluginInstance::m_blockSize
protected

Definition at line 122 of file LADSPAPluginInstance.h.

Referenced by getBufferSize(), getLatency(), and run().

sample_t** LADSPAPluginInstance::m_inputBuffers
protected
sample_t** LADSPAPluginInstance::m_outputBuffers
protected
bool LADSPAPluginInstance::m_ownBuffers
protected

Definition at line 125 of file LADSPAPluginInstance.h.

Referenced by LADSPAPluginInstance(), and ~LADSPAPluginInstance().

sv_samplerate_t LADSPAPluginInstance::m_sampleRate
protected

Definition at line 126 of file LADSPAPluginInstance.h.

Referenced by setIdealChannelCount().

float* LADSPAPluginInstance::m_latencyPort
protected

Definition at line 127 of file LADSPAPluginInstance.h.

Referenced by getLatency(), and init().

bool LADSPAPluginInstance::m_run
protected

Definition at line 128 of file LADSPAPluginInstance.h.

Referenced by getLatency(), and run().

bool LADSPAPluginInstance::m_bypassed
protected

Definition at line 130 of file LADSPAPluginInstance.h.

Referenced by isBypassed(), and setBypassed().

ConfigurationPairMap RealTimePluginInstance::m_configurationData
protectedinherited

Definition at line 151 of file RealTimePluginInstance.h.

Referenced by DSSIPluginInstance::configure().


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