Mercurial > hg > vamp-test-plugin
annotate plugins.cpp @ 26:89e7c9a834d3
Update arch flags
author | Chris Cannam |
---|---|
date | Mon, 15 Jun 2015 17:22:56 +0100 |
parents | cfff2b6ff0fd |
children | bc4841b14d0f |
rev | line source |
---|---|
Chris@0 | 1 |
Chris@0 | 2 |
Chris@0 | 3 #include <vamp/vamp.h> |
Chris@0 | 4 #include <vamp-sdk/PluginAdapter.h> |
Chris@0 | 5 |
Chris@0 | 6 #include "VampTestPlugin.h" |
Chris@0 | 7 |
Chris@20 | 8 class Adapter : public Vamp::PluginAdapterBase |
Chris@20 | 9 { |
Chris@20 | 10 public: |
Chris@20 | 11 Adapter(bool freq) : |
Chris@20 | 12 PluginAdapterBase(), |
Chris@20 | 13 m_freq(freq) { } |
Chris@0 | 14 |
Chris@20 | 15 virtual ~Adapter() { } |
Chris@0 | 16 |
Chris@20 | 17 protected: |
Chris@20 | 18 bool m_freq; |
Chris@20 | 19 |
Chris@20 | 20 Vamp::Plugin *createPlugin(float inputSampleRate) { |
Chris@20 | 21 return new VampTestPlugin(inputSampleRate, m_freq); |
Chris@20 | 22 } |
Chris@20 | 23 }; |
Chris@20 | 24 |
Chris@20 | 25 static Adapter timeAdapter(false); |
Chris@20 | 26 static Adapter freqAdapter(true); |
Chris@0 | 27 |
Chris@0 | 28 const VampPluginDescriptor * |
Chris@0 | 29 vampGetPluginDescriptor(unsigned int version, unsigned int index) |
Chris@0 | 30 { |
Chris@0 | 31 if (version < 1) return 0; |
Chris@0 | 32 |
Chris@0 | 33 // Return a different plugin adaptor's descriptor for each index, |
Chris@0 | 34 // and return 0 for the first index after you run out of plugins. |
Chris@0 | 35 // (That's how the host finds out how many plugins are in this |
Chris@0 | 36 // library.) |
Chris@0 | 37 |
Chris@0 | 38 switch (index) { |
Chris@20 | 39 case 0: return timeAdapter.getDescriptor(); |
Chris@20 | 40 case 1: return freqAdapter.getDescriptor(); |
Chris@0 | 41 default: return 0; |
Chris@0 | 42 } |
Chris@0 | 43 } |
Chris@0 | 44 |
Chris@0 | 45 |