vamp-sdk/PluginBase.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 #ifndef _VAMP_SDK_PLUGIN_BASE_H_
00038 #define _VAMP_SDK_PLUGIN_BASE_H_
00039
00040 #include <string>
00041 #include <vector>
00042
00043 #define VAMP_SDK_VERSION "2.0"
00044 #define VAMP_SDK_MAJOR_VERSION 2
00045 #define VAMP_SDK_MINOR_VERSION 0
00046
00047 #include "plugguard.h"
00048 _VAMP_SDK_PLUGSPACE_BEGIN(PluginBase.h)
00049
00050 namespace Vamp {
00051
00064 class PluginBase
00065 {
00066 public:
00067 virtual ~PluginBase() { }
00068
00072 virtual unsigned int getVampApiVersion() const { return 2; }
00073
00087 virtual std::string getIdentifier() const = 0;
00088
00097 virtual std::string getName() const = 0;
00098
00107 virtual std::string getDescription() const = 0;
00108
00115 virtual std::string getMaker() const = 0;
00116
00122 virtual std::string getCopyright() const = 0;
00123
00127 virtual int getPluginVersion() const = 0;
00128
00129
00130 struct ParameterDescriptor
00131 {
00137 std::string identifier;
00138
00142 std::string name;
00143
00148 std::string description;
00149
00153 std::string unit;
00154
00158 float minValue;
00159
00163 float maxValue;
00164
00171 float defaultValue;
00172
00177 bool isQuantized;
00178
00184 float quantizeStep;
00185
00197 std::vector<std::string> valueNames;
00198
00199 ParameterDescriptor() :
00200 minValue(0), maxValue(0), defaultValue(0), isQuantized(false) { }
00201 };
00202
00203 typedef std::vector<ParameterDescriptor> ParameterList;
00204
00208 virtual ParameterList getParameterDescriptors() const {
00209 return ParameterList();
00210 }
00211
00216 virtual float getParameter(std::string) const { return 0.0; }
00217
00222 virtual void setParameter(std::string, float) { }
00223
00224
00225 typedef std::vector<std::string> ProgramList;
00226
00237 virtual ProgramList getPrograms() const { return ProgramList(); }
00238
00242 virtual std::string getCurrentProgram() const { return ""; }
00243
00248 virtual void selectProgram(std::string) { }
00249
00255 virtual std::string getType() const = 0;
00256 };
00257
00258 }
00259
00260 _VAMP_SDK_PLUGSPACE_END(PluginBase.h)
00261
00262 #endif