Chris@0
|
1
|
Chris@0
|
2 #ifndef _VAMP_TEST_PLUGIN_H_
|
Chris@0
|
3 #define _VAMP_TEST_PLUGIN_H_
|
Chris@0
|
4
|
Chris@0
|
5 #include <vamp-sdk/Plugin.h>
|
Chris@0
|
6
|
Chris@0
|
7 using std::string;
|
Chris@0
|
8
|
Chris@0
|
9
|
Chris@0
|
10 class VampTestPlugin : public Vamp::Plugin
|
Chris@0
|
11 {
|
Chris@0
|
12 public:
|
Chris@20
|
13 VampTestPlugin(float inputSampleRate, bool freq);
|
Chris@0
|
14 virtual ~VampTestPlugin();
|
Chris@0
|
15
|
Chris@0
|
16 string getIdentifier() const;
|
Chris@0
|
17 string getName() const;
|
Chris@0
|
18 string getDescription() const;
|
Chris@0
|
19 string getMaker() const;
|
Chris@0
|
20 int getPluginVersion() const;
|
Chris@0
|
21 string getCopyright() const;
|
Chris@0
|
22
|
Chris@0
|
23 InputDomain getInputDomain() const;
|
Chris@0
|
24 size_t getPreferredBlockSize() const;
|
Chris@0
|
25 size_t getPreferredStepSize() const;
|
Chris@0
|
26 size_t getMinChannelCount() const;
|
Chris@0
|
27 size_t getMaxChannelCount() const;
|
Chris@0
|
28
|
Chris@0
|
29 ParameterList getParameterDescriptors() const;
|
Chris@0
|
30 float getParameter(string identifier) const;
|
Chris@0
|
31 void setParameter(string identifier, float value);
|
Chris@0
|
32
|
Chris@0
|
33 ProgramList getPrograms() const;
|
Chris@0
|
34 string getCurrentProgram() const;
|
Chris@0
|
35 void selectProgram(string name);
|
Chris@0
|
36
|
Chris@0
|
37 OutputList getOutputDescriptors() const;
|
Chris@0
|
38
|
Chris@0
|
39 bool initialise(size_t channels, size_t stepSize, size_t blockSize);
|
Chris@0
|
40 void reset();
|
Chris@0
|
41
|
Chris@0
|
42 FeatureSet process(const float *const *inputBuffers,
|
Chris@0
|
43 Vamp::RealTime timestamp);
|
Chris@0
|
44
|
Chris@0
|
45 FeatureSet getRemainingFeatures();
|
Chris@0
|
46
|
Chris@0
|
47 protected:
|
Chris@20
|
48 bool m_frequencyDomain;
|
Chris@17
|
49 bool m_produceOutput;
|
Chris@3
|
50 int m_n;
|
Chris@3
|
51 std::vector<Vamp::RealTime> m_instants;
|
Chris@18
|
52 int m_channels;
|
Chris@3
|
53 int m_stepSize;
|
Chris@3
|
54 int m_blockSize;
|
Chris@3
|
55 Vamp::RealTime m_lastTime;
|
Chris@7
|
56 mutable std::map<std::string, int> m_outputNumbers;
|
Chris@5
|
57
|
Chris@5
|
58 FeatureSet featuresFrom(Vamp::RealTime, bool);
|
Chris@0
|
59 };
|
Chris@0
|
60
|
Chris@0
|
61
|
Chris@0
|
62
|
Chris@0
|
63 #endif
|