#include <PluginBase.h>
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 59 of file PluginBase.h.
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. | |
Classes | |
struct | ParameterDescriptor |
typedef std::vector<ParameterDescriptor> Vamp::PluginBase::ParameterList |
Definition at line 195 of file PluginBase.h.
typedef std::vector<std::string> Vamp::PluginBase::ProgramList |
Definition at line 217 of file PluginBase.h.
virtual Vamp::PluginBase::~PluginBase | ( | ) | [inline, virtual] |
Definition at line 62 of file PluginBase.h.
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 67 of file PluginBase.h.
Referenced by enumeratePlugins(), Vamp::PluginAdapterBase::Impl::getDescriptor(), and Vamp::HostExt::PluginWrapper::getVampApiVersion().
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, AmplitudeFollower, PercussionOnsetDetector, SpectralCentroid, and ZeroCrossing.
Referenced by enumeratePlugins(), Vamp::PluginAdapterBase::Impl::getDescriptor(), Vamp::HostExt::PluginWrapper::getIdentifier(), 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, AmplitudeFollower, PercussionOnsetDetector, SpectralCentroid, and ZeroCrossing.
Referenced by enumeratePlugins(), Vamp::PluginAdapterBase::Impl::getDescriptor(), Vamp::HostExt::PluginWrapper::getName(), 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, AmplitudeFollower, PercussionOnsetDetector, SpectralCentroid, and ZeroCrossing.
Referenced by enumeratePlugins(), Vamp::HostExt::PluginWrapper::getDescription(), Vamp::PluginAdapterBase::Impl::getDescriptor(), 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, AmplitudeFollower, PercussionOnsetDetector, SpectralCentroid, and ZeroCrossing.
Referenced by enumeratePlugins(), Vamp::PluginAdapterBase::Impl::getDescriptor(), Vamp::HostExt::PluginWrapper::getMaker(), 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, AmplitudeFollower, PercussionOnsetDetector, SpectralCentroid, and ZeroCrossing.
Referenced by Vamp::HostExt::PluginWrapper::getCopyright(), and Vamp::PluginAdapterBase::Impl::getDescriptor().
virtual int Vamp::PluginBase::getPluginVersion | ( | ) | const [pure virtual] |
Get the version number of the plugin.
Implemented in Vamp::PluginHostAdapter, Vamp::HostExt::PluginWrapper, AmplitudeFollower, PercussionOnsetDetector, SpectralCentroid, and ZeroCrossing.
Referenced by Vamp::PluginAdapterBase::Impl::getDescriptor(), and Vamp::HostExt::PluginWrapper::getPluginVersion().
virtual ParameterList Vamp::PluginBase::getParameterDescriptors | ( | ) | const [inline, virtual] |
Get the controllable parameters of this plugin.
Reimplemented in Vamp::PluginHostAdapter, Vamp::HostExt::PluginWrapper, AmplitudeFollower, and PercussionOnsetDetector.
Definition at line 200 of file PluginBase.h.
Referenced by Vamp::PluginAdapterBase::Impl::getDescriptor(), and Vamp::HostExt::PluginWrapper::getParameterDescriptors().
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, and PercussionOnsetDetector.
Definition at line 208 of file PluginBase.h.
Referenced by Vamp::HostExt::PluginWrapper::getParameter().
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::PluginHostAdapter, Vamp::HostExt::PluginWrapper, AmplitudeFollower, and PercussionOnsetDetector.
Definition at line 214 of file PluginBase.h.
Referenced by Vamp::HostExt::PluginWrapper::setParameter().
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 229 of file PluginBase.h.
Referenced by Vamp::PluginAdapterBase::Impl::getDescriptor(), and Vamp::HostExt::PluginWrapper::getPrograms().
virtual std::string Vamp::PluginBase::getCurrentProgram | ( | ) | const [inline, virtual] |
Get the current program.
Reimplemented in Vamp::PluginHostAdapter, and Vamp::HostExt::PluginWrapper.
Definition at line 234 of file PluginBase.h.
Referenced by Vamp::HostExt::PluginWrapper::getCurrentProgram().
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::PluginHostAdapter, and Vamp::HostExt::PluginWrapper.
Definition at line 240 of file PluginBase.h.
Referenced by Vamp::HostExt::PluginWrapper::selectProgram().
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.