VampPluginSDK 2.1

- Main Page
- Namespaces
- Classes
- Files
- Directories

- Class List
- Class Hierarchy
- Class Members

Classes | Public Types | Public Member Functions
Vamp::PluginBase Class Reference

A base class for plugins with optional configurable parameters, programs, etc. More...

`#include <PluginBase.h>`

Inheritance diagram for Vamp::PluginBase:
[legend]

List of all members.

## Classes
struct | ParameterDescriptor
## Public Types
typedef std::vector < 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.

## Detailed Description

A base class for plugins with optional configurable parameters, programs, etc.

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

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.

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

## Member Typedef Documentation

typedef std::vector<ParameterDescriptor> Vamp::PluginBase::ParameterList

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

typedef std::vector<std::string> Vamp::PluginBase::ProgramList

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

## Constructor & Destructor Documentation

virtual Vamp::PluginBase::~PluginBase | ( |  | ) | `[inline, virtual]`

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

## Member Function Documentation

virtual unsigned int Vamp::PluginBase::getVampApiVersion | ( |  | ) | const`[inline, virtual]`

Get the Vamp API compatibility level of the plugin.

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

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

Referenced by enumeratePlugins().

virtual std::string Vamp::PluginBase::getIdentifier | ( |  | ) | const`[pure virtual]`

Get the computer-usable name of the plugin.

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.

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).

Example: "zero_crossings"

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

Referenced by enumeratePlugins(), and runPlugin().

virtual std::string Vamp::PluginBase::getName | ( |  | ) | const`[pure virtual]`

Get a human-readable name or title of the plugin.

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").

Example: "Zero Crossings"

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

Referenced by enumeratePlugins(), and printPluginCategoryList().

virtual std::string Vamp::PluginBase::getDescription | ( |  | ) | const`[pure virtual]`

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".

May be empty if the name has said it all already.

Example: "Detect and count zero crossing points"

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

Referenced by enumeratePlugins(), and printPluginCategoryList().

virtual std::string Vamp::PluginBase::getMaker | ( |  | ) | const`[pure virtual]`

Get the name of the author or vendor of the plugin in human-readable form.

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

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

Referenced by enumeratePlugins(), and printPluginCategoryList().

virtual std::string Vamp::PluginBase::getCopyright | ( |  | ) | const`[pure virtual]`

Get the copyright statement or licensing summary for the plugin.

This can be an informative text, without the same presentation constraints as mentioned for getMaker above.

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

Referenced by enumeratePlugins().

virtual int Vamp::PluginBase::getPluginVersion | ( |  | ) | const`[pure virtual]`

Get the version number of the plugin.

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

Referenced by enumeratePlugins().

virtual ParameterList Vamp::PluginBase::getParameterDescriptors | ( |  | ) | const`[inline, virtual]`

Get the controllable parameters of this plugin.

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

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

Referenced by enumeratePlugins().

virtual float Vamp::PluginBase::getParameter | ( | std::string |  | ) | const`[inline, virtual]`

Get the value of a named parameter.

The argument is the identifier field from that parameter's descriptor.

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

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

virtual void Vamp::PluginBase::setParameter | ( | std::string | ,
|  | float |
| ) |  | `[inline, virtual]`

Set a named parameter.

The first argument is the identifier field from that parameter's descriptor.

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

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

virtual ProgramList Vamp::PluginBase::getPrograms | ( |  | ) | const`[inline, virtual]`

Get the program settings available in this plugin.

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.

The programs must have unique names.

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

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

virtual std::string Vamp::PluginBase::getCurrentProgram | ( |  | ) | const`[inline, virtual]`

Get the current program.

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

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

virtual void Vamp::PluginBase::selectProgram | ( | std::string |  | ) | `[inline, virtual]`

Select a program.

(If the given program name is not one of the available programs, do nothing.)

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

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

virtual std::string Vamp::PluginBase::getType | ( |  | ) | const`[pure virtual]`

Get the type of plugin.

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

Implemented in Vamp::Plugin.

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

- vamp-sdk/PluginBase.h