Logo Search packages:      
Sourcecode: vamp-plugin-sdk version File versions  Download package

Vamp::HostExt::PluginBufferingAdapter Class Reference

#include <vamp-sdk/hostext/PluginBufferingAdapter.h>

Inheritance diagram for Vamp::HostExt::PluginBufferingAdapter:

Vamp::HostExt::PluginWrapper Vamp::Plugin Vamp::PluginBase

List of all members.

Detailed Description

PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an audio stream in non-overlapping buffers of arbitrary size.

A host using PluginBufferingAdapter may ignore the preferred step and block size reported by the plugin, and still expect the plugin to run. The value of blockSize and stepSize passed to initialise should be the size of the buffer which the host will supply; the stepSize should be equal to the blockSize.

If the internal step size used for the plugin differs from that supplied by the host, the adapter will modify the sample rate specifications for the plugin outputs (setting them all to VariableSampleRate) and set timestamps on the output features for outputs that formerly used a different sample rate specification. This is necessary in order to obtain correct time stamping.

In other respects, the PluginBufferingAdapter behaves identically to the plugin that it wraps. The wrapped plugin will be deleted when the wrapper is deleted.

Definition at line 72 of file PluginBufferingAdapter.h.

Public Types

typedef std::vector< Feature > FeatureList
typedef std::map< int,
FeatureList > 
enum  InputDomain { TimeDomain, FrequencyDomain }
typedef std::vector
< OutputDescriptor > 
typedef std::vector
< ParameterDescriptor > 
typedef std::vector< std::string > ProgramList

Public Member Functions

std::string getCopyright () const
std::string getCurrentProgram () const
std::string getDescription () const
std::string getIdentifier () const
InputDomain getInputDomain () const
std::string getMaker () const
size_t getMaxChannelCount () const
size_t getMinChannelCount () const
std::string getName () const
OutputList getOutputDescriptors () const
float getParameter (std::string) const
ParameterList getParameterDescriptors () const
int getPluginVersion () const
size_t getPreferredBlockSize () const
size_t getPreferredStepSize () const
ProgramList getPrograms () const
FeatureSet getRemainingFeatures ()
virtual std::string getType () const
unsigned int getVampApiVersion () const
bool initialise (size_t channels, size_t stepSize, size_t blockSize)
 PluginBufferingAdapter (Plugin *plugin)
FeatureSet process (const float *const *inputBuffers, RealTime timestamp)
void reset ()
void selectProgram (std::string)
void setParameter (std::string, float)

Protected Attributes

Impl * m_impl
float m_inputSampleRate


class  Impl

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

Generated by  Doxygen 1.6.0   Back to index