From 296e1ecf1d4402166bb0d958980f8bf0faba4f5f Mon Sep 17 00:00:00 2001 From: Tim Redfern Date: Wed, 29 May 2013 13:24:40 +0100 Subject: various --- src/ofxVamphost.h | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 src/ofxVamphost.h (limited to 'src/ofxVamphost.h') diff --git a/src/ofxVamphost.h b/src/ofxVamphost.h new file mode 100644 index 0000000..245b7ff --- /dev/null +++ b/src/ofxVamphost.h @@ -0,0 +1,64 @@ +#ifndef OFXVAMPHOST_H_ +#define OFXVAMPHOST_H_ + +#include +#include +#include + +#include +#include +#include + +using Vamp::Plugin; +using Vamp::PluginHostAdapter; +using Vamp::RealTime; +using Vamp::HostExt::PluginLoader; +using Vamp::HostExt::PluginWrapper; +using Vamp::HostExt::PluginInputDomainAdapter; + +#define HOST_VERSION "1.5" + +class Vamphost{ + //can load any vamp analysis plugin and present its data with a unified interface + public: + Vamphost(); + int init(const std::string &soname,const std::string &id,const int &_channels,const int &_rate,const int &_outputNo=0,const std::string &_output=""); + int init(int whichplugin,const int &_channels,const int &_rate,const int &_outputNo=0,const std::string &_output=""); + int init(const int &_channels,const int &_rate,const int &_outputNo=0,const std::string &_output=""); + int init(int whichplugin); + int init(); + void process_frame(float *data,int samples_in_frame); + void cleanup(); + + std::map features; + //map + //this is the best way to store features: because map allows to search for the key below and above the present time + int getRT(); + + float avg; + int num; + int numFeat; + + PluginLoader::PluginKey key; + PluginLoader::PluginKeyList list; + + private: + + PluginLoader *loader; + Plugin *plugin; + RealTime rt; + int channels,bits,samples,rate; + int bytes,stride; + float scale; + int blockSize,stepSize,overlapSize,finalStepsRemaining,currentStep,outputNo; + int in_block,blocks_processed; + std::string output; + float **plugbuf; + + int featureNo; + + +}; + +#endif + -- cgit v1.2.3