37#ifndef _VAMP_SDK_PLUGIN_BASE_H_
38#define _VAMP_SDK_PLUGIN_BASE_H_
A base class for plugins with optional configurable parameters, programs, etc.
virtual ParameterList getParameterDescriptors() const
Get the controllable parameters of this plugin.
virtual std::string getName() const =0
Get a human-readable name or title of the plugin.
virtual std::string getType() const =0
Get the type of plugin.
std::vector< ParameterDescriptor > ParameterList
virtual std::string getMaker() const =0
Get the name of the author or vendor of the plugin in human-readable form.
virtual std::string getDescription() const =0
Get a human-readable description for the plugin, typically a line of text that may optionally be disp...
virtual int getPluginVersion() const =0
Get the version number of the plugin.
virtual void setParameter(std::string, float)
Set a named parameter.
std::vector< std::string > ProgramList
virtual float getParameter(std::string) const
Get the value of a named parameter.
virtual std::string getCurrentProgram() const
Get the current program.
virtual void selectProgram(std::string)
Select a program.
virtual ProgramList getPrograms() const
Get the program settings available in this plugin.
virtual unsigned int getVampApiVersion() const
Get the Vamp API compatibility level of the plugin.
virtual std::string getCopyright() const =0
Get the copyright statement or licensing summary for the plugin.
virtual std::string getIdentifier() const =0
Get the computer-usable name of the plugin.
#define _VAMP_SDK_PLUGSPACE_BEGIN(h)
#define _VAMP_SDK_PLUGSPACE_END(h)
float quantizeStep
Quantization resolution of the parameter values (e.g.
std::string name
The human-readable name of the parameter.
std::string identifier
The name of the parameter, in computer-usable form.
std::string unit
The unit of the parameter, in human-readable form.
std::string description
A human-readable short text describing the parameter.
bool isQuantized
True if the parameter values are quantized to a particular resolution.
std::vector< std::string > valueNames
Names for the quantized values.
float minValue
The minimum value of the parameter.
float maxValue
The maximum value of the parameter.
float defaultValue
The default value of the parameter.