cannam@0: cannam@0: cannam@0: VampPluginSDK: Vamp::PluginBase Class Reference cannam@35: cannam@0: cannam@0: cannam@35: cannam@0: cannam@0:
cannam@35:

Vamp::PluginBase Class Reference

A base class for plugins with optional configurable parameters, programs, etc. cannam@35: More... cannam@35:

cannam@35: #include <PluginBase.h> cannam@0:

cannam@0:

cannam@0: Inheritance diagram for Vamp::PluginBase:
cannam@0:
cannam@0:

Inheritance graph
cannam@0: cannam@35: cannam@0:
[legend]
cannam@0: cannam@0:

cannam@35: List of all members. cannam@0: cannam@35: cannam@35: cannam@35: cannam@0: cannam@35: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@21: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0:

Classes

struct  ParameterDescriptor

Public Types

typedef std::vector
cannam@0: < ParameterDescriptor
ParameterList
typedef std::vector< std::string > ProgramList

Public Member Functions

virtual ~PluginBase ()
virtual unsigned int getVampApiVersion () const
 Get the Vamp API compatibility level of the plugin.
virtual std::string getIdentifier () const =0
 Get the computer-usable name of the plugin.
virtual std::string getName () const =0
 Get a human-readable name or title of the plugin.
virtual std::string getDescription () const =0
 Get a human-readable description for the plugin, typically a line of text that may optionally be displayed in addition to the plugin's "name".
virtual std::string getMaker () const =0
 Get the name of the author or vendor of the plugin in human-readable form.
virtual std::string getCopyright () const =0
 Get the copyright statement or licensing summary for the plugin.
virtual int getPluginVersion () const =0
 Get the version number of the plugin.
virtual ParameterList getParameterDescriptors () const
 Get the controllable parameters of this plugin.
virtual float getParameter (std::string) const
 Get the value of a named parameter.
virtual void setParameter (std::string, float)
 Set a named parameter.
virtual ProgramList getPrograms () const
 Get the program settings available in this plugin.
virtual std::string getCurrentProgram () const
 Get the current program.
virtual void selectProgram (std::string)
 Select a program.
virtual std::string getType () const =0
 Get the type of plugin.
cannam@35:


Detailed Description

cannam@35: A base class for plugins with optional configurable parameters, programs, etc. cannam@35:

cannam@35: The Vamp::Plugin is derived from this, and individual Vamp plugins should derive from that.

cannam@35: This class does not provide the necessary interfaces to instantiate or run a plugin. It only specifies an interface for retrieving those controls that the host may wish to show to the user for editing. It could meaningfully be subclassed by real-time plugins or other sorts of plugin as well as Vamp plugins. cannam@35:

Definition at line 64 of file vamp-sdk/PluginBase.h.

cannam@0:

Member Typedef Documentation

cannam@0: cannam@0:
cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0:
typedef std::vector<ParameterDescriptor> Vamp::PluginBase::ParameterList
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: cannam@21:

Definition at line 203 of file vamp-sdk/PluginBase.h.

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0:
typedef std::vector<std::string> Vamp::PluginBase::ProgramList
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: cannam@21:

Definition at line 225 of file vamp-sdk/PluginBase.h.

cannam@0: cannam@0:
cannam@0:

cannam@0:


Constructor & Destructor Documentation

cannam@0: cannam@0:
cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@21: cannam@0: cannam@0:
virtual Vamp::PluginBase::~PluginBase (  )  [inline, virtual]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: cannam@21:

Definition at line 67 of file vamp-sdk/PluginBase.h.

cannam@0: cannam@0:
cannam@0:

cannam@0:


Member Function Documentation

cannam@0: cannam@0:
cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@21: cannam@0: cannam@0:
virtual unsigned int Vamp::PluginBase::getVampApiVersion (  )  const [inline, virtual]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@21: Get the Vamp API compatibility level of the plugin. cannam@0:

cannam@0: cannam@0:

Reimplemented in Vamp::PluginHostAdapter, and Vamp::HostExt::PluginWrapper.

cannam@0: cannam@21:

Definition at line 72 of file vamp-sdk/PluginBase.h.

cannam@0: cannam@21:

Referenced by enumeratePlugins().

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@21: cannam@0: cannam@0:
virtual std::string Vamp::PluginBase::getIdentifier (  )  const [pure virtual]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: Get the computer-usable name of the plugin. cannam@0:

cannam@0: This should be reasonably short and contain no whitespace or punctuation characters. It may only contain the characters [a-zA-Z0-9_-]. This is the authoritative way for a program to identify a plugin within a given library.

cannam@0: This text may be visible to the user, but it should not be the main text used to identify a plugin to the user (that will be the name, below).

cannam@0: Example: "zero_crossings" cannam@21:

Implemented in Vamp::PluginHostAdapter, Vamp::HostExt::PluginWrapper, AmplitudeFollower, FixedTempoEstimator, PercussionOnsetDetector, PowerSpectrum, SpectralCentroid, and ZeroCrossing.

cannam@0: cannam@21:

Referenced by enumeratePlugins(), and runPlugin().

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@21: cannam@0: cannam@0:
virtual std::string Vamp::PluginBase::getName (  )  const [pure virtual]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: Get a human-readable name or title of the plugin. cannam@0:

cannam@0: This should be brief and self-contained, as it may be used to identify the plugin to the user in isolation (i.e. without also showing the plugin's "identifier").

cannam@0: Example: "Zero Crossings" cannam@21:

Implemented in Vamp::PluginHostAdapter, Vamp::HostExt::PluginWrapper, AmplitudeFollower, FixedTempoEstimator, PercussionOnsetDetector, PowerSpectrum, SpectralCentroid, and ZeroCrossing.

cannam@0: cannam@21:

Referenced by enumeratePlugins(), and printPluginCategoryList().

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@21: cannam@0: cannam@0:
virtual std::string Vamp::PluginBase::getDescription (  )  const [pure virtual]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: Get a human-readable description for the plugin, typically a line of text that may optionally be displayed in addition to the plugin's "name". cannam@0:

cannam@0: May be empty if the name has said it all already.

cannam@0: Example: "Detect and count zero crossing points" cannam@21:

Implemented in Vamp::PluginHostAdapter, Vamp::HostExt::PluginWrapper, AmplitudeFollower, FixedTempoEstimator, PercussionOnsetDetector, PowerSpectrum, SpectralCentroid, and ZeroCrossing.

cannam@0: cannam@21:

Referenced by enumeratePlugins(), and printPluginCategoryList().

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@21: cannam@0: cannam@0:
virtual std::string Vamp::PluginBase::getMaker (  )  const [pure virtual]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: Get the name of the author or vendor of the plugin in human-readable form. cannam@0:

cannam@0: This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar. cannam@21:

Implemented in Vamp::PluginHostAdapter, Vamp::HostExt::PluginWrapper, AmplitudeFollower, FixedTempoEstimator, PercussionOnsetDetector, PowerSpectrum, SpectralCentroid, and ZeroCrossing.

cannam@0: cannam@21:

Referenced by enumeratePlugins(), and printPluginCategoryList().

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@21: cannam@0: cannam@0:
virtual std::string Vamp::PluginBase::getCopyright (  )  const [pure virtual]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: Get the copyright statement or licensing summary for the plugin. cannam@0:

cannam@0: This can be an informative text, without the same presentation constraints as mentioned for getMaker above. cannam@21:

Implemented in Vamp::PluginHostAdapter, Vamp::HostExt::PluginWrapper, AmplitudeFollower, FixedTempoEstimator, PercussionOnsetDetector, PowerSpectrum, SpectralCentroid, and ZeroCrossing.

cannam@0: cannam@21:

Referenced by enumeratePlugins().

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@21: cannam@0: cannam@0:
virtual int Vamp::PluginBase::getPluginVersion (  )  const [pure virtual]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: Get the version number of the plugin. cannam@0:

cannam@0: cannam@21:

Implemented in Vamp::PluginHostAdapter, Vamp::HostExt::PluginWrapper, AmplitudeFollower, FixedTempoEstimator, PercussionOnsetDetector, PowerSpectrum, SpectralCentroid, and ZeroCrossing.

cannam@0: cannam@21:

Referenced by enumeratePlugins().

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@21: cannam@0: cannam@0:
virtual ParameterList Vamp::PluginBase::getParameterDescriptors (  )  const [inline, virtual]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: Get the controllable parameters of this plugin. cannam@0:

cannam@0: cannam@21:

Reimplemented in Vamp::PluginHostAdapter, Vamp::HostExt::PluginWrapper, AmplitudeFollower, FixedTempoEstimator, and PercussionOnsetDetector.

cannam@0: cannam@21:

Definition at line 208 of file vamp-sdk/PluginBase.h.

cannam@0: cannam@21:

Referenced by enumeratePlugins().

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@21: cannam@0: cannam@0:
virtual float Vamp::PluginBase::getParameter (std::string   )  const [inline, virtual]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: Get the value of a named parameter. cannam@0:

cannam@0: The argument is the identifier field from that parameter's descriptor. cannam@21:

Reimplemented in Vamp::PluginHostAdapter, Vamp::HostExt::PluginWrapper, AmplitudeFollower, FixedTempoEstimator, and PercussionOnsetDetector.

cannam@0: cannam@21:

Definition at line 216 of file vamp-sdk/PluginBase.h.

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@21: cannam@0: cannam@0:
virtual void Vamp::PluginBase::setParameter (std::string ,
float  
) [inline, virtual]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: Set a named parameter. cannam@0:

cannam@0: The first argument is the identifier field from that parameter's descriptor. cannam@21:

Reimplemented in Vamp::HostExt::PluginBufferingAdapter, Vamp::PluginHostAdapter, Vamp::HostExt::PluginWrapper, AmplitudeFollower, FixedTempoEstimator, and PercussionOnsetDetector.

cannam@0: cannam@21:

Definition at line 222 of file vamp-sdk/PluginBase.h.

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@21: cannam@0: cannam@0:
virtual ProgramList Vamp::PluginBase::getPrograms (  )  const [inline, virtual]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: Get the program settings available in this plugin. cannam@0:

cannam@0: A program is a named shorthand for a set of parameter values; changing the program may cause the plugin to alter the values of its published parameters (and/or non-public internal processing parameters). The host should re-read the plugin's parameter values after setting a new program.

cannam@0: The programs must have unique names. cannam@21:

Reimplemented in Vamp::PluginHostAdapter, and Vamp::HostExt::PluginWrapper.

cannam@0: cannam@21:

Definition at line 237 of file vamp-sdk/PluginBase.h.

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@21: cannam@0: cannam@0:
virtual std::string Vamp::PluginBase::getCurrentProgram (  )  const [inline, virtual]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: Get the current program. cannam@0:

cannam@0: cannam@0:

Reimplemented in Vamp::PluginHostAdapter, and Vamp::HostExt::PluginWrapper.

cannam@0: cannam@21:

Definition at line 242 of file vamp-sdk/PluginBase.h.

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@21: cannam@0: cannam@0:
virtual void Vamp::PluginBase::selectProgram (std::string   )  [inline, virtual]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: Select a program. cannam@0:

cannam@0: (If the given program name is not one of the available programs, do nothing.) cannam@21:

Reimplemented in Vamp::HostExt::PluginBufferingAdapter, Vamp::PluginHostAdapter, and Vamp::HostExt::PluginWrapper.

cannam@0: cannam@21:

Definition at line 248 of file vamp-sdk/PluginBase.h.

cannam@0: cannam@0:
cannam@0:

cannam@0: cannam@0:

cannam@0:
cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@0: cannam@21: cannam@0: cannam@0:
virtual std::string Vamp::PluginBase::getType (  )  const [pure virtual]
cannam@0:
cannam@0:
cannam@0: cannam@0:

cannam@0: Get the type of plugin. cannam@0:

cannam@0: This is to be implemented by the immediate subclass, not by actual plugins. Do not attempt to implement this in plugin code. cannam@0:

Implemented in Vamp::Plugin.

cannam@0: cannam@0:
cannam@0:

cannam@0:


The documentation for this class was generated from the following file: cannam@0:
cannam@35:
Generated on Thu Sep 24 13:40:14 2009 for VampPluginSDK by  cannam@0: cannam@35: doxygen 1.5.8
cannam@0: cannam@0: