annotate plugins.cpp @ 32:4834aa2b49a6

Add curve-fsr-mixed output to test hosts on fixed-sample-rate features which sometimes omit timestamps
author Chris Cannam
date Wed, 14 Sep 2016 17:13:34 +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