PluginHostAdapter.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_PLUGIN_HOST_ADAPTER_H_
00038 #define _VAMP_PLUGIN_HOST_ADAPTER_H_
00039
00040 #include "hostguard.h"
00041 #include "Plugin.h"
00042
00043 #include <vamp/vamp.h>
00044
00045 #include <vector>
00046
00047 _VAMP_SDK_HOSTSPACE_BEGIN(PluginHostAdapter.h)
00048
00049 namespace Vamp {
00050
00068 class PluginHostAdapter : public Plugin
00069 {
00070 public:
00071 PluginHostAdapter(const VampPluginDescriptor *descriptor,
00072 float inputSampleRate);
00073 virtual ~PluginHostAdapter();
00074
00075 static std::vector<std::string> getPluginPath();
00076
00077 bool initialise(size_t channels, size_t stepSize, size_t blockSize);
00078 void reset();
00079
00080 InputDomain getInputDomain() const;
00081
00082 unsigned int getVampApiVersion() const;
00083 std::string getIdentifier() const;
00084 std::string getName() const;
00085 std::string getDescription() const;
00086 std::string getMaker() const;
00087 int getPluginVersion() const;
00088 std::string getCopyright() const;
00089
00090 ParameterList getParameterDescriptors() const;
00091 float getParameter(std::string) const;
00092 void setParameter(std::string, float);
00093
00094 ProgramList getPrograms() const;
00095 std::string getCurrentProgram() const;
00096 void selectProgram(std::string);
00097
00098 size_t getPreferredStepSize() const;
00099 size_t getPreferredBlockSize() const;
00100
00101 size_t getMinChannelCount() const;
00102 size_t getMaxChannelCount() const;
00103
00104 OutputList getOutputDescriptors() const;
00105
00106 FeatureSet process(const float *const *inputBuffers, RealTime timestamp);
00107
00108 FeatureSet getRemainingFeatures();
00109
00110 protected:
00111 void convertFeatures(VampFeatureList *, FeatureSet &);
00112
00113 const VampPluginDescriptor *m_descriptor;
00114 VampPluginHandle m_handle;
00115 };
00116
00117 }
00118
00119 _VAMP_SDK_HOSTSPACE_END(PluginHostAdapter.h)
00120
00121 #endif
00122
00123